{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/shared/input/Checkbox.vue?d120","webpack:///./src/views/support-admin/Mailviewer.vue?f04f","webpack:///./src/components/shared/ui/ToolbarMenu.vue?3a55","webpack:///./src/components/web/loads/client/accordion/AccordionRankings.vue?7df4","webpack:///./src/components/shared/ui/ReadOnlyDate.vue?2eec","webpack:///./src/components/mobile/slots/MobileSlotBookingNotAvailable.vue?9b11","webpack:///./src/components/web/loads/client/accordion/AccordionLoadHistory.vue?d3e2","webpack:///./src/components/web/loads/client/accordion/AccordionSpotTender.vue?bead","webpack:///./src/components/shared/ui/SkeletonLoader.vue?2e67","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue?393b","webpack:///./src/components/web/messages/MessagesTable.vue?26f8","webpack:///./src/components/shared/input/DocumentDropdown.vue?1a99","webpack:///./src/components/mobile/MobileLoadListTabs.vue?4ecc","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue?4493","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderReview.vue?a58c","webpack:///./src/views/shared/Dashboard.vue?9f76","webpack:///./src/components/shared/ui/NewsSheet.vue?cdba","webpack:///./src/components/web/agreements/client/RankingDialog.vue?700c","webpack:///./src/App.vue?58c4","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue?ef20","webpack:///./src/views/support-admin/QualityPointsVis.vue?cdb6","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue?0b8e","webpack:///./src/components/shared/input/TextWithAutocomplete.vue?a414","webpack:///./src/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue?ff35","webpack:///./src/assets/img/triona-lines.png","webpack:///./src/components/shared/ui/ReadOnlyText.vue?3e07","webpack:///./src/components/shared/input/TextMulti.vue?7ecf","webpack:///./src/components/shared/input/SwitchDouble.vue?7f6e","webpack:///./src/components/shared/input/DocumentInput.vue?82b8","webpack:///./src/assets/img/nb-NO.svg","webpack:///./src/views/support-admin/InvoiceGenerator.vue?da13","webpack:///./src/assets/img/sv-SE.svg","webpack:///./src/components/shared/ui/Confirmation.vue?2917","webpack:///./src/assets/img/en-US.svg","webpack:///./src/components/web/agreements/client/RankingDialogActions.vue?ff99","webpack:///./src/components/web/agreements/client/CreateProcurementReview.vue?82d8","webpack:///./src/components/mobile/MobileLoadListTable.vue?f174","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoads.vue?303e","webpack:///./src/components/shared/table/CustomFilter.vue?0087","webpack:///./src/components/shared/input/PublishSpeedSlider.vue?422e","webpack:///./src/components/web/index/IndexAccordion.vue?9335","webpack:///./src/components/web/loads/shared/search/LoadRelatedTable.vue?3125","webpack:///./src/views/unauthenticated/InternetExplorerNotSupported.vue?0205","webpack:///./src/components/shared/ui/DialogCard.vue?ccb4","webpack:///./src/components/web/agreements/client/CreateAgreementRouteDialog.vue?071e","webpack:///./src/components/web/loads/shared/search/LoadSearchInput.vue?ae7a","webpack:///./src/assets/sound/countdown.mp3","webpack:///./src/components/shared/ui/Emission.vue?0b11","webpack:///./src/assets/img/fair-transport-logo.png","webpack:///./src/components/web/agreements/client/ProcurementTable.vue?dd09","webpack:///./src/components/shared/input/TextSingle.vue?65b0","webpack:///./src/components/support-admin/BackgroundTasksTable.vue?e4e6","webpack:///./src/components/web/agreements/supplier/ProcurementTablePriceInputs.vue?c238","webpack:///./src/components/shared/table/CustomTableHeader.vue?fb94","webpack:///./src/components/web/loads/shared/details/LoadRelatedTableCompact.vue?ee51","webpack:///./src/components/web/loads/supplier/LoadEditContainersDialog.vue?7369","webpack:///./src/components/web/slots/SlotDots.vue?a8da","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTable.vue?fc40","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue?11bd","webpack:///./src/assets/img/fi-FI.svg","webpack:///./src/components/mobile/MobileToolbarMenu.vue?4d1b","webpack:///./src/components/web/loads/shared/list/LoadDots.vue?637c","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue?70c8","webpack:///./src/components/shared/input/SwitchSingle.vue?3ba4","webpack:///./src/components/shared/input/TextSaved.vue?34a9","webpack:///./src/components/shared/input/UnitAutocomplete.vue?1227","webpack:///./src/views/client/SurveyOverview.vue?8555","webpack:///./src/views/support-admin/EditNews.vue?5bb7","webpack:///./src/components/shared/input/Dropdown.vue?696b","webpack:///./src/components/shared/input/DatePicker.vue?4fbd","webpack:///./src/components/shared/ui/SearchCard.vue?cc1a","webpack:///./src/components/web/loads/client/accordion/AccordionContainers.vue?6536","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue?1f00","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue?4271","webpack:///./src/components/shared/input/TimePickerDuration.vue?631d","webpack:///./src/components/web/agreements/client/ProcurementActions.vue?cbb0","webpack:///./src/components/web/agreements/client/SupplierSelectTable.vue?9f40","webpack:///./src/components/shared/ui/GreyTitle.vue?5107","webpack:///./src/components/shared/input/TimePickerDialog.vue?9331","webpack:///./src/components/web/slots/SlotCalendarDay.vue?8c86","webpack:///./src/components/mobile/slots/MobileSlotBookingCalendar.vue?492e","webpack:///./src/components/shared/input/Autocomplete.vue?3fa4","webpack:///./src/components/web/documents/DocumentDropZone.vue?9a9b","webpack:///./src/views/support-admin/ButWhy.vue?8d98","webpack:///./src/components/web/agreements/supplier/ProcurementTable.vue?db63","webpack:///./src/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue?f681","webpack:///./src/components/web/messages/MessageRecipientDialog.vue?6331","webpack:///./src/components/web/agreements/client/RankingDialogCard.vue?dc21","webpack:///./src/components/web/settings/ExcludedActorsCard.vue?e3c9","webpack:///./src/components/web/loads/shared/list/LoadListTabsEdit.vue?9ca7","webpack:///./src/components/shared/ui/Spinner.vue?8082","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue?852a","webpack:///./src/components/shared/input/DropdownMulti.vue?3083","webpack:///./src/components/shared/ui/Snackbars.vue?c417","webpack:///./src/views/mobile/MobileSlots.vue?57ab","webpack:///./src/views/supplier/Documents.vue?7061","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue?4445","webpack:///./src/components/shared/ui/InfoMenu.vue?6148","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationReadOnly.vue?e1f8","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue?9657","webpack:///./src/components/web/slots/SlotCalendar.vue?56b8","webpack:///./src/App.vue?6744","webpack:///./src/scripts/cld.api.ts","webpack:///./src/scripts/misc/neverHappens.ts","webpack:///./src/scripts/misc/zoneNames.ts","webpack:///./src/scripts/language/i18n.ts","webpack:///./src/scripts/misc/enumNames.ts","webpack:///./src/scripts/misc/cdate.ts","webpack:///./src/scripts/types.ts","webpack:///./src/scripts/config/config.ts","webpack:///./src/scripts/auth.ts","webpack:///./src/scripts/store/constants.ts","webpack:///./src/scripts/store/authModule.ts","webpack:///./src/scripts/store/feedbackModule.ts","webpack:///./src/scripts/store/loadModule.ts","webpack:///./src/scripts/store/createUserConf.ts","webpack:///./src/scripts/store/userConfModule.ts","webpack:///./src/scripts/store/createActorConf.ts","webpack:///./src/scripts/store/actorConfModule.ts","webpack:///./src/scripts/misc/apiErrors.ts","webpack:///./src/scripts/store/store.ts","webpack:///./src/scripts/misc/enumLists.ts","webpack:///./src/scripts/misc/menuLayout.ts","webpack:///./src/scripts/misc/popupDialogs.ts","webpack:///./src/components/shared/ui/Toolbar.vue?6ccb","webpack:///./src/components/shared/ui/ToolbarMenu.vue?9a37","webpack:///./src/components/shared/ui/Language.vue?3724","webpack:///./src/components/shared/ui/Language.vue","webpack:///./src/components/shared/ui/Language.vue?6525","webpack:///./src/components/shared/ui/Language.vue?c4dd","webpack:///./src/components/shared/ui/ActiveUsersNow.vue?ada8","webpack:///./src/components/shared/ui/ActiveUsersNow.vue","webpack:///./src/components/shared/ui/ActiveUsersNow.vue?03f6","webpack:///./src/components/shared/ui/ActiveUsersNow.vue?1271","webpack:///./src/components/shared/ui/ToolbarMenu.vue","webpack:///./src/components/shared/ui/ToolbarMenu.vue?72de","webpack:///./src/components/shared/ui/ToolbarMenu.vue?8bd5","webpack:///./src/components/mobile/MobileToolbarMenu.vue?ce27","webpack:///./src/components/mobile/MobileToolbarMenu.vue","webpack:///./src/components/mobile/MobileToolbarMenu.vue?81cd","webpack:///./src/components/mobile/MobileToolbarMenu.vue?55a0","webpack:///./src/scripts/misc/stringUtils.ts","webpack:///./src/components/shared/ui/Toolbar.vue","webpack:///./src/components/shared/ui/Toolbar.vue?37e7","webpack:///./src/components/shared/ui/Toolbar.vue?6828","webpack:///./src/components/shared/ui/ContentContainer.vue?9216","webpack:///./src/components/shared/ui/ContentContainer.vue","webpack:///./src/components/shared/ui/ContentContainer.vue?b9d3","webpack:///./src/components/shared/ui/ContentContainer.vue?9ee4","webpack:///./src/components/shared/ui/Spinner.vue?939b","webpack:///./src/components/shared/ui/Spinner.vue","webpack:///./src/components/shared/ui/Spinner.vue?32b0","webpack:///./src/components/shared/ui/Spinner.vue?5e44","webpack:///./src/components/shared/ui/Forbidden.vue?77e0","webpack:///./src/components/shared/ui/Forbidden.vue","webpack:///./src/components/shared/ui/Forbidden.vue?2e6a","webpack:///./src/components/shared/ui/Forbidden.vue?8e50","webpack:///./src/components/shared/ui/Confirmation.vue?a6b6","webpack:///./src/components/shared/ui/DialogCard.vue?a7cd","webpack:///./src/components/shared/ui/DialogCard.vue","webpack:///./src/components/shared/ui/DialogCard.vue?d207","webpack:///./src/components/shared/ui/DialogCard.vue?b526","webpack:///./src/components/shared/ui/Confirmation.vue","webpack:///./src/components/shared/ui/Confirmation.vue?8904","webpack:///./src/components/shared/ui/Confirmation.vue?a949","webpack:///./src/components/shared/ui/Snackbars.vue?f99f","webpack:///./src/components/shared/ui/Snackbars.vue","webpack:///./src/components/shared/ui/Snackbars.vue?bca1","webpack:///./src/components/shared/ui/Snackbars.vue?22bb","webpack:///./src/components/shared/ui/Alert.vue?db6d","webpack:///./src/components/shared/ui/Alert.vue","webpack:///./src/components/shared/ui/Alert.vue?8b0e","webpack:///./src/components/shared/ui/Alert.vue?48a3","webpack:///./src/components/mobile/MobileFooter.vue?37f3","webpack:///./src/components/mobile/MobileFooter.vue","webpack:///./src/components/mobile/MobileFooter.vue?fde6","webpack:///./src/components/mobile/MobileFooter.vue?73b8","webpack:///./src/components/shared/ui/Sound.vue?23da","webpack:///./src/components/shared/ui/Sound.vue","webpack:///./src/components/shared/ui/Sound.vue?dd99","webpack:///./src/components/shared/ui/Sound.vue?a04b","webpack:///./src/App.vue","webpack:///./src/App.vue?198c","webpack:///./src/App.vue?bb6c","webpack:///./src/views/unauthenticated/PageNotFound.vue?f093","webpack:///./src/views/unauthenticated/PageNotFound.vue","webpack:///./src/views/unauthenticated/PageNotFound.vue?49ae","webpack:///./src/views/unauthenticated/PageNotFound.vue?53c0","webpack:///./src/views/unauthenticated/ErrorPage.vue?8751","webpack:///./src/views/unauthenticated/ErrorPage.vue","webpack:///./src/views/unauthenticated/ErrorPage.vue?a160","webpack:///./src/views/unauthenticated/ErrorPage.vue?0c39","webpack:///./src/views/unauthenticated/InternetExplorerNotSupported.vue?6371","webpack:///./src/components/shared/ui/SearchCard.vue?c010","webpack:///./src/components/shared/ui/SearchCard.vue","webpack:///./src/components/shared/ui/SearchCard.vue?5baa","webpack:///./src/components/shared/ui/SearchCard.vue?9714","webpack:///./src/views/unauthenticated/InternetExplorerNotSupported.vue","webpack:///./src/views/unauthenticated/InternetExplorerNotSupported.vue?255c","webpack:///./src/views/unauthenticated/InternetExplorerNotSupported.vue?4a52","webpack:///./src/views/unauthenticated/IntegrationUser.vue?1d5f","webpack:///./src/views/unauthenticated/IntegrationUser.vue","webpack:///./src/views/unauthenticated/IntegrationUser.vue?eac7","webpack:///./src/views/unauthenticated/IntegrationUser.vue?1482","webpack:///./src/views/unauthenticated/MobileDeliver.vue?2982","webpack:///./src/components/shared/input/TextSingle.vue?5291","webpack:///./src/scripts/misc/nextUnique.ts","webpack:///./src/components/shared/input/TextSingle.vue","webpack:///./src/components/shared/input/TextSingle.vue?b312","webpack:///./src/components/shared/input/TextSingle.vue?7043","webpack:///./src/scripts/misc/notifications.ts","webpack:///./src/views/unauthenticated/MobileDeliver.vue","webpack:///./src/views/unauthenticated/MobileDeliver.vue?8c96","webpack:///./src/views/unauthenticated/MobileDeliver.vue?1fe1","webpack:///./src/views/unauthenticated/AnonymousMobileDashboard.vue?9ec4","webpack:///./src/components/shared/ui/ReadOnlyText.vue?e170","webpack:///./src/components/shared/ui/ReadOnlyText.vue","webpack:///./src/components/shared/ui/ReadOnlyText.vue?b016","webpack:///./src/components/shared/ui/ReadOnlyText.vue?4ca9","webpack:///./src/views/unauthenticated/AnonymousMobileDashboard.vue","webpack:///./src/views/unauthenticated/AnonymousMobileDashboard.vue?1695","webpack:///./src/views/unauthenticated/AnonymousMobileDashboard.vue?2a58","webpack:///./src/views/shared/Dashboard.vue?897c","webpack:///./src/components/web/dashboard/DashboardLoads.vue?467b","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue?e9e0","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue?754f","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue?8bfd","webpack:///./src/components/web/dashboard/DashboardLoadsExtraInfo.vue?d180","webpack:///./src/components/web/dashboard/DashboardLoadsExtraInfo.vue","webpack:///./src/components/web/dashboard/DashboardLoadsExtraInfo.vue?5f4e","webpack:///./src/components/web/dashboard/DashboardLoadsExtraInfo.vue?7cba","webpack:///./src/components/shared/ui/GreyTitle.vue?c202","webpack:///./src/components/shared/ui/GreyTitle.vue","webpack:///./src/components/shared/ui/GreyTitle.vue?e9fe","webpack:///./src/components/shared/ui/GreyTitle.vue?1777","webpack:///./src/components/shared/ui/SkeletonLoader.vue?d7a7","webpack:///./src/components/shared/ui/SkeletonLoader.vue","webpack:///./src/components/shared/ui/SkeletonLoader.vue?b479","webpack:///./src/components/shared/ui/SkeletonLoader.vue?27ce","webpack:///./src/components/web/dashboard/DashboardLoads.vue","webpack:///./src/components/web/dashboard/DashboardLoads.vue?b212","webpack:///./src/components/web/dashboard/DashboardLoads.vue?b9e1","webpack:///./src/components/web/dashboard/DashboardContainers.vue?3d77","webpack:///./src/components/web/dashboard/DashboardContainers.vue","webpack:///./src/components/web/dashboard/DashboardContainers.vue?78cb","webpack:///./src/components/web/dashboard/DashboardContainers.vue?0685","webpack:///./src/components/web/dashboard/DashboardRelatedLoads.vue?323d","webpack:///./src/components/web/dashboard/DashboardRelatedLoads.vue","webpack:///./src/components/web/dashboard/DashboardRelatedLoads.vue?0f55","webpack:///./src/components/web/dashboard/DashboardRelatedLoads.vue?02ea","webpack:///./src/components/web/dashboard/DashboardProcurements.vue?d18d","webpack:///./src/components/web/dashboard/DashboardProcurementsBox.vue?5151","webpack:///./src/components/web/dashboard/DashboardProcurementsBox.vue","webpack:///./src/components/web/dashboard/DashboardProcurementsBox.vue?3e5e","webpack:///./src/components/web/dashboard/DashboardProcurementsBox.vue?1135","webpack:///./src/components/web/dashboard/DashboardProcurements.vue","webpack:///./src/components/web/dashboard/DashboardProcurements.vue?6d83","webpack:///./src/components/web/dashboard/DashboardProcurements.vue?ec0d","webpack:///./src/components/web/dashboard/DashboardSpotTenders.vue?38a5","webpack:///./src/components/web/dashboard/DashboardSpotTenders.vue","webpack:///./src/components/web/dashboard/DashboardSpotTenders.vue?1789","webpack:///./src/components/web/dashboard/DashboardSpotTenders.vue?3d34","webpack:///./src/components/web/dashboard/DashboardNews.vue?d44d","webpack:///./src/components/web/dashboard/DashboardNewsBox.vue?4538","webpack:///./src/components/web/dashboard/DashboardNewsBox.vue","webpack:///./src/components/web/dashboard/DashboardNewsBox.vue?1dfd","webpack:///./src/components/web/dashboard/DashboardNewsBox.vue?88a5","webpack:///./src/components/web/dashboard/DashboardNews.vue","webpack:///./src/components/web/dashboard/DashboardNews.vue?b0b5","webpack:///./src/components/web/dashboard/DashboardNews.vue?fbad","webpack:///./src/views/shared/Dashboard.vue","webpack:///./src/views/shared/Dashboard.vue?0f2b","webpack:///./src/views/shared/Dashboard.vue?73fa","webpack:///./src/views/shared/UserMutation.vue?d53c","webpack:///./src/components/shared/input/Autocomplete.vue?6125","webpack:///./src/components/shared/input/Autocomplete.vue","webpack:///./src/components/shared/input/Autocomplete.vue?b1c4","webpack:///./src/components/shared/input/Autocomplete.vue?2158","webpack:///./src/components/shared/input/Dropdown.vue?9738","webpack:///./src/components/shared/input/Dropdown.vue","webpack:///./src/components/shared/input/Dropdown.vue?9fa1","webpack:///./src/components/shared/input/Dropdown.vue?79d3","webpack:///./src/views/shared/UserMutation.vue","webpack:///./src/views/shared/UserMutation.vue?e470","webpack:///./src/views/shared/UserMutation.vue?ca8b","webpack:///./src/views/shared/Loads.vue?c6ce","webpack:///./src/scripts/misc/scrollTableToTop.ts","webpack:///./src/components/web/loads/shared/list/LoadListTabs.vue?5cdd","webpack:///./src/components/shared/input/MenuButton.vue?6aa3","webpack:///./src/components/shared/input/MenuButton.vue","webpack:///./src/components/shared/input/MenuButton.vue?da46","webpack:///./src/components/shared/input/MenuButton.vue?3227","webpack:///./src/components/web/loads/shared/list/LoadListSearch.vue?7c51","webpack:///./src/components/web/loads/shared/list/LoadListSearch.vue","webpack:///./src/components/web/loads/shared/list/LoadListSearch.vue?3313","webpack:///./src/components/web/loads/shared/list/LoadListSearch.vue?2102","webpack:///./src/components/web/loads/shared/list/LoadListTabs.vue","webpack:///./src/components/web/loads/shared/list/LoadListTabs.vue?2561","webpack:///./src/components/web/loads/shared/list/LoadListTabs.vue?fb49","webpack:///./src/components/web/loads/shared/list/LoadListTable.vue?076d","webpack:///./src/scripts/misc/loadListHeaders.ts","webpack:///./src/components/shared/table/CustomTableHeader.vue?43a5","webpack:///./src/components/shared/table/CustomTableHeader.vue","webpack:///./src/components/shared/table/CustomTableHeader.vue?8538","webpack:///./src/components/shared/table/CustomTableHeader.vue?29cf","webpack:///./src/components/shared/table/CustomFilter.vue?525b","webpack:///./src/scripts/misc/translatedDropdown.ts","webpack:///./src/scripts/misc/cached.ts","webpack:///./src/scripts/misc/ifNotTabbing.ts","webpack:///./src/components/shared/input/LocationFilter.vue?f6b9","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue?1dbd","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue?7d87","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue?bc00","webpack:///./src/components/shared/input/LocationFilter.vue","webpack:///./src/components/shared/input/LocationFilter.vue?e159","webpack:///./src/components/shared/input/LocationFilter.vue?6a4c","webpack:///./src/components/shared/input/DropdownMulti.vue?42f9","webpack:///./src/components/shared/input/DropdownMulti.vue","webpack:///./src/components/shared/table/CustomFilter.vue","webpack:///./src/components/shared/input/DropdownMulti.vue?5f8a","webpack:///./src/components/shared/input/DropdownMulti.vue?5816","webpack:///./src/components/shared/table/CustomFilter.vue?c37d","webpack:///./src/components/shared/table/CustomFilter.vue?f1a5","webpack:///./src/components/shared/table/EllipsisTableItem.vue?cd8c","webpack:///./src/components/shared/table/EllipsisTableItem.vue","webpack:///./src/components/shared/table/EllipsisTableItem.vue?bd15","webpack:///./src/components/shared/table/EllipsisTableItem.vue?581d","webpack:///./src/components/web/loads/shared/list/LoadDots.vue?b588","webpack:///./src/scripts/misc/filePrompts.ts","webpack:///./src/components/web/loads/shared/list/LoadDots.vue","webpack:///./src/components/web/loads/shared/list/LoadDots.vue?aa7a","webpack:///./src/components/web/loads/shared/list/LoadDots.vue?c1af","webpack:///./src/components/web/loads/shared/list/LoadInfoIcons.vue?72c3","webpack:///./src/components/shared/input/CheckboxTiny.vue?3ba4","webpack:///./src/components/shared/input/CheckboxTiny.vue","webpack:///./src/components/shared/input/CheckboxTiny.vue?860f","webpack:///./src/components/shared/input/CheckboxTiny.vue?a71e","webpack:///./src/components/web/loads/shared/list/LoadInfoIcons.vue","webpack:///./src/components/web/loads/shared/list/LoadInfoIcons.vue?7ad7","webpack:///./src/components/web/loads/shared/list/LoadInfoIcons.vue?d387","webpack:///./src/components/shared/ui/DateDisplay.vue?e260","webpack:///./src/components/shared/ui/DateDisplay.vue","webpack:///./src/components/shared/ui/DateDisplay.vue?04a9","webpack:///./src/components/shared/ui/DateDisplay.vue?ed59","webpack:///./src/components/web/loads/shared/list/LoadListTable.vue","webpack:///./src/components/web/loads/shared/list/LoadListTable.vue?7638","webpack:///./src/components/web/loads/shared/list/LoadListTable.vue?eb36","webpack:///./src/components/web/loads/shared/list/LoadListTabsEdit.vue?57c8","webpack:///./src/components/web/loads/shared/list/LoadListTabsEdit.vue","webpack:///./src/components/web/loads/shared/list/LoadListTabsEdit.vue?02ac","webpack:///./src/components/web/loads/shared/list/LoadListTabsEdit.vue?ad79","webpack:///./src/components/web/loads/shared/LoadDialogs.vue?6e52","webpack:///./src/components/web/loads/shared/details/LoadDetailsDialog.vue?a28d","webpack:///./src/components/web/loads/shared/LoadLock.vue?7609","webpack:///./src/components/web/loads/shared/LoadLock.vue","webpack:///./src/components/web/loads/shared/LoadLock.vue?b448","webpack:///./src/components/web/loads/shared/LoadLock.vue?ca80","webpack:///./src/components/web/loads/shared/details/LoadDialogBaseValues.vue?3373","webpack:///./src/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue?64b6","webpack:///./src/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue","webpack:///./src/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue?2bad","webpack:///./src/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue?f6f5","webpack:///./src/components/web/loads/shared/details/LoadDialogBaseValues.vue","webpack:///./src/components/web/loads/shared/details/LoadDialogBaseValues.vue?61e7","webpack:///./src/components/web/loads/shared/details/LoadDialogBaseValues.vue?2280","webpack:///./src/components/web/loads/shared/details/LoadDialogDates.vue?283b","webpack:///./src/components/shared/ui/ReadOnlyDate.vue?666d","webpack:///./src/components/shared/ui/ReadOnlyDate.vue","webpack:///./src/components/shared/ui/ReadOnlyDate.vue?a2bf","webpack:///./src/components/shared/ui/ReadOnlyDate.vue?e774","webpack:///./src/components/shared/input/Checkbox.vue?75c0","webpack:///./src/components/shared/input/Checkbox.vue","webpack:///./src/components/shared/input/Checkbox.vue?6cf6","webpack:///./src/components/shared/input/Checkbox.vue?756f","webpack:///./src/components/web/loads/shared/details/LoadDialogDates.vue","webpack:///./src/components/web/loads/shared/details/LoadDialogDates.vue?15c8","webpack:///./src/components/web/loads/shared/details/LoadDialogDates.vue?3fb3","webpack:///./src/components/web/loads/shared/details/LoadDialogEventDates.vue?7356","webpack:///./src/components/web/loads/shared/details/LoadDialogEventDates.vue","webpack:///./src/components/web/loads/shared/details/LoadDialogEventDates.vue?5acf","webpack:///./src/components/web/loads/shared/details/LoadDialogEventDates.vue?7ac1","webpack:///./src/components/web/loads/shared/details/LoadDialogShippingInfo.vue?1194","webpack:///./src/components/shared/ui/InfoTooltip.vue?417e","webpack:///./src/components/shared/ui/InfoTooltip.vue","webpack:///./src/components/shared/ui/InfoTooltip.vue?4a91","webpack:///./src/components/shared/ui/InfoTooltip.vue?78e6","webpack:///./src/components/web/actor/ActorDialog.vue?779d","webpack:///./src/components/web/actor/ActorDialogTabs.vue?8ad5","webpack:///./src/components/shared/input/TextMulti.vue?97f8","webpack:///./src/components/shared/input/TextMulti.vue","webpack:///./src/components/shared/input/TextMulti.vue?1dc1","webpack:///./src/components/shared/input/TextMulti.vue?8fd5","webpack:///./src/components/web/actor/ActorDialogTabs.vue","webpack:///./src/components/web/actor/ActorDialogTabs.vue?1338","webpack:///./src/components/web/actor/ActorDialogTabs.vue?73a4","webpack:///./src/components/web/actor/ActorDialog.vue","webpack:///./src/components/web/actor/ActorDialog.vue?16c5","webpack:///./src/components/web/actor/ActorDialog.vue?2676","webpack:///./src/components/web/loads/shared/details/LoadDialogShippingInfo.vue","webpack:///./src/components/web/loads/shared/details/LoadDialogShippingInfo.vue?6630","webpack:///./src/components/web/loads/shared/details/LoadDialogShippingInfo.vue?4e30","webpack:///./src/components/web/loads/client/accordion/Accordion.vue?661d","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue?a97d","webpack:///./src/scripts/misc/money.ts","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue?babe","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue?6653","webpack:///./src/components/web/loads/client/accordion/AccordionRankings.vue?d6d2","webpack:///./src/components/web/loads/client/accordion/AccordionRankings.vue","webpack:///./src/components/web/loads/client/accordion/AccordionRankings.vue?b161","webpack:///./src/components/web/loads/client/accordion/AccordionRankings.vue?f7c1","webpack:///./src/components/web/loads/client/accordion/AccordionContent.vue?5f00","webpack:///./src/components/shared/input/TextSaved.vue?8c9f","webpack:///./src/components/shared/input/TextSaved.vue","webpack:///./src/components/shared/input/TextSaved.vue?4053","webpack:///./src/components/shared/input/TextSaved.vue?fa5d","webpack:///./src/components/shared/input/NumberInput.vue?6358","webpack:///./src/components/shared/input/NumberInput.vue","webpack:///./src/components/shared/input/NumberInput.vue?720e","webpack:///./src/components/shared/input/NumberInput.vue?803f","webpack:///./src/components/web/loads/client/accordion/AccordionContent.vue","webpack:///./src/components/web/loads/client/accordion/AccordionContent.vue?1550","webpack:///./src/components/web/loads/client/accordion/AccordionContent.vue?8440","webpack:///./src/components/web/loads/client/accordion/AccordionSupplierBookingInfo.vue?0213","webpack:///./src/components/shared/input/DatePicker.vue?5250","webpack:///./src/components/shared/input/TimePickerDialog.vue?12cc","webpack:///./src/components/shared/input/TimePickerDialog.vue","webpack:///./src/components/shared/input/TimePickerDialog.vue?9eb3","webpack:///./src/components/shared/input/TimePickerDialog.vue?1681","webpack:///./src/components/shared/input/DatePicker.vue","webpack:///./src/components/shared/input/DatePicker.vue?5de0","webpack:///./src/components/shared/input/DatePicker.vue?d18b","webpack:///./src/components/web/loads/client/accordion/AccordionSupplierBookingInfo.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSupplierBookingInfo.vue?8c03","webpack:///./src/components/web/loads/client/accordion/AccordionSupplierBookingInfo.vue?e0ce","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocations.vue?4f94","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsDialog.vue?6b43","webpack:///./src/scripts/misc/objectsEqual.ts","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue?1541","webpack:///./src/components/shared/input/AddressCombobox.vue?9e6a","webpack:///./src/components/shared/input/AddressCombobox.vue","webpack:///./src/components/shared/input/AddressCombobox.vue?d6b3","webpack:///./src/components/shared/input/AddressCombobox.vue?9e3c","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue?5992","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue?5af0","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsDialog.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsDialog.vue?4a9c","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsDialog.vue?b7c3","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocations.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocations.vue?16c8","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocations.vue?8b36","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationReadOnly.vue?c48d","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationReadOnly.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationReadOnly.vue?2fb8","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationReadOnly.vue?f9da","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoads.vue?a55b","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoadsDialog.vue?2a07","webpack:///./src/components/web/loads/shared/search/LoadSearchInput.vue?fd4c","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue?7d1f","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue?2142","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue?e81d","webpack:///./src/components/web/loads/shared/search/LoadSearchInput.vue","webpack:///./src/components/web/loads/shared/search/LoadSearchInput.vue?08d6","webpack:///./src/components/web/loads/shared/search/LoadSearchInput.vue?be5f","webpack:///./src/components/web/loads/shared/search/LoadRelatedTable.vue?c220","webpack:///./src/components/web/loads/shared/search/LoadRelatedTable.vue","webpack:///./src/components/web/loads/shared/search/LoadRelatedTable.vue?7bcd","webpack:///./src/components/web/loads/shared/search/LoadRelatedTable.vue?35ed","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoadsDialog.vue","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoadsDialog.vue?af6e","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoadsDialog.vue?e5b5","webpack:///./src/components/web/loads/shared/details/LoadRelatedTableCompact.vue?de09","webpack:///./src/components/web/loads/shared/details/LoadRelatedTableCompact.vue","webpack:///./src/components/web/loads/shared/details/LoadRelatedTableCompact.vue?1643","webpack:///./src/components/web/loads/shared/details/LoadRelatedTableCompact.vue?3f10","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoads.vue","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoads.vue?bbfc","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoads.vue?828b","webpack:///./src/components/web/loads/client/accordion/AccordionContainers.vue?5658","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue?50a4","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue?a05d","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue?609f","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue?ae1d","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue?7f56","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue?7cab","webpack:///./src/components/web/loads/client/accordion/AccordionContainers.vue","webpack:///./src/components/web/loads/client/accordion/AccordionContainers.vue?72e1","webpack:///./src/components/web/loads/client/accordion/AccordionContainers.vue?c4d2","webpack:///./src/components/web/loads/client/accordion/AccordionAppendix.vue?cf91","webpack:///./src/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue?ba6f","webpack:///./src/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue","webpack:///./src/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue?6882","webpack:///./src/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue?43b8","webpack:///./src/components/web/loads/client/accordion/AccordionAppendix.vue","webpack:///./src/components/web/loads/client/accordion/AccordionAppendix.vue?d234","webpack:///./src/components/web/loads/client/accordion/AccordionAppendix.vue?6ff8","webpack:///./src/components/web/loads/client/accordion/AccordionAdditionalDeliveryInfo.vue?78f4","webpack:///./src/components/web/loads/client/accordion/AccordionAdditionalDeliveryInfo.vue","webpack:///./src/components/web/loads/client/accordion/AccordionAdditionalDeliveryInfo.vue?2095","webpack:///./src/components/web/loads/client/accordion/AccordionAdditionalDeliveryInfo.vue?7a96","webpack:///./src/components/web/loads/client/accordion/AccordionSpecialRequirements.vue?4117","webpack:///./src/components/web/loads/client/accordion/AccordionSpecialRequirements.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSpecialRequirements.vue?717c","webpack:///./src/components/web/loads/client/accordion/AccordionSpecialRequirements.vue?1b13","webpack:///./src/components/web/loads/client/accordion/AccordionLoadHistory.vue?76a8","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue?637e","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue?f73d","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue?ada6","webpack:///./src/components/web/loads/client/accordion/AccordionLoadHistory.vue","webpack:///./src/components/web/loads/client/accordion/AccordionLoadHistory.vue?1efb","webpack:///./src/components/web/loads/client/accordion/AccordionLoadHistory.vue?c574","webpack:///./src/components/web/loads/client/accordion/AccordionSpotTender.vue?c315","webpack:///./src/components/shared/input/DocumentDropdown.vue?3924","webpack:///./src/components/shared/ui/DocumentTable.vue?5934","webpack:///./src/components/shared/ui/DocumentButton.vue?f2bd","webpack:///./src/components/shared/ui/DocumentButton.vue","webpack:///./src/components/shared/ui/DocumentButton.vue?8946","webpack:///./src/components/shared/ui/DocumentButton.vue?2a0f","webpack:///./src/components/shared/ui/DocumentTable.vue","webpack:///./src/components/shared/ui/DocumentTable.vue?33c0","webpack:///./src/components/shared/ui/DocumentTable.vue?0ab2","webpack:///./src/components/shared/input/DocumentDropdown.vue","webpack:///./src/components/shared/input/DocumentDropdown.vue?aeb9","webpack:///./src/components/shared/input/DocumentDropdown.vue?72f4","webpack:///./src/components/web/loads/client/accordion/AccordionSpotTender.vue","webpack:///./src/components/web/loads/client/accordion/AccordionSpotTender.vue?cdb0","webpack:///./src/components/web/loads/client/accordion/AccordionSpotTender.vue?8905","webpack:///./src/components/web/loads/client/accordion/AccordionDeviation.vue?c0be","webpack:///./src/components/web/loads/client/accordion/AccordionDeviation.vue","webpack:///./src/components/web/loads/client/accordion/AccordionDeviation.vue?8929","webpack:///./src/components/web/loads/client/accordion/AccordionDeviation.vue?0607","webpack:///./src/components/web/loads/client/accordion/AccordionDuplicateLoad.vue?0cf8","webpack:///./src/components/web/loads/client/accordion/AccordionDuplicateLoad.vue","webpack:///./src/components/web/loads/client/accordion/AccordionDuplicateLoad.vue?e725","webpack:///./src/components/web/loads/client/accordion/AccordionDuplicateLoad.vue?c94b","webpack:///./src/components/web/loads/client/accordion/AccordionContacts.vue?9e09","webpack:///./src/components/web/loads/client/accordion/AccordionContacts.vue","webpack:///./src/components/web/loads/client/accordion/AccordionContacts.vue?181e","webpack:///./src/components/web/loads/client/accordion/AccordionContacts.vue?cec1","webpack:///./src/components/web/loads/client/accordion/AccordionDocuments.vue?99ab","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue?16b7","webpack:///./src/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue?0978","webpack:///./src/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue","webpack:///./src/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue?09f6","webpack:///./src/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue?d4db","webpack:///./src/components/shared/input/FileInput.vue?95c4","webpack:///./src/components/shared/input/FileInput.vue","webpack:///./src/components/shared/input/FileInput.vue?6524","webpack:///./src/components/shared/input/FileInput.vue?0226","webpack:///./src/components/web/documents/DocumentDropZone.vue?3650","webpack:///./src/components/web/documents/DocumentDropZone.vue","webpack:///./src/components/web/documents/DocumentDropZone.vue?6f4b","webpack:///./src/components/web/documents/DocumentDropZone.vue?4e65","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue?3e72","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue?9b6e","webpack:///./src/components/web/loads/client/accordion/AccordionDocuments.vue","webpack:///./src/components/web/loads/client/accordion/AccordionDocuments.vue?db0d","webpack:///./src/components/web/loads/client/accordion/AccordionDocuments.vue?ff88","webpack:///./src/components/web/loads/client/accordion/AccordionCustomsInfo.vue?1fa6","webpack:///./src/components/web/loads/client/accordion/AccordionCustomsInfo.vue","webpack:///./src/components/web/loads/client/accordion/AccordionCustomsInfo.vue?696c","webpack:///./src/components/web/loads/client/accordion/AccordionCustomsInfo.vue?4944","webpack:///./src/components/web/loads/client/accordion/Accordion.vue","webpack:///./src/components/web/loads/client/accordion/Accordion.vue?b030","webpack:///./src/components/web/loads/client/accordion/Accordion.vue?cac0","webpack:///./src/components/web/loads/shared/details/LoadDialogContainerInfo.vue?7f2e","webpack:///./src/components/web/loads/shared/details/LoadDialogContainerInfo.vue","webpack:///./src/components/web/loads/shared/details/LoadDialogContainerInfo.vue?75b7","webpack:///./src/components/web/loads/shared/details/LoadDialogContainerInfo.vue?6822","webpack:///./src/components/web/loads/shared/details/LoadDialogMachineTransportInfo.vue?c9b9","webpack:///./src/components/web/loads/shared/details/LoadDialogMachineTransportInfo.vue","webpack:///./src/components/web/loads/shared/details/LoadDialogMachineTransportInfo.vue?de05","webpack:///./src/components/web/loads/shared/details/LoadDialogMachineTransportInfo.vue?02b1","webpack:///./src/components/web/loads/shared/details/LoadDetailsDialog.vue","webpack:///./src/components/web/loads/shared/details/LoadDetailsDialog.vue?9f90","webpack:///./src/components/web/loads/shared/details/LoadDetailsDialog.vue?020f","webpack:///./src/components/web/loads/client/edit/LoadEditDialog.vue?1d71","webpack:///./src/components/web/loads/client/edit/LoadEditBaseValues.vue?f379","webpack:///./src/components/shared/input/PublishSpeedSlider.vue?fdd0","webpack:///./src/components/shared/input/PublishSpeedSlider.vue","webpack:///./src/components/shared/input/PublishSpeedSlider.vue?0b87","webpack:///./src/components/shared/input/PublishSpeedSlider.vue?3db1","webpack:///./src/components/shared/input/DistanceInput.vue?e1fb","webpack:///./src/components/shared/input/DistanceInput.vue","webpack:///./src/components/shared/input/DistanceInput.vue?86e3","webpack:///./src/components/shared/input/DistanceInput.vue?a889","webpack:///./src/components/shared/ui/Emission.vue?ca34","webpack:///./src/components/shared/ui/Emission.vue","webpack:///./src/components/shared/ui/Emission.vue?999d","webpack:///./src/components/shared/ui/Emission.vue?f191","webpack:///./src/components/web/loads/client/edit/LoadEditBaseValues.vue","webpack:///./src/components/web/loads/client/edit/LoadEditBaseValues.vue?5031","webpack:///./src/components/web/loads/client/edit/LoadEditBaseValues.vue?9c2e","webpack:///./src/components/web/loads/client/edit/LoadEditDates.vue?3b1d","webpack:///./src/scripts/misc/dateUtils.ts","webpack:///./src/components/web/loads/client/edit/LoadEditDates.vue","webpack:///./src/components/web/loads/client/edit/LoadEditDates.vue?3f09","webpack:///./src/components/web/loads/client/edit/LoadEditDates.vue?0c90","webpack:///./src/components/web/loads/client/edit/LoadEditShippingInfo.vue?8012","webpack:///./src/components/shared/input/UnitAutocomplete.vue?0eee","webpack:///./src/components/shared/input/UnitAutocomplete.vue","webpack:///./src/components/shared/input/UnitAutocomplete.vue?81a9","webpack:///./src/components/shared/input/UnitAutocomplete.vue?ffa2","webpack:///./src/components/web/loads/client/edit/LoadEditShippingInfo.vue","webpack:///./src/components/web/loads/client/edit/LoadEditShippingInfo.vue?3d2a","webpack:///./src/components/web/loads/client/edit/LoadEditShippingInfo.vue?e8d4","webpack:///./src/components/web/loads/client/edit/LoadEditContainerInfo.vue?bb10","webpack:///./src/components/web/loads/client/edit/LoadEditContainerInfo.vue","webpack:///./src/components/web/loads/client/edit/LoadEditContainerInfo.vue?ed75","webpack:///./src/components/web/loads/client/edit/LoadEditContainerInfo.vue?52a1","webpack:///./src/components/web/loads/client/edit/LoadEditMachineTransportInfo.vue?b949","webpack:///./src/components/web/loads/client/edit/LoadEditMachineTransportInfo.vue","webpack:///./src/components/web/loads/client/edit/LoadEditMachineTransportInfo.vue?028a","webpack:///./src/components/web/loads/client/edit/LoadEditMachineTransportInfo.vue?ba87","webpack:///./src/components/web/loads/client/edit/LoadEditDialog.vue","webpack:///./src/components/web/loads/client/edit/LoadEditDialog.vue?e639","webpack:///./src/components/web/loads/client/edit/LoadEditDialog.vue?5de4","webpack:///./src/components/web/loads/shared/LoadBookDialog.vue?e5f8","webpack:///./src/components/shared/ui/DatePickerHolder.vue?e780","webpack:///./src/components/shared/ui/DatePickerHolder.vue","webpack:///./src/components/shared/ui/DatePickerHolder.vue?883e","webpack:///./src/components/shared/ui/DatePickerHolder.vue?374f","webpack:///./src/components/web/loads/shared/LoadDialogMultiTable.vue?2c8a","webpack:///./src/components/web/loads/shared/LoadDialogMultiTable.vue","webpack:///./src/components/web/loads/shared/LoadDialogMultiTable.vue?e9c3","webpack:///./src/components/web/loads/shared/LoadDialogMultiTable.vue?712a","webpack:///./src/components/web/loads/shared/LoadChips.vue?4a4d","webpack:///./src/components/shared/ui/Chip.vue?e905","webpack:///./src/components/shared/ui/Chip.vue","webpack:///./src/components/shared/ui/Chip.vue?6ece","webpack:///./src/components/shared/ui/Chip.vue?739a","webpack:///./src/components/web/loads/shared/LoadChips.vue","webpack:///./src/components/web/loads/shared/LoadChips.vue?0047","webpack:///./src/components/web/loads/shared/LoadChips.vue?f132","webpack:///./src/components/web/loads/shared/LoadBookDialog.vue","webpack:///./src/components/web/loads/shared/LoadBookDialog.vue?6e7f","webpack:///./src/components/web/loads/shared/LoadBookDialog.vue?bb44","webpack:///./src/components/web/loads/client/LoadLoadDialog.vue?c76f","webpack:///./src/components/web/loads/client/LoadLoadDialog.vue","webpack:///./src/components/web/loads/client/LoadLoadDialog.vue?ec28","webpack:///./src/components/web/loads/client/LoadLoadDialog.vue?370f","webpack:///./src/components/web/loads/client/LoadAnnulDialog.vue?4ba3","webpack:///./src/components/web/loads/client/LoadAnnulDialog.vue","webpack:///./src/components/web/loads/client/LoadAnnulDialog.vue?d07f","webpack:///./src/components/web/loads/client/LoadAnnulDialog.vue?c910","webpack:///./src/components/web/loads/shared/LoadDeliverDialog.vue?4352","webpack:///./src/components/web/loads/shared/LoadDeliverDialog.vue","webpack:///./src/components/web/loads/shared/LoadDeliverDialog.vue?9a8a","webpack:///./src/components/web/loads/shared/LoadDeliverDialog.vue?5500","webpack:///./src/components/web/loads/client/LoadUnbookDialog.vue?cfa8","webpack:///./src/components/web/loads/client/LoadUnbookDialog.vue","webpack:///./src/components/web/loads/client/LoadUnbookDialog.vue?f203","webpack:///./src/components/web/loads/client/LoadUnbookDialog.vue?9bb3","webpack:///./src/components/web/loads/client/LoadReorderDialog.vue?b728","webpack:///./src/components/web/loads/client/LoadReorderDialog.vue","webpack:///./src/components/web/loads/client/LoadReorderDialog.vue?a303","webpack:///./src/components/web/loads/client/LoadReorderDialog.vue?4e3b","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDialog.vue?cda4","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDates.vue?8f17","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDates.vue","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDates.vue?f1b1","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDates.vue?da2a","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderOtherInfo.vue?5b47","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderOtherInfo.vue","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderOtherInfo.vue?8fe8","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderOtherInfo.vue?b36c","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderSuppliers.vue?9581","webpack:///./src/components/web/agreements/client/SupplierSelectTable.vue?8527","webpack:///./src/components/web/agreements/client/SupplierSelectTable.vue","webpack:///./src/components/web/agreements/client/SupplierSelectTable.vue?1a49","webpack:///./src/components/web/agreements/client/SupplierSelectTable.vue?c2cd","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderSuppliers.vue","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderSuppliers.vue?ca1e","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderSuppliers.vue?1752","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderReview.vue?08cd","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderReview.vue","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderReview.vue?1dc8","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderReview.vue?dfea","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDialog.vue","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDialog.vue?dc09","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDialog.vue?6c38","webpack:///./src/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue?6a0d","webpack:///./src/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue","webpack:///./src/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue?0c1d","webpack:///./src/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue?c822","webpack:///./src/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue?5815","webpack:///./src/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue","webpack:///./src/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue?458d","webpack:///./src/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue?ff96","webpack:///./src/components/web/loads/supplier/LoadResignDialog.vue?97b7","webpack:///./src/components/web/loads/supplier/LoadResignDialog.vue","webpack:///./src/components/web/loads/supplier/LoadResignDialog.vue?edd9","webpack:///./src/components/web/loads/supplier/LoadResignDialog.vue?3730","webpack:///./src/components/web/loads/supplier/LoadSupplierEditDialog.vue?b08b","webpack:///./src/components/web/loads/supplier/LoadSupplierEditDialog.vue","webpack:///./src/components/web/loads/supplier/LoadSupplierEditDialog.vue?26d8","webpack:///./src/components/web/loads/supplier/LoadSupplierEditDialog.vue?0685","webpack:///./src/components/mobile/details/MobileLoadDetails.vue?e3c6","webpack:///./src/components/mobile/details/MobileBaseValues.vue?266e","webpack:///./src/components/mobile/details/MobileBaseValues.vue","webpack:///./src/components/mobile/details/MobileBaseValues.vue?14ac","webpack:///./src/components/mobile/details/MobileBaseValues.vue?142c","webpack:///./src/components/mobile/details/MobileDates.vue?434a","webpack:///./src/components/mobile/details/MobileDates.vue","webpack:///./src/components/mobile/details/MobileDates.vue?e1d1","webpack:///./src/components/mobile/details/MobileDates.vue?b22e","webpack:///./src/components/mobile/details/MobileShippingInfo.vue?92d3","webpack:///./src/components/mobile/details/MobileShippingInfo.vue","webpack:///./src/components/mobile/details/MobileShippingInfo.vue?5653","webpack:///./src/components/mobile/details/MobileShippingInfo.vue?006f","webpack:///./src/components/mobile/details/MobileEventDates.vue?bdaa","webpack:///./src/components/mobile/details/MobileEventDates.vue","webpack:///./src/components/mobile/details/MobileEventDates.vue?1244","webpack:///./src/components/mobile/details/MobileEventDates.vue?86ba","webpack:///./src/components/mobile/details/MobileContainerInfo.vue?30af","webpack:///./src/components/mobile/details/MobileContainerInfo.vue","webpack:///./src/components/mobile/details/MobileContainerInfo.vue?e3ab","webpack:///./src/components/mobile/details/MobileContainerInfo.vue?0cea","webpack:///./src/components/mobile/details/MobileMachineTransportInfo.vue?4a8c","webpack:///./src/components/mobile/details/MobileMachineTransportInfo.vue","webpack:///./src/components/mobile/details/MobileMachineTransportInfo.vue?0e2b","webpack:///./src/components/mobile/details/MobileMachineTransportInfo.vue?a55e","webpack:///./src/components/mobile/details/MobileSubLocations.vue?8ba3","webpack:///./src/components/mobile/details/MobileSubLocations.vue","webpack:///./src/components/mobile/details/MobileSubLocations.vue?d6da","webpack:///./src/components/mobile/details/MobileSubLocations.vue?ce34","webpack:///./src/components/mobile/details/MobileLoadDetails.vue","webpack:///./src/components/mobile/details/MobileLoadDetails.vue?11e7","webpack:///./src/components/mobile/details/MobileLoadDetails.vue?6363","webpack:///./src/components/web/loads/client/LoadDeviationEditDialog.vue?ca21","webpack:///./src/components/web/loads/client/LoadDeviationEditDialog.vue","webpack:///./src/components/web/loads/client/LoadDeviationEditDialog.vue?0ecf","webpack:///./src/components/web/loads/client/LoadDeviationEditDialog.vue?dc54","webpack:///./src/components/web/loads/supplier/LoadEditContainersDialog.vue?eb6d","webpack:///./src/components/web/loads/supplier/LoadEditContainersDialog.vue","webpack:///./src/components/web/loads/supplier/LoadEditContainersDialog.vue?f1af","webpack:///./src/components/web/loads/supplier/LoadEditContainersDialog.vue?e2e7","webpack:///./src/components/web/loads/supplier/LoadSupplierDocumentsDialog.vue?79d2","webpack:///./src/components/web/loads/supplier/LoadSupplierDocumentsDialog.vue","webpack:///./src/components/web/loads/supplier/LoadSupplierDocumentsDialog.vue?2fb9","webpack:///./src/components/web/loads/supplier/LoadSupplierDocumentsDialog.vue?6671","webpack:///./src/components/web/slots/SlotDialog.vue?8cd3","webpack:///./src/components/web/slots/SlotCalendarInfo.vue?0465","webpack:///./src/components/web/slots/SlotCalendarInfo.vue","webpack:///./src/components/web/slots/SlotCalendarInfo.vue?5062","webpack:///./src/components/web/slots/SlotCalendarInfo.vue?871c","webpack:///./src/components/web/slots/SlotCalendar.vue?cc30","webpack:///./src/components/web/slots/SlotCalendarHeader.vue?068d","webpack:///./src/components/web/slots/SlotCalendarHeader.vue","webpack:///./src/components/web/slots/SlotCalendarHeader.vue?23f7","webpack:///./src/components/web/slots/SlotCalendarHeader.vue?97d6","webpack:///./src/components/web/slots/SlotCalendarDay.vue?d98d","webpack:///./src/components/web/slots/SlotCalendarDay.vue","webpack:///./src/components/web/slots/SlotCalendarDay.vue?7145","webpack:///./src/components/web/slots/SlotCalendarDay.vue?9e1c","webpack:///./src/components/shared/ui/InfoMenu.vue?97d9","webpack:///./src/components/shared/ui/InfoMenu.vue","webpack:///./src/components/shared/ui/InfoMenu.vue?92d0","webpack:///./src/components/shared/ui/InfoMenu.vue?af8f","webpack:///./src/components/web/slots/SlotCalendar.vue","webpack:///./src/components/web/slots/SlotCalendar.vue?ad29","webpack:///./src/components/web/slots/SlotCalendar.vue?f621","webpack:///./src/components/shared/input/SwitchDouble.vue?e48d","webpack:///./src/components/shared/input/SwitchDouble.vue","webpack:///./src/components/shared/input/SwitchDouble.vue?a757","webpack:///./src/components/shared/input/SwitchDouble.vue?ac8a","webpack:///./src/components/web/slots/SlotDialog.vue","webpack:///./src/components/web/slots/SlotDialog.vue?8040","webpack:///./src/components/web/slots/SlotDialog.vue?e4ac","webpack:///./src/components/web/loads/shared/LoadDialogs.vue","webpack:///./src/components/web/loads/shared/LoadDialogs.vue?06d5","webpack:///./src/components/web/loads/shared/LoadDialogs.vue?50d3","webpack:///./src/views/shared/Loads.vue","webpack:///./src/views/shared/Loads.vue?c149","webpack:///./src/views/shared/Loads.vue?dc9e","webpack:///./src/views/shared/Search.vue?cf99","webpack:///./src/views/shared/Search.vue","webpack:///./src/views/shared/Search.vue?4be0","webpack:///./src/views/shared/Search.vue?a8b3","webpack:///./src/views/shared/PriceList.vue?ed96","webpack:///./src/views/shared/PriceList.vue","webpack:///./src/views/shared/PriceList.vue?330b","webpack:///./src/views/shared/PriceList.vue?b1d7","webpack:///./src/views/shared/Indexes.vue?ed53","webpack:///./src/components/web/index/IndexAccordion.vue?cf4a","webpack:///./src/components/web/index/IndexAccordion.vue","webpack:///./src/components/web/index/IndexAccordion.vue?a96e","webpack:///./src/components/web/index/IndexAccordion.vue?c168","webpack:///./src/components/shared/charts/BezierChart.vue?fb00","webpack:///./src/components/shared/charts/BezierChart.vue","webpack:///./src/components/shared/charts/BezierChart.vue?af05","webpack:///./src/components/shared/charts/BezierChart.vue?4402","webpack:///./src/views/shared/Indexes.vue","webpack:///./src/views/shared/Indexes.vue?12a3","webpack:///./src/views/shared/Indexes.vue?2ec0","webpack:///./src/views/shared/About.vue?f501","webpack:///./src/views/shared/About.vue","webpack:///./src/views/shared/About.vue?885a","webpack:///./src/views/shared/About.vue?ec7f","webpack:///./src/views/shared/News.vue?7fa2","webpack:///./src/components/shared/ui/NewsSheet.vue?f058","webpack:///./src/components/shared/ui/NewsSheet.vue","webpack:///./src/components/shared/ui/NewsSheet.vue?b66b","webpack:///./src/components/shared/ui/NewsSheet.vue?3bb8","webpack:///./src/views/shared/News.vue","webpack:///./src/views/shared/News.vue?2146","webpack:///./src/views/shared/News.vue?306a","webpack:///./src/views/shared/SupportForm.vue?df93","webpack:///./src/views/shared/SupportForm.vue","webpack:///./src/views/shared/SupportForm.vue?3f09","webpack:///./src/views/shared/SupportForm.vue?6acc","webpack:///./src/views/shared/ExcludedActors.vue?eff3","webpack:///./src/components/web/settings/ExcludedActorsCard.vue?4109","webpack:///./src/components/web/settings/ExcludedActorsCard.vue","webpack:///./src/components/web/settings/ExcludedActorsCard.vue?c8fc","webpack:///./src/components/web/settings/ExcludedActorsCard.vue?a83d","webpack:///./src/views/shared/ExcludedActors.vue","webpack:///./src/views/shared/ExcludedActors.vue?e675","webpack:///./src/views/shared/ExcludedActors.vue?9664","webpack:///./src/views/shared/Slots.vue?a4a4","webpack:///./src/components/web/slots/SlotTable.vue?d0f4","webpack:///./src/components/web/slots/SlotDots.vue?555b","webpack:///./src/components/web/slots/SlotDots.vue","webpack:///./src/components/web/slots/SlotDots.vue?1e0b","webpack:///./src/components/web/slots/SlotDots.vue?cf7a","webpack:///./src/components/web/slots/SlotTable.vue","webpack:///./src/components/web/slots/SlotTable.vue?e03f","webpack:///./src/components/web/slots/SlotTable.vue?167c","webpack:///./src/components/web/slots/SlotTableSearch.vue?0e84","webpack:///./src/components/web/slots/SlotTableSearch.vue","webpack:///./src/components/web/slots/SlotTableSearch.vue?a53f","webpack:///./src/components/web/slots/SlotTableSearch.vue?7f3b","webpack:///./src/views/shared/Slots.vue","webpack:///./src/views/shared/Slots.vue?f0af","webpack:///./src/views/shared/Slots.vue?a026","webpack:///./src/views/shared/reports/InvoiceReport.vue?f3d2","webpack:///./src/components/web/reports/shared/InvoiceReportSearch.vue?2fa1","webpack:///./src/components/web/reports/shared/InvoiceReportSearch.vue","webpack:///./src/components/web/reports/shared/InvoiceReportSearch.vue?3373","webpack:///./src/components/web/reports/shared/InvoiceReportSearch.vue?5bf6","webpack:///./src/components/web/reports/shared/InvoiceReportTable.vue?e6f5","webpack:///./src/components/web/reports/shared/InvoiceReportTable.vue","webpack:///./src/components/web/reports/shared/InvoiceReportTable.vue?30af","webpack:///./src/components/web/reports/shared/InvoiceReportTable.vue?a9db","webpack:///./src/views/shared/reports/InvoiceReport.vue","webpack:///./src/views/shared/reports/InvoiceReport.vue?1bdd","webpack:///./src/views/shared/reports/InvoiceReport.vue?329e","webpack:///./src/views/shared/reports/LoadStatisticsReport.vue?535b","webpack:///./src/components/web/reports/shared/LoadStatisticsReportSearch.vue?e588","webpack:///./src/components/shared/input/SwitchSingle.vue?9a8d","webpack:///./src/components/shared/input/SwitchSingle.vue","webpack:///./src/components/shared/input/SwitchSingle.vue?086e","webpack:///./src/components/shared/input/SwitchSingle.vue?56c5","webpack:///./src/components/web/reports/shared/LoadStatisticsReportSearch.vue","webpack:///./src/components/web/reports/shared/LoadStatisticsReportSearch.vue?12d3","webpack:///./src/components/web/reports/shared/LoadStatisticsReportSearch.vue?04c2","webpack:///./src/components/web/reports/shared/LoadStatisticsReportTable.vue?97b8","webpack:///./src/components/web/reports/shared/LoadStatisticsReportTable.vue","webpack:///./src/components/web/reports/shared/LoadStatisticsReportTable.vue?c2fe","webpack:///./src/components/web/reports/shared/LoadStatisticsReportTable.vue?006b","webpack:///./src/views/shared/reports/LoadStatisticsReport.vue","webpack:///./src/views/shared/reports/LoadStatisticsReport.vue?ae38","webpack:///./src/views/shared/reports/LoadStatisticsReport.vue?6200","webpack:///./src/views/shared/reports/AgreementStatisticsReport.vue?cdac","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportSearch.vue?e45b","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportSearch.vue","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportSearch.vue?e220","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportSearch.vue?5dda","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportTable.vue?4eb2","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportTable.vue","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportTable.vue?e00a","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportTable.vue?24b9","webpack:///./src/views/shared/reports/AgreementStatisticsReport.vue","webpack:///./src/views/shared/reports/AgreementStatisticsReport.vue?2c9d","webpack:///./src/views/shared/reports/AgreementStatisticsReport.vue?a376","webpack:///./src/views/shared/reports/DistanceReport.vue?57c1","webpack:///./src/components/web/reports/shared/DistanceReportSearch.vue?b960","webpack:///./src/components/web/reports/shared/DistanceReportSearch.vue","webpack:///./src/components/web/reports/shared/DistanceReportSearch.vue?d7cd","webpack:///./src/components/web/reports/shared/DistanceReportSearch.vue?e4a9","webpack:///./src/components/web/reports/shared/DistanceReportTable.vue?d283","webpack:///./src/components/web/reports/shared/DistanceReportTable.vue","webpack:///./src/components/web/reports/shared/DistanceReportTable.vue?cbfe","webpack:///./src/components/web/reports/shared/DistanceReportTable.vue?08b0","webpack:///./src/views/shared/reports/DistanceReport.vue","webpack:///./src/views/shared/reports/DistanceReport.vue?5b52","webpack:///./src/views/shared/reports/DistanceReport.vue?476c","webpack:///./src/views/shared/reports/QualityPointsReport.vue?3121","webpack:///./src/components/web/reports/shared/QualityPointsReportSearch.vue?bbe9","webpack:///./src/components/web/reports/shared/QualityPointsReportSearch.vue","webpack:///./src/components/web/reports/shared/QualityPointsReportSearch.vue?b262","webpack:///./src/components/web/reports/shared/QualityPointsReportSearch.vue?285a","webpack:///./src/components/web/reports/shared/QualityPointsReportTable.vue?1e13","webpack:///./src/components/web/reports/shared/QualityPointsReportTable.vue","webpack:///./src/components/web/reports/shared/QualityPointsReportTable.vue?4879","webpack:///./src/components/web/reports/shared/QualityPointsReportTable.vue?334e","webpack:///./src/views/shared/reports/QualityPointsReport.vue","webpack:///./src/views/shared/reports/QualityPointsReport.vue?4515","webpack:///./src/views/shared/reports/QualityPointsReport.vue?1775","webpack:///./src/views/shared/Messages.vue?eb8a","webpack:///./src/components/web/messages/MessagesTable.vue?3fbd","webpack:///./src/components/web/messages/MessageRecipientDialog.vue?5203","webpack:///./src/components/web/messages/MessageRecipientDialog.vue","webpack:///./src/components/web/messages/MessageRecipientDialog.vue?9239","webpack:///./src/components/web/messages/MessageRecipientDialog.vue?190c","webpack:///./src/components/web/messages/MessagesTable.vue","webpack:///./src/components/web/messages/MessagesTable.vue?583c","webpack:///./src/components/web/messages/MessagesTable.vue?0c36","webpack:///./src/components/web/messages/MessagesSearch.vue?9bbc","webpack:///./src/components/web/messages/CreateMessageDialog.vue?34a4","webpack:///./src/components/web/messages/CreateMessageRecipientDialog.vue?c264","webpack:///./src/components/web/messages/CreateMessageRecipientDialog.vue","webpack:///./src/components/web/messages/CreateMessageRecipientDialog.vue?94d8","webpack:///./src/components/web/messages/CreateMessageRecipientDialog.vue?0f81","webpack:///./src/components/web/messages/CreateMessageDialog.vue","webpack:///./src/components/web/messages/CreateMessageDialog.vue?996d","webpack:///./src/components/web/messages/CreateMessageDialog.vue?9c09","webpack:///./src/components/web/messages/MessagesSearch.vue","webpack:///./src/components/web/messages/MessagesSearch.vue?f137","webpack:///./src/components/web/messages/MessagesSearch.vue?c0f5","webpack:///./src/views/shared/Messages.vue","webpack:///./src/views/shared/Messages.vue?5578","webpack:///./src/views/shared/Messages.vue?ed5e","webpack:///./src/views/shared/MyActor.vue?a4ff","webpack:///./src/views/shared/MyActor.vue","webpack:///./src/views/shared/MyActor.vue?8fef","webpack:///./src/views/shared/MyActor.vue?6537","webpack:///./src/views/shared/MySettings.vue?8d7e","webpack:///./src/components/web/settings/UserSettingsForm.vue?2b0e","webpack:///./src/components/web/settings/BasicUserSettings.vue?b1ad","webpack:///./src/components/web/settings/BasicUserSettings.vue","webpack:///./src/components/web/settings/BasicUserSettings.vue?1a98","webpack:///./src/components/web/settings/BasicUserSettings.vue?7c9f","webpack:///./src/components/web/settings/NotificationSettings.vue?ed9a","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue","webpack:///./src/components/web/settings/NotificationSettingsNode.vue?8e57","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue?8098","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue?6147","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue?45b0","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue?2fed","webpack:///./src/components/web/settings/NotificationSettingsDeliveryFilterDialog.vue?f9dc","webpack:///./src/components/web/settings/NotificationSettingsDeliveryFilterDialog.vue","webpack:///./src/components/web/settings/NotificationSettingsDeliveryFilterDialog.vue?a9e0","webpack:///./src/components/web/settings/NotificationSettingsDeliveryFilterDialog.vue?0fc6","webpack:///./src/components/web/settings/NotificationSettingsClientFilterDialog.vue?a66b","webpack:///./src/components/web/settings/NotificationSettingsClientFilterDialog.vue","webpack:///./src/components/web/settings/NotificationSettingsClientFilterDialog.vue?20d5","webpack:///./src/components/web/settings/NotificationSettingsClientFilterDialog.vue?0bae","webpack:///./src/components/web/settings/NotificationSettingsUnitFilterDialog.vue?9ee8","webpack:///./src/components/web/settings/NotificationSettingsUnitFilterDialog.vue","webpack:///./src/components/web/settings/NotificationSettingsUnitFilterDialog.vue?152e","webpack:///./src/components/web/settings/NotificationSettingsUnitFilterDialog.vue?62a3","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue?1f84","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue?fe21","webpack:///./src/components/web/settings/NotificationSettingsNode.vue","webpack:///./src/components/web/settings/NotificationSettingsNode.vue?c8aa","webpack:///./src/components/web/settings/NotificationSettingsNode.vue?e7c9","webpack:///./src/components/web/settings/NotificationSettings.vue","webpack:///./src/components/web/settings/NotificationSettings.vue?75e2","webpack:///./src/components/web/settings/NotificationSettings.vue?67b6","webpack:///./src/components/web/settings/UserSettingsForm.vue","webpack:///./src/components/web/settings/UserSettingsForm.vue?4eae","webpack:///./src/components/web/settings/UserSettingsForm.vue?36c3","webpack:///./src/views/shared/MySettings.vue","webpack:///./src/views/shared/MySettings.vue?5c54","webpack:///./src/views/shared/MySettings.vue?69e8","webpack:///./src/views/shared/Actors.vue?3fe3","webpack:///./src/components/web/actor/ActorTable.vue?ac48","webpack:///./src/components/web/actor/ActorTable.vue","webpack:///./src/components/web/actor/ActorTable.vue?f5b7","webpack:///./src/components/web/actor/ActorTable.vue?1d96","webpack:///./src/views/shared/Actors.vue","webpack:///./src/views/shared/Actors.vue?dbcd","webpack:///./src/views/shared/Actors.vue?922d","webpack:///./src/views/shared/AdministrateActor.vue?1287","webpack:///./src/views/shared/AdministrateActor.vue","webpack:///./src/views/shared/AdministrateActor.vue?2d6d","webpack:///./src/views/shared/AdministrateActor.vue?f438","webpack:///./src/views/shared/AdministrateUsers.vue?da67","webpack:///./src/components/web/settings/AdministrateUserDialog.vue?0d0f","webpack:///./src/components/web/settings/ImportSettingsDialog.vue?6538","webpack:///./src/components/web/settings/ImportSettingsDialog.vue","webpack:///./src/components/web/settings/ImportSettingsDialog.vue?4739","webpack:///./src/components/web/settings/ImportSettingsDialog.vue?3e24","webpack:///./src/components/web/settings/AdministrateUserDialog.vue","webpack:///./src/components/web/settings/AdministrateUserDialog.vue?da4b","webpack:///./src/components/web/settings/AdministrateUserDialog.vue?7b8b","webpack:///./src/views/shared/AdministrateUsers.vue","webpack:///./src/views/shared/AdministrateUsers.vue?4643","webpack:///./src/views/shared/AdministrateUsers.vue?fc58","webpack:///./src/views/client/AgreementRoutes.vue?75d9","webpack:///./src/components/web/agreements/client/AgreementRouteSearch.vue?5653","webpack:///./src/components/web/agreements/client/AgreementRouteSearch.vue","webpack:///./src/components/web/agreements/client/AgreementRouteSearch.vue?738a","webpack:///./src/components/web/agreements/client/AgreementRouteSearch.vue?25e1","webpack:///./src/components/web/agreements/client/AgreementRouteTable.vue?3b8b","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeItems.vue?8327","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeItems.vue","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeItems.vue?2009","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeItems.vue?9718","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeHeader.vue?7dba","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeHeader.vue","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeHeader.vue?b2f9","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeHeader.vue?99ab","webpack:///./src/components/web/agreements/client/AgreementRouteEstimateHistoryDialog.vue?cb49","webpack:///./src/components/web/agreements/client/AgreementRouteEstimateHistoryDialog.vue","webpack:///./src/components/web/agreements/client/AgreementRouteEstimateHistoryDialog.vue?9279","webpack:///./src/components/web/agreements/client/AgreementRouteEstimateHistoryDialog.vue?06c4","webpack:///./src/components/web/agreements/client/AgreementRouteTagDialog.vue?f3a5","webpack:///./src/components/web/agreements/client/AgreementRouteTagDialog.vue","webpack:///./src/components/web/agreements/client/AgreementRouteTagDialog.vue?384b","webpack:///./src/components/web/agreements/client/AgreementRouteTagDialog.vue?c936","webpack:///./src/components/web/agreements/client/AgreementRouteStandardPhrasesDialog.vue?de44","webpack:///./src/components/web/agreements/client/AgreementRouteStandardPhrasesDialog.vue","webpack:///./src/components/web/agreements/client/AgreementRouteStandardPhrasesDialog.vue?ba31","webpack:///./src/components/web/agreements/client/AgreementRouteStandardPhrasesDialog.vue?8689","webpack:///./src/components/shared/input/CheckboxTinyAgreementRouteHidden.vue?3a77","webpack:///./src/components/shared/input/CheckboxTinyAgreementRouteHidden.vue","webpack:///./src/components/shared/input/CheckboxTinyAgreementRouteHidden.vue?0a4e","webpack:///./src/components/shared/input/CheckboxTinyAgreementRouteHidden.vue?9a3f","webpack:///./src/components/web/agreements/client/AgreementRouteTable.vue","webpack:///./src/components/web/agreements/client/AgreementRouteTable.vue?c422","webpack:///./src/components/web/agreements/client/AgreementRouteTable.vue?2083","webpack:///./src/components/web/agreements/client/CreateAgreementRouteDialog.vue?bc9d","webpack:///./src/components/web/agreements/client/CreateAgreementRouteDialog.vue","webpack:///./src/views/client/AgreementRoutes.vue","webpack:///./src/components/web/agreements/client/CreateAgreementRouteDialog.vue?9290","webpack:///./src/components/web/agreements/client/CreateAgreementRouteDialog.vue?ccb9","webpack:///./src/views/client/AgreementRoutes.vue?9d27","webpack:///./src/views/client/AgreementRoutes.vue?ce4e","webpack:///./src/views/client/CreateProcurement.vue?2106","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementPeriod.vue?9671","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementPeriod.vue","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementPeriod.vue?f85f","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementPeriod.vue?1237","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutes.vue?8cef","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue?f45f","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue?491c","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue?60ff","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutes.vue","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutes.vue?092e","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutes.vue?9614","webpack:///./src/components/web/agreements/client/CreateProcurementProcurementPeriods.vue?53d8","webpack:///./src/components/web/agreements/client/CreateProcurementProcurementPeriods.vue","webpack:///./src/components/web/agreements/client/CreateProcurementProcurementPeriods.vue?aa5d","webpack:///./src/components/web/agreements/client/CreateProcurementProcurementPeriods.vue?73e6","webpack:///./src/components/web/agreements/client/CreateProcurementSuppliers.vue?04af","webpack:///./src/components/web/agreements/client/CreateProcurementSuppliers.vue","webpack:///./src/components/web/agreements/client/CreateProcurementSuppliers.vue?8935","webpack:///./src/components/web/agreements/client/CreateProcurementSuppliers.vue?982c","webpack:///./src/components/web/agreements/client/CreateProcurementReview.vue?6975","webpack:///./src/components/web/agreements/client/CreateProcurementReview.vue","webpack:///./src/components/web/agreements/client/CreateProcurementReview.vue?f2fd","webpack:///./src/components/web/agreements/client/CreateProcurementReview.vue?9df4","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesDialog.vue?101d","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesDialog.vue","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesDialog.vue?4f61","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesDialog.vue?2b94","webpack:///./src/views/client/CreateProcurement.vue","webpack:///./src/views/client/CreateProcurement.vue?fbc4","webpack:///./src/views/client/CreateProcurement.vue?2a7e","webpack:///./src/views/client/Procurements.vue?7df6","webpack:///./src/components/web/agreements/client/AgreementSearch.vue?8a84","webpack:///./src/components/web/agreements/client/AgreementSearch.vue","webpack:///./src/components/web/agreements/client/AgreementSearch.vue?bf2a","webpack:///./src/components/web/agreements/client/AgreementSearch.vue?09bc","webpack:///./src/components/web/agreements/client/ProcurementTable.vue?2e81","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue?ec58","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue?b23e","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue?df3a","webpack:///./src/components/web/agreements/client/ProcurementTable.vue","webpack:///./src/components/web/agreements/client/ProcurementTable.vue?6148","webpack:///./src/components/web/agreements/client/ProcurementTable.vue?4354","webpack:///./src/components/web/agreements/client/ProcurementActions.vue?351d","webpack:///./src/components/web/agreements/client/ProcurementActions.vue","webpack:///./src/components/web/agreements/client/ProcurementActions.vue?3e85","webpack:///./src/components/web/agreements/client/ProcurementActions.vue?abd2","webpack:///./src/components/web/agreements/client/RankingDialog.vue?f462","webpack:///./src/components/web/agreements/client/RankingDialogPrevAgreement.vue?24c2","webpack:///./src/components/web/agreements/client/RankingDialogPrevAgreement.vue","webpack:///./src/components/web/agreements/client/RankingDialogPrevAgreement.vue?0b7f","webpack:///./src/components/web/agreements/client/RankingDialogPrevAgreement.vue?3c0e","webpack:///./src/components/web/agreements/client/RankingDialogCard.vue?6e12","webpack:///./src/components/web/agreements/client/RankingDialogCard.vue","webpack:///./src/components/web/agreements/client/RankingDialogCard.vue?3b9e","webpack:///./src/components/web/agreements/client/RankingDialogCard.vue?fe5e","webpack:///./src/components/web/agreements/client/RankingDialogActions.vue?c45e","webpack:///./src/components/web/agreements/client/RankingDialogActions.vue","webpack:///./src/components/web/agreements/client/RankingDialogActions.vue?f5df","webpack:///./src/components/web/agreements/client/RankingDialogActions.vue?5def","webpack:///./src/components/web/agreements/client/RankingDialog.vue","webpack:///./src/components/web/agreements/client/RankingDialog.vue?2c00","webpack:///./src/components/web/agreements/client/RankingDialog.vue?9269","webpack:///./src/components/web/agreements/client/NewProcurementPeriodDialog.vue?9eb5","webpack:///./src/components/web/agreements/client/NewProcurementPeriodDialog.vue","webpack:///./src/components/web/agreements/client/NewProcurementPeriodDialog.vue?f844","webpack:///./src/components/web/agreements/client/NewProcurementPeriodDialog.vue?579f","webpack:///./src/views/client/Procurements.vue","webpack:///./src/views/client/Procurements.vue?2847","webpack:///./src/views/client/Procurements.vue?ed30","webpack:///./src/views/client/ProcurementOverview.vue?abc1","webpack:///./src/components/web/agreements/client/AgreementOverviewTable.vue?61fb","webpack:///./src/components/web/agreements/client/AgreementOverviewTable.vue","webpack:///./src/components/web/agreements/client/AgreementOverviewTable.vue?34b4","webpack:///./src/components/web/agreements/client/AgreementOverviewTable.vue?efe5","webpack:///./src/views/client/ProcurementOverview.vue","webpack:///./src/views/client/ProcurementOverview.vue?1194","webpack:///./src/views/client/ProcurementOverview.vue?e9cf","webpack:///./src/views/client/Agreements.vue?d1ca","webpack:///./src/views/client/Agreements.vue","webpack:///./src/views/client/Agreements.vue?1d74","webpack:///./src/views/client/Agreements.vue?9fcc","webpack:///./src/views/client/SurveyOverview.vue?7b72","webpack:///./src/components/web/survey/client/SurveyDialog.vue?8a01","webpack:///./src/scripts/misc/surveyQuestions.ts","webpack:///./src/components/web/survey/SurveyContent.vue?e400","webpack:///./src/components/web/survey/SurveyQuestion.vue?8e89","webpack:///./src/components/web/survey/SurveyQuestion.vue","webpack:///./src/components/web/survey/SurveyQuestion.vue?438c","webpack:///./src/components/web/survey/SurveyQuestion.vue?388d","webpack:///./src/components/web/survey/SurveyContent.vue","webpack:///./src/components/web/survey/SurveyContent.vue?ebf7","webpack:///./src/components/web/survey/SurveyContent.vue?7d24","webpack:///./src/components/web/survey/client/SurveyDialog.vue","webpack:///./src/components/web/survey/client/SurveyDialog.vue?b5b4","webpack:///./src/components/web/survey/client/SurveyDialog.vue?5201","webpack:///./src/views/client/SurveyOverview.vue","webpack:///./src/views/client/SurveyOverview.vue?fa03","webpack:///./src/views/client/SurveyOverview.vue?bc8b","webpack:///./src/views/client/reports/CostReport.vue?604d","webpack:///./src/components/web/reports/client/CostReportSearch.vue?dacb","webpack:///./src/components/web/reports/client/CostReportSearch.vue","webpack:///./src/components/web/reports/client/CostReportSearch.vue?ed5c","webpack:///./src/components/web/reports/client/CostReportSearch.vue?1daa","webpack:///./src/components/web/reports/client/CostReportTable.vue?3d28","webpack:///./src/components/web/reports/client/CostReportTable.vue","webpack:///./src/components/web/reports/client/CostReportTable.vue?9f16","webpack:///./src/components/web/reports/client/CostReportTable.vue?bf4d","webpack:///./src/views/client/reports/CostReport.vue","webpack:///./src/views/client/reports/CostReport.vue?dda6","webpack:///./src/views/client/reports/CostReport.vue?f138","webpack:///./src/views/client/reports/DeviationReport.vue?d8ce","webpack:///./src/components/web/reports/client/DeviationReportSearch.vue?cd8f","webpack:///./src/components/web/reports/client/DeviationReportSearch.vue","webpack:///./src/components/web/reports/client/DeviationReportSearch.vue?c720","webpack:///./src/components/web/reports/client/DeviationReportSearch.vue?f448","webpack:///./src/components/web/reports/client/DeviationReportTable.vue?0181","webpack:///./src/components/web/reports/client/DeviationReportTable.vue","webpack:///./src/components/web/reports/client/DeviationReportTable.vue?69a8","webpack:///./src/components/web/reports/client/DeviationReportTable.vue?989b","webpack:///./src/views/client/reports/DeviationReport.vue","webpack:///./src/views/client/reports/DeviationReport.vue?1990","webpack:///./src/views/client/reports/DeviationReport.vue?534a","webpack:///./src/views/client/reports/ClientMonitoring.vue?8532","webpack:///./src/components/web/reports/client/ClientMonitoringSearch.vue?99c8","webpack:///./src/components/web/reports/client/ClientMonitoringSearch.vue","webpack:///./src/components/web/reports/client/ClientMonitoringSearch.vue?1fdf","webpack:///./src/components/web/reports/client/ClientMonitoringSearch.vue?5d9b","webpack:///./src/components/web/reports/client/ClientMonitoringTable.vue?5b92","webpack:///./src/components/web/reports/client/ClientMonitoringTable.vue","webpack:///./src/components/web/reports/client/ClientMonitoringTable.vue?2b08","webpack:///./src/components/web/reports/client/ClientMonitoringTable.vue?e4f6","webpack:///./src/views/client/reports/ClientMonitoring.vue","webpack:///./src/views/client/reports/ClientMonitoring.vue?00e7","webpack:///./src/views/client/reports/ClientMonitoring.vue?b267","webpack:///./src/views/client/reports/AnnulledLoadsReport.vue?a548","webpack:///./src/components/web/reports/client/AnnulledLoadsReportSearch.vue?4a28","webpack:///./src/components/web/reports/client/AnnulledLoadsReportSearch.vue","webpack:///./src/components/web/reports/client/AnnulledLoadsReportSearch.vue?8fa4","webpack:///./src/components/web/reports/client/AnnulledLoadsReportSearch.vue?2d2e","webpack:///./src/components/web/reports/client/AnnulledLoadsReportTable.vue?13f5","webpack:///./src/components/web/reports/client/AnnulledLoadsReportTable.vue","webpack:///./src/components/web/reports/client/AnnulledLoadsReportTable.vue?cab6","webpack:///./src/components/web/reports/client/AnnulledLoadsReportTable.vue?1a8c","webpack:///./src/views/client/reports/AnnulledLoadsReport.vue","webpack:///./src/views/client/reports/AnnulledLoadsReport.vue?d24e","webpack:///./src/views/client/reports/AnnulledLoadsReport.vue?a8b5","webpack:///./src/views/client/SubjectiveQualityPoints.vue?b02a","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue?cf09","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue?34cb","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue?bdec","webpack:///./src/components/web/qp/SubjectiveQualityPointsHistory.vue?6577","webpack:///./src/components/web/qp/SubjectiveQualityPointsHistory.vue","webpack:///./src/components/web/qp/SubjectiveQualityPointsHistory.vue?ee05","webpack:///./src/components/web/qp/SubjectiveQualityPointsHistory.vue?904f","webpack:///./src/views/client/SubjectiveQualityPoints.vue","webpack:///./src/views/client/SubjectiveQualityPoints.vue?7297","webpack:///./src/views/client/SubjectiveQualityPoints.vue?7065","webpack:///./src/views/client/QualityPointsWeights.vue?315e","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue?c439","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue?507a","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue?f591","webpack:///./src/views/client/QualityPointsWeights.vue","webpack:///./src/views/client/QualityPointsWeights.vue?0b37","webpack:///./src/views/client/QualityPointsWeights.vue?db39","webpack:///./src/views/client/Documents.vue?efb1","webpack:///./src/components/web/documents/DocumentDialog.vue?b51a","webpack:///./src/components/shared/input/DocumentInput.vue?ef70","webpack:///./src/components/shared/input/DocumentInput.vue","webpack:///./src/components/shared/input/DocumentInput.vue?a035","webpack:///./src/components/shared/input/DocumentInput.vue?5517","webpack:///./src/components/web/documents/DocumentRouteDialog.vue?a2f0","webpack:///./src/components/web/documents/DocumentRouteDialog.vue","webpack:///./src/components/web/documents/DocumentRouteDialog.vue?eaf2","webpack:///./src/components/web/documents/DocumentRouteDialog.vue?97ce","webpack:///./src/components/web/documents/DocumentDialog.vue","webpack:///./src/components/web/documents/DocumentDialog.vue?5995","webpack:///./src/components/web/documents/DocumentDialog.vue?5930","webpack:///./src/components/web/documents/DocumentTable.vue?ed59","webpack:///./src/components/web/documents/DocumentTable.vue","webpack:///./src/components/web/documents/DocumentTable.vue?2a97","webpack:///./src/components/web/documents/DocumentTable.vue?4caa","webpack:///./src/views/client/Documents.vue","webpack:///./src/views/client/Documents.vue?a9ec","webpack:///./src/views/client/Documents.vue?826d","webpack:///./src/views/client/SetraExport.vue?8b11","webpack:///./src/views/client/SetraExport.vue","webpack:///./src/views/client/SetraExport.vue?550a","webpack:///./src/views/client/SetraExport.vue?f49e","webpack:///./src/views/client/reports/ProcurementAnalytics.vue?ba91","webpack:///./src/components/web/reports/client/ProcurementAnalyticsSearch.vue?07e9","webpack:///./src/components/web/reports/client/ProcurementAnalyticsSearch.vue","webpack:///./src/components/web/reports/client/ProcurementAnalyticsSearch.vue?2ad1","webpack:///./src/components/web/reports/client/ProcurementAnalyticsSearch.vue?a1ab","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTable.vue?d037","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue?0b9d","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue?ee11","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue?7881","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTable.vue","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTable.vue?3f26","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTable.vue?d4d3","webpack:///./src/views/client/reports/ProcurementAnalytics.vue","webpack:///./src/views/client/reports/ProcurementAnalytics.vue?711f","webpack:///./src/views/client/reports/ProcurementAnalytics.vue?aee5","webpack:///./src/views/client/reports/CostForecast.vue?7a5e","webpack:///./src/views/client/reports/CostForecast.vue","webpack:///./src/views/client/reports/CostForecast.vue?dff7","webpack:///./src/views/client/reports/CostForecast.vue?c646","webpack:///./src/views/client/StandardPhrases.vue?06a5","webpack:///./src/components/web/standardphrases/StandardPhrasesTable.vue?3974","webpack:///./src/components/web/standardphrases/StandardPhrasesTable.vue","webpack:///./src/components/web/standardphrases/StandardPhrasesTable.vue?4fce","webpack:///./src/components/web/standardphrases/StandardPhrasesTable.vue?e58e","webpack:///./src/components/web/standardphrases/StandardPhrasesDialog.vue?6cfd","webpack:///./src/components/web/standardphrases/StandardPhrasesDialog.vue","webpack:///./src/components/web/standardphrases/StandardPhrasesDialog.vue?1e37","webpack:///./src/components/web/standardphrases/StandardPhrasesDialog.vue?7fb8","webpack:///./src/views/client/StandardPhrases.vue","webpack:///./src/views/client/StandardPhrases.vue?ea51","webpack:///./src/views/client/StandardPhrases.vue?a78b","webpack:///./src/views/supplier/Procurements.vue?6552","webpack:///./src/components/web/agreements/supplier/ProcurementSearch.vue?0d4a","webpack:///./src/components/web/agreements/supplier/ProcurementConfigDialog.vue?8839","webpack:///./src/components/web/agreements/supplier/ProcurementConfigDialog.vue","webpack:///./src/components/web/agreements/supplier/ProcurementConfigDialog.vue?0635","webpack:///./src/components/web/agreements/supplier/ProcurementConfigDialog.vue?752a","webpack:///./src/components/web/agreements/supplier/ProcurementExcelImportDialog.vue?2f81","webpack:///./src/components/web/agreements/supplier/ProcurementExcelImportDialog.vue","webpack:///./src/components/web/agreements/supplier/ProcurementExcelImportDialog.vue?8f6b","webpack:///./src/components/web/agreements/supplier/ProcurementExcelImportDialog.vue?9839","webpack:///./src/components/web/agreements/supplier/ProcurementImportPrevDialog.vue?8466","webpack:///./src/components/web/agreements/supplier/ProcurementImportPrevDialog.vue","webpack:///./src/components/web/agreements/supplier/ProcurementImportPrevDialog.vue?9d4a","webpack:///./src/components/web/agreements/supplier/ProcurementImportPrevDialog.vue?f114","webpack:///./src/components/web/agreements/supplier/ProcurementSearch.vue","webpack:///./src/components/web/agreements/supplier/ProcurementSearch.vue?e710","webpack:///./src/components/web/agreements/supplier/ProcurementSearch.vue?4cc6","webpack:///./src/components/web/agreements/supplier/ProcurementTable.vue?130c","webpack:///./src/components/web/agreements/supplier/ProcurementDateTooltip.vue?8d91","webpack:///./src/components/web/agreements/supplier/ProcurementDateTooltip.vue","webpack:///./src/components/web/agreements/supplier/ProcurementDateTooltip.vue?e5bd","webpack:///./src/components/web/agreements/supplier/ProcurementDateTooltip.vue?dca4","webpack:///./src/components/web/agreements/supplier/ProcurementTablePriceInputs.vue?b705","webpack:///./src/components/web/agreements/supplier/ProcurementTablePriceInputs.vue","webpack:///./src/components/web/agreements/supplier/ProcurementTablePriceInputs.vue?99a7","webpack:///./src/components/web/agreements/supplier/ProcurementTablePriceInputs.vue?c5e8","webpack:///./src/components/web/agreements/supplier/ProcurementTable.vue","webpack:///./src/components/web/agreements/supplier/ProcurementTable.vue?924e","webpack:///./src/components/web/agreements/supplier/ProcurementTable.vue?d9a4","webpack:///./src/components/web/agreements/supplier/ProcurementActions.vue?f72c","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue?8268","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue?44b7","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue?cf46","webpack:///./src/components/web/agreements/supplier/ProcurementActions.vue","webpack:///./src/views/supplier/Procurements.vue","webpack:///./src/components/web/agreements/supplier/ProcurementActions.vue?1bd8","webpack:///./src/components/web/agreements/supplier/ProcurementActions.vue?49cf","webpack:///./src/views/supplier/Procurements.vue?d889","webpack:///./src/views/supplier/Procurements.vue?36a2","webpack:///./src/views/supplier/Agreements.vue?c1e7","webpack:///./src/components/web/agreements/supplier/AgreementSearch.vue?4456","webpack:///./src/components/web/agreements/supplier/AgreementSearch.vue","webpack:///./src/components/web/agreements/supplier/AgreementSearch.vue?b62a","webpack:///./src/components/web/agreements/supplier/AgreementSearch.vue?5cdd","webpack:///./src/components/web/agreements/supplier/AgreementTable.vue?5d45","webpack:///./src/components/web/agreements/supplier/AgreementTable.vue","webpack:///./src/components/web/agreements/supplier/AgreementTable.vue?08b0","webpack:///./src/components/web/agreements/supplier/AgreementTable.vue?eab7","webpack:///./src/views/supplier/Agreements.vue","webpack:///./src/views/supplier/Agreements.vue?530f","webpack:///./src/views/supplier/Agreements.vue?8636","webpack:///./src/views/supplier/SurveyOverview.vue?6f31","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue?71a3","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue?b00e","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue?3477","webpack:///./src/views/supplier/SurveyOverview.vue","webpack:///./src/views/supplier/SurveyOverview.vue?ef87","webpack:///./src/views/supplier/SurveyOverview.vue?cadd","webpack:///./src/views/supplier/Survey.vue?588d","webpack:///./src/components/web/survey/supplier/SubmitSurveyDialog.vue?21d4","webpack:///./src/components/web/survey/supplier/SubmitSurveyDialog.vue","webpack:///./src/components/web/survey/supplier/SubmitSurveyDialog.vue?6b98","webpack:///./src/components/web/survey/supplier/SubmitSurveyDialog.vue?e5cb","webpack:///./src/views/supplier/Survey.vue","webpack:///./src/views/supplier/Survey.vue?7162","webpack:///./src/views/supplier/Survey.vue?4f64","webpack:///./src/views/supplier/SubjectiveQualityPoints.vue?0c4f","webpack:///./src/views/supplier/SubjectiveQualityPoints.vue","webpack:///./src/views/supplier/SubjectiveQualityPoints.vue?c43e","webpack:///./src/views/supplier/SubjectiveQualityPoints.vue?685c","webpack:///./src/views/supplier/QualityPointsWeights.vue?acdc","webpack:///./src/views/supplier/QualityPointsWeights.vue","webpack:///./src/views/supplier/QualityPointsWeights.vue?f846","webpack:///./src/views/supplier/QualityPointsWeights.vue?a820","webpack:///./src/views/client/PublishRules.vue?cc7a","webpack:///./src/components/web/settings/WorkingHoursEditDialog.vue?c648","webpack:///./src/components/shared/input/TimePickerDuration.vue?aeb1","webpack:///./src/components/shared/input/TimePickerDuration.vue","webpack:///./src/components/shared/input/TimePickerDuration.vue?966c","webpack:///./src/components/shared/input/TimePickerDuration.vue?5264","webpack:///./src/components/web/settings/WorkingHoursEditDialog.vue","webpack:///./src/components/web/settings/WorkingHoursEditDialog.vue?ccc1","webpack:///./src/components/web/settings/WorkingHoursEditDialog.vue?763c","webpack:///./src/views/client/PublishRules.vue","webpack:///./src/views/client/PublishRules.vue?6d34","webpack:///./src/views/client/PublishRules.vue?3875","webpack:///./src/views/supplier/Documents.vue?a9c2","webpack:///./src/views/supplier/Documents.vue","webpack:///./src/views/supplier/Documents.vue?159d","webpack:///./src/views/supplier/Documents.vue?ad13","webpack:///./src/views/support-admin/Dashboard.vue?f0c2","webpack:///./src/components/shared/ui/Snow.vue?19a7","webpack:///./src/components/shared/ui/Snow.vue","webpack:///./src/components/shared/ui/Snow.vue?b85e","webpack:///./src/components/shared/ui/Snow.vue?f03d","webpack:///./src/components/support-admin/dashboard/DashboardLoadsDialog.vue?12b1","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue?2147","webpack:///./src/components/support-admin/actor/ActorTable.vue?b087","webpack:///./src/components/support-admin/actor/ActorEditDialog.vue?a83a","webpack:///./src/components/support-admin/actor/ActorEditForm.vue?856f","webpack:///./src/components/support-admin/actor/ActorEditForm.vue","webpack:///./src/components/support-admin/actor/ActorEditForm.vue?2bf1","webpack:///./src/components/support-admin/actor/ActorEditForm.vue?0b57","webpack:///./src/components/support-admin/actor/ActorEditDialog.vue","webpack:///./src/components/support-admin/actor/ActorEditDialog.vue?bfbe","webpack:///./src/components/support-admin/actor/ActorEditDialog.vue?eaf6","webpack:///./src/components/support-admin/actor/InvoiceDialog.vue?b636","webpack:///./src/components/support-admin/actor/InvoiceDialog.vue","webpack:///./src/components/support-admin/actor/InvoiceDialog.vue?8189","webpack:///./src/components/support-admin/actor/InvoiceDialog.vue?d59e","webpack:///./src/components/support-admin/actor/user/UsersDialog.vue?4e78","webpack:///./src/components/support-admin/actor/user/UsersTable.vue?0ed3","webpack:///./src/components/support-admin/actor/user/UsersTable.vue","webpack:///./src/components/support-admin/actor/user/UsersTable.vue?74c9","webpack:///./src/components/support-admin/actor/user/UsersTable.vue?a433","webpack:///./src/components/support-admin/actor/user/UserForm.vue?680c","webpack:///./src/components/support-admin/actor/user/UserForm.vue","webpack:///./src/components/support-admin/actor/user/UserForm.vue?9a8e","webpack:///./src/components/support-admin/actor/user/UserForm.vue?26c1","webpack:///./src/components/support-admin/actor/user/UserNotificationSettingsDialog.vue?8a99","webpack:///./src/components/support-admin/actor/user/UserNotificationSettingsDialog.vue","webpack:///./src/components/support-admin/actor/user/UserNotificationSettingsDialog.vue?88b2","webpack:///./src/components/support-admin/actor/user/UserNotificationSettingsDialog.vue?f741","webpack:///./src/components/support-admin/actor/user/UsersDialog.vue","webpack:///./src/components/support-admin/actor/ActorTable.vue","webpack:///./src/components/support-admin/actor/user/UsersDialog.vue?b555","webpack:///./src/components/support-admin/actor/user/UsersDialog.vue?36ad","webpack:///./src/components/support-admin/actor/ActorTable.vue?de95","webpack:///./src/components/support-admin/actor/ActorTable.vue?e8ed","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue?4725","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue?4eec","webpack:///./src/components/support-admin/dashboard/DashboardLoadsDialog.vue","webpack:///./src/components/support-admin/dashboard/DashboardLoadsDialog.vue?1b57","webpack:///./src/components/support-admin/dashboard/DashboardLoadsDialog.vue?3aa5","webpack:///./src/views/support-admin/Dashboard.vue","webpack:///./src/views/support-admin/Dashboard.vue?7d02","webpack:///./src/views/support-admin/Dashboard.vue?70c6","webpack:///./src/views/support-admin/Actors.vue?df5b","webpack:///./src/components/support-admin/actor/ActorCreateDialog.vue?6849","webpack:///./src/components/support-admin/actor/ActorCreateDialog.vue","webpack:///./src/components/support-admin/actor/ActorCreateDialog.vue?dc97","webpack:///./src/components/support-admin/actor/ActorCreateDialog.vue?a01c","webpack:///./src/views/support-admin/Actors.vue","webpack:///./src/views/support-admin/Actors.vue?a820","webpack:///./src/views/support-admin/Actors.vue?de0e","webpack:///./src/views/support-admin/Users.vue?05b7","webpack:///./src/components/support-admin/user/UserTable.vue?f99f","webpack:///./src/components/support-admin/user/UserTable.vue","webpack:///./src/components/support-admin/user/UserTable.vue?36d8","webpack:///./src/components/support-admin/user/UserTable.vue?99c9","webpack:///./src/views/support-admin/Users.vue","webpack:///./src/views/support-admin/Users.vue?3d2a","webpack:///./src/views/support-admin/Users.vue?9c6c","webpack:///./src/views/support-admin/AgreementList.vue?26dd","webpack:///./src/components/support-admin/agreements/AgreementListSearch.vue?105e","webpack:///./src/components/support-admin/agreements/AgreementListSearch.vue","webpack:///./src/components/support-admin/agreements/AgreementListSearch.vue?643f","webpack:///./src/components/support-admin/agreements/AgreementListSearch.vue?d271","webpack:///./src/components/support-admin/agreements/AgreementListTable.vue?d55a","webpack:///./src/components/support-admin/agreements/AgreementListEditDialog.vue?1448","webpack:///./src/components/support-admin/agreements/AgreementListEditDialog.vue","webpack:///./src/components/support-admin/agreements/AgreementListEditDialog.vue?f786","webpack:///./src/components/support-admin/agreements/AgreementListEditDialog.vue?c01e","webpack:///./src/components/support-admin/agreements/AgreementListTable.vue","webpack:///./src/components/support-admin/agreements/AgreementListTable.vue?b2c8","webpack:///./src/components/support-admin/agreements/AgreementListTable.vue?3b69","webpack:///./src/views/support-admin/AgreementList.vue","webpack:///./src/views/support-admin/AgreementList.vue?0783","webpack:///./src/views/support-admin/AgreementList.vue?d7ef","webpack:///./src/views/support-admin/Explorer.vue?fa26","webpack:///./src/components/support-admin/explorer/ExplorerSearch.vue?7e7a","webpack:///./src/components/support-admin/explorer/ExplorerSearch.vue","webpack:///./src/components/support-admin/explorer/ExplorerSearch.vue?4345","webpack:///./src/components/support-admin/explorer/ExplorerSearch.vue?1ecd","webpack:///./src/components/support-admin/explorer/ExplorerTree.vue?7be8","webpack:///./src/components/support-admin/explorer/ExplorerTree.vue","webpack:///./src/components/support-admin/explorer/ExplorerTree.vue?c0b0","webpack:///./src/components/support-admin/explorer/ExplorerTree.vue?d03a","webpack:///./src/components/support-admin/explorer/ExplorerDialog.vue?b6d0","webpack:///./src/components/support-admin/explorer/ExplorerDialogPrice.vue?10c4","webpack:///./src/components/support-admin/explorer/ExplorerDialogPrice.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialogPrice.vue?05c4","webpack:///./src/components/support-admin/explorer/ExplorerDialogPrice.vue?860a","webpack:///./src/components/support-admin/explorer/ExplorerDialogGeneric.vue?cfa8","webpack:///./src/scripts/misc/objectToArray.ts","webpack:///./src/components/support-admin/explorer/ExplorerDialogGeneric.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialogGeneric.vue?d92e","webpack:///./src/components/support-admin/explorer/ExplorerDialogGeneric.vue?abbf","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadActions.vue?a170","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadActions.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadActions.vue?423d","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadActions.vue?ed4f","webpack:///./src/components/support-admin/explorer/ExplorerDialogAgreementActions.vue?91ff","webpack:///./src/components/support-admin/explorer/ExplorerDialogAgreementActions.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialogAgreementActions.vue?f9d5","webpack:///./src/components/support-admin/explorer/ExplorerDialogAgreementActions.vue?59da","webpack:///./src/components/support-admin/explorer/ExplorerDialogQualityPoints.vue?8bea","webpack:///./src/components/support-admin/explorer/ExplorerDialogQualityPoints.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialogQualityPoints.vue?cbe1","webpack:///./src/components/support-admin/explorer/ExplorerDialogQualityPoints.vue?8064","webpack:///./src/components/support-admin/explorer/ExplorerDialog.vue","webpack:///./src/components/support-admin/explorer/ExplorerDialog.vue?0fe2","webpack:///./src/components/support-admin/explorer/ExplorerDialog.vue?dd10","webpack:///./src/views/support-admin/Explorer.vue","webpack:///./src/views/support-admin/Explorer.vue?ea87","webpack:///./src/views/support-admin/Explorer.vue?3426","webpack:///./src/views/support-admin/Mailviewer.vue?620d","webpack:///./src/views/support-admin/Mailviewer.vue","webpack:///./src/views/support-admin/Mailviewer.vue?b550","webpack:///./src/views/support-admin/Mailviewer.vue?a787","webpack:///./src/views/support-admin/QualityPointsVis.vue?a89c","webpack:///./src/views/support-admin/QualityPointsVis.vue","webpack:///./src/views/support-admin/QualityPointsVis.vue?6b02","webpack:///./src/views/support-admin/QualityPointsVis.vue?6c2b","webpack:///./src/views/support-admin/QualityPointsWeights.vue?a972","webpack:///./src/views/support-admin/QualityPointsWeights.vue","webpack:///./src/views/support-admin/QualityPointsWeights.vue?d431","webpack:///./src/views/support-admin/QualityPointsWeights.vue?a87a","webpack:///./src/views/support-admin/Distance.vue?f079","webpack:///./src/views/support-admin/Distance.vue","webpack:///./src/components/support-admin/DistanceTable.vue?44da","webpack:///./src/components/support-admin/DistanceTable.vue","webpack:///./src/components/support-admin/DistanceTable.vue?8f63","webpack:///./src/components/support-admin/DistanceTable.vue?5d04","webpack:///./src/views/support-admin/Distance.vue?c7ec","webpack:///./src/views/support-admin/Distance.vue?2ce1","webpack:///./src/views/support-admin/InvoiceGenerator.vue?c0ab","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorTable.vue?dfe2","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorLoadIdsDialog.vue?e68c","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorLoadIdsDialog.vue","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorLoadIdsDialog.vue?7a85","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorLoadIdsDialog.vue?b48c","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorTable.vue","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorTable.vue?cfbf","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorTable.vue?0034","webpack:///./src/views/support-admin/InvoiceGenerator.vue","webpack:///./src/views/support-admin/InvoiceGenerator.vue?bbf4","webpack:///./src/views/support-admin/InvoiceGenerator.vue?4a42","webpack:///./src/views/support-admin/PowerButtons.vue?cfee","webpack:///./src/views/support-admin/PowerButtons.vue","webpack:///./src/views/support-admin/PowerButtons.vue?0241","webpack:///./src/views/support-admin/PowerButtons.vue?4198","webpack:///./src/views/support-admin/BackgroundTasks.vue?163b","webpack:///./src/components/support-admin/BackgroundTasksTable.vue?3e48","webpack:///./src/components/support-admin/BackgroundTasksTable.vue","webpack:///./src/components/support-admin/BackgroundTasksTable.vue?ab79","webpack:///./src/components/support-admin/BackgroundTasksTable.vue?7269","webpack:///./src/views/support-admin/BackgroundTasks.vue","webpack:///./src/views/support-admin/BackgroundTasks.vue?7d04","webpack:///./src/views/support-admin/BackgroundTasks.vue?ec4f","webpack:///./src/views/support-admin/News.vue?ee16","webpack:///./src/views/support-admin/News.vue","webpack:///./src/views/support-admin/News.vue?18e1","webpack:///./src/views/support-admin/News.vue?8dee","webpack:///./src/views/support-admin/EditNews.vue?cd47","webpack:///./src/components/support-admin/news/NewsHelpIcon.vue?5d22","webpack:///./src/components/support-admin/news/NewsHelpIcon.vue","webpack:///./src/components/support-admin/news/NewsHelpIcon.vue?3c3f","webpack:///./src/components/support-admin/news/NewsHelpIcon.vue?c34a","webpack:///./src/views/support-admin/EditNews.vue","webpack:///./src/views/support-admin/EditNews.vue?0c30","webpack:///./src/views/support-admin/EditNews.vue?2791","webpack:///./src/views/support-admin/MailTemplate.vue?ae3b","webpack:///./src/views/support-admin/MailTemplate.vue","webpack:///./src/views/support-admin/MailTemplate.vue?e851","webpack:///./src/views/support-admin/MailTemplate.vue?07ca","webpack:///./src/views/support-admin/Playground.vue?82bc","webpack:///./src/views/support-admin/Playground.vue","webpack:///./src/views/support-admin/Playground.vue?f6c6","webpack:///./src/views/support-admin/Playground.vue?8540","webpack:///./src/views/support-admin/ButWhy.vue?e204","webpack:///./src/views/support-admin/ButWhy.vue","webpack:///./src/views/support-admin/ButWhy.vue?78ac","webpack:///./src/views/support-admin/ButWhy.vue?6f7a","webpack:///./src/views/support-admin/IndexComponents.vue?a9d2","webpack:///./src/views/support-admin/IndexComponents.vue","webpack:///./src/views/support-admin/IndexComponents.vue?7e8c","webpack:///./src/views/support-admin/IndexComponents.vue?ee19","webpack:///./src/views/support-admin/Documents.vue?db4f","webpack:///./src/views/support-admin/Documents.vue","webpack:///./src/views/support-admin/Documents.vue?09fe","webpack:///./src/views/support-admin/Documents.vue?a646","webpack:///./src/views/support-admin/AddToProcurements.vue?741d","webpack:///./src/views/support-admin/AddToProcurements.vue","webpack:///./src/views/support-admin/AddToProcurements.vue?cbc3","webpack:///./src/views/support-admin/AddToProcurements.vue?a184","webpack:///./src/views/support-admin/AddLocation.vue?ea12","webpack:///./src/components/shared/input/TextWithAutocomplete.vue?1f4a","webpack:///./src/components/shared/input/TextWithAutocomplete.vue","webpack:///./src/components/shared/input/TextWithAutocomplete.vue?0cf0","webpack:///./src/components/shared/input/TextWithAutocomplete.vue?a011","webpack:///./src/views/support-admin/AddLocation.vue","webpack:///./src/views/support-admin/AddLocation.vue?a381","webpack:///./src/views/support-admin/AddLocation.vue?e16f","webpack:///./src/views/support-admin/ActorSigning.vue?489d","webpack:///./src/components/support-admin/signing/ActorSigningTable.vue","webpack:///./src/components/support-admin/signing/ActorSigningTable.vue?55b3","webpack:///./src/components/support-admin/signing/ActorSigningTable.vue?2484","webpack:///./src/components/support-admin/signing/ActorSigningTable.vue?af46","webpack:///./src/views/support-admin/ActorSigning.vue","webpack:///./src/views/support-admin/ActorSigning.vue?bd1f","webpack:///./src/views/support-admin/ActorSigning.vue?4758","webpack:///./src/views/support-admin/statistics/MegaReport.vue?7f90","webpack:///./src/components/shared/charts/PieChart.vue?e1c6","webpack:///./src/components/shared/charts/PieChart.vue","webpack:///./src/components/shared/charts/PieChart.vue?837f","webpack:///./src/components/shared/charts/PieChart.vue?c091","webpack:///./src/components/support-admin/mega-report/MegaReportSearch.vue?164a","webpack:///./src/components/support-admin/mega-report/MegaReportPresetThing.vue?b35f","webpack:///./src/components/support-admin/mega-report/MegaReportPresetThing.vue","webpack:///./src/components/support-admin/mega-report/MegaReportPresetThing.vue?5539","webpack:///./src/components/support-admin/mega-report/MegaReportPresetThing.vue?04b9","webpack:///./src/components/support-admin/mega-report/MegaReportSearch.vue","webpack:///./src/components/support-admin/mega-report/MegaReportSearch.vue?3670","webpack:///./src/components/support-admin/mega-report/MegaReportSearch.vue?4566","webpack:///./src/views/support-admin/statistics/MegaReport.vue","webpack:///./src/views/support-admin/statistics/MegaReport.vue?fc22","webpack:///./src/views/support-admin/statistics/MegaReport.vue?cf96","webpack:///./src/views/support-admin/statistics/HeatMap.vue?d904","webpack:///./src/views/support-admin/statistics/HeatMap.vue","webpack:///./src/views/support-admin/statistics/HeatMap.vue?4fd0","webpack:///./src/views/support-admin/statistics/HeatMap.vue?4dab","webpack:///./src/views/support-admin/statistics/ActorStatistics.vue?df4d","webpack:///./src/components/shared/charts/BarChart.vue?ec1e","webpack:///./src/components/shared/charts/BarChart.vue","webpack:///./src/components/shared/charts/BarChart.vue?ffa7","webpack:///./src/components/shared/charts/BarChart.vue?8978","webpack:///./src/views/support-admin/statistics/ActorStatistics.vue","webpack:///./src/views/support-admin/statistics/ActorStatistics.vue?1940","webpack:///./src/views/support-admin/statistics/ActorStatistics.vue?63a3","webpack:///./src/views/support-admin/statistics/InvoicedFeesReport.vue?b205","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportSearch.vue?98fe","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportSearch.vue","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportSearch.vue?8675","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportSearch.vue?4fa6","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportTable.vue?0505","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportTable.vue","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportTable.vue?67c4","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportTable.vue?80e4","webpack:///./src/views/support-admin/statistics/InvoicedFeesReport.vue","webpack:///./src/views/support-admin/statistics/InvoicedFeesReport.vue?026a","webpack:///./src/views/support-admin/statistics/InvoicedFeesReport.vue?0186","webpack:///./src/views/support-admin/statistics/ActiveUsers.vue?8af3","webpack:///./src/views/support-admin/statistics/ActiveUsers.vue","webpack:///./src/views/support-admin/statistics/ActiveUsers.vue?2619","webpack:///./src/views/support-admin/statistics/ActiveUsers.vue?e12b","webpack:///./src/views/mobile/MobileLoads.vue?74e2","webpack:///./src/components/mobile/MobileLoadListTable.vue?ae51","webpack:///./src/components/mobile/MobileLoadListTable.vue","webpack:///./src/components/mobile/MobileLoadListTable.vue?3833","webpack:///./src/components/mobile/MobileLoadListTable.vue?1045","webpack:///./src/components/mobile/MobileLoadListTabs.vue?79ff","webpack:///./src/components/mobile/MobileLoadListTabs.vue","webpack:///./src/components/mobile/MobileLoadListTabs.vue?1efc","webpack:///./src/components/mobile/MobileLoadListTabs.vue?eb2c","webpack:///./src/views/mobile/MobileLoads.vue","webpack:///./src/views/mobile/MobileLoads.vue?2f52","webpack:///./src/views/mobile/MobileLoads.vue?cd91","webpack:///./src/views/mobile/MobileSlots.vue?bfd8","webpack:///./src/components/mobile/slots/MobileSlotBookingCalendar.vue?9626","webpack:///./src/components/mobile/slots/MobileSlotBookingCalendar.vue","webpack:///./src/components/mobile/slots/MobileSlotBookingCalendar.vue?5909","webpack:///./src/components/mobile/slots/MobileSlotBookingCalendar.vue?20cd","webpack:///./src/components/mobile/slots/MobileSlotBookingExpansionPanels.vue?a180","webpack:///./src/components/shared/input/TimePicker.vue?e9ed","webpack:///./src/components/shared/input/TimePicker.vue","webpack:///./src/components/shared/input/TimePicker.vue?b39c","webpack:///./src/components/shared/input/TimePicker.vue?f3b9","webpack:///./src/components/mobile/slots/MobileSlotBookingExpansionPanels.vue","webpack:///./src/components/mobile/slots/MobileSlotBookingExpansionPanels.vue?c002","webpack:///./src/components/mobile/slots/MobileSlotBookingExpansionPanels.vue?dc8e","webpack:///./src/components/mobile/slots/MobileSlotBookingNotAvailable.vue?2425","webpack:///./src/components/mobile/slots/MobileSlotBookingNotAvailable.vue","webpack:///./src/components/mobile/slots/MobileSlotBookingNotAvailable.vue?6934","webpack:///./src/components/mobile/slots/MobileSlotBookingNotAvailable.vue?a1b0","webpack:///./src/views/mobile/MobileSlots.vue","webpack:///./src/views/mobile/MobileSlots.vue?dd86","webpack:///./src/views/mobile/MobileSlots.vue?a213","webpack:///./src/scripts/router.ts","webpack:///./src/scripts/vuetify.ts","webpack:///./src/main.ts","webpack:///./src/assets/sound/notification.mp3","webpack:///./src/components/web/loads/shared/list/LoadInfoIcons.vue?70c8","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue?3b29","webpack:///./src/views/supplier/Survey.vue?ca7a","webpack:///./src/components/web/slots/SlotCalendarHeader.vue?3dbd","webpack:///./src/components/support-admin/actor/user/UsersTable.vue?0d26","webpack:///./src/views/shared/PriceList.vue?3b35","webpack:///./src/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue?5384","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue?d16d","webpack:///./src/components/web/documents/DocumentRouteDialog.vue?9c37","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue?857e","webpack:///./src/components/shared/input/LocationFilter.vue?8e23","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue?a7e5","webpack:///./src/components/web/loads/client/edit/LoadEditDialog.vue?5dc2","webpack:///./src/components/mobile/MobileFooter.vue?9f7b","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue?f16e","webpack:///./src/components/shared/ui/Language.vue?1c58","webpack:///./src/components/mobile/slots/MobileSlotBookingExpansionPanels.vue?71f5","webpack:///./src/components/web/survey/SurveyQuestion.vue?d258","webpack:///./src/components/shared/input/NumberInput.vue?4942","webpack:///./src/components/shared/input/TimePicker.vue?30d6","webpack:///./src/components/shared/input/AddressCombobox.vue?ee72","webpack:///./src/components/web/loads/shared/LoadDialogMultiTable.vue?083f","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue?6339"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","_vm","this","_h","$createElement","_c","_self","attrs","username","menu","unauthenticatedPage","on","signout","staticClass","undefined","broadcast","broadcastMessage","broadcastSecondsLeft","globalError","show","message","closable","hideGlobalError","confirmationOptions","pageForbiddenReason","actorTypeString","_e","staticRenderFns","ActorType","UserLevel","SupportAdminLevel","ApiConfiguration","store","ApiClientBase","apiConf","options","headers","getters","token","currentClientVersion","Promise","resolve","url","response","processor","console","error","UsersClient","configuration","baseUrl","instance","jsonParseReviver","axios","cancelToken","url_","replace","options_","method","transformOptions","then","transformedOptions_","request","catch","_error","isAxiosError","_response","processProfile","status","_headers","k","_responseText","result200","resultData200","ProfileDto","fromJS","throwException","culture","Error","encodeURIComponent","processSaveLanguage","req","content_","JSON","stringify","processUserConfiguration","responseType","processUserListExport","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","Blob","type","processBasicUserSettingsList","Array","isArray","item","BasicUserSettingsDto","loadUserId","processBasicUserSettings","saveDto","processSaveBasicUserSettings","processNotificationSettings","NotificationSettingsDto","processSaveNotificationSettings","processCheckUsername","processResetCredentials","dimensions","processReportScreenDimensions","processListForSupportAdmin","SupportAdminUserListDto","loadUserIds","processExportSelectionForSupportAdmin","actorId","processByActorId","UserDto","processResetLockout","enable","processEnable","user","processEdit","processClearConfigurations","processCopyConfigurations","processMutateActor","userLevel","processMutateUserLevel","processResetCredentialsLink","SurveyClientClient","processSurveys","SurveyDto","supplierId","processLatestSubmission","SurveySubmissionDto","processSuppliers","SurveySupplierDto","SurveySupplierClient","processSubmissions","submissionId","processSubmission","submission","processSubmit","SupportClient","processPreSupport","SupportFormPreDetailsDto","supportFormDto","processSend","ActorsClient","processActorForSupportAdmin","ActorDto","SupportAdminActorListDto","actorIds","processExportListForSupportAdmin","actor","processEditForSupportAdmin","lockUsers","processLockUsers","processActorsForMutation","RepositoryDto","cargoType","processSuppliersForSupportAdmin","includeInactive","processClientsForSupportAdmin","invoiceDto","processEditInvoiceInformation","processOrgNo","ActorOrgNoDto","processActorInvoiceInformationForSupportAdmin","actorType","processList","ActorListDto","actorTypeToExport","processListExport","processDetails","ActorDetailsDto","processSuperAdmins","SuperAdminDto","processPreEdit","PreEditActorDto","clientId","processPublishRules","PublishRuleDto","publishRules","processSavePublishRules","processClientSchedule","ClientScheduleDto","processSaveClientSchedule","processActorConfiguration","processDeleteActorConfiguration","processSaveExcludedActors","processActorInvoiceInformation","ActorSigningClient","ActorSigningDto","processTerminate","processInitialize","processSendReminder","AgreementsClient","searchCriteria","processAgreements","AgreementListDto","agreementRows","processUpdatePrice","processAddSupplierToProcurements","processExportToExcel","processClientsWithProcurements","agreementId","processSetProcurementEnd","agreementRouteId","processSpecialRequirements","SupportAdminDashboardClient","processCurrentLoads","SupportAdminDashboardCurrentLoads","processProcurements","SupportAdminDashboardProcurements","SupportAdminDashboardAgreements","DistanceClient","criteria","AgreementRouteDistanceContainerDto","agreementRoute","processUpdate","AgreementRouteDistanceDto","DocumentsClient","processSupportAdminList","DocumentGroupDto","documentGroupId","processSupportAdminDetails","DocumentGroupContainerDto","file","processSaveToNewsGroup","docType","includeHidden","processClients","loadId","processSpotTender","processClientDocumentsForSuppliers","ClientDocumentsForSuppliersDto","processSave","processSaveToLoadGroup","processSaveToMessageGroup","processLoadDocuments","LoadDocumentDto","MailviewerClient","processEmails","EmailDto","renderTemplateDto","processRenderEmail","emailId","processResetEmailRetrycount","ExplorerClient","processSelectionOptions","ExplorerSelectionOptionsDto","processNodes","ExplorerNodeDto","processLoad","LoadCompleteDto","processLoadhistory","LoadHistoryDto","processVisibility","LoadVisibilityDto","processResigns","LoadResignsDto","processPublishInfo","PublishInfoDto","processSuppliernotified","LoadSupplierNotifiedDto","processSupplierunbookedloads","SupplierUnbookedLoadsDto","processPricerowByLoadid","UpdateLoadPriceDto","priceRowId","processPricerowByPricerowid","processLoadrelations","LoadRelationsDto","agreementRowId","processAgreementrow","AgreementRowDto","processAgreementroute","AgreementRouteSaDto","processAgreementroutehistory","AgreementRouteHistoryDto","processAgreementroutetrucktypes","AgreementRouteTruckTypesDto","processAgreement","AgreementDto","processAgreementhistory","AgreementHistoryDto","processAgreementqualitypoints","ExplorerAgreementQualityPoints","processUndoloadingload","IndexClient","processIndexComponents","IndexPeriodWithComponents","periods","processSaveIndexComponents","InvoiceClient","processGenerate","InvoiceRowSupportAdminDto","processMarkAsInvoiced","processExportInvoice","InvoicedFeesClient","processReport","InvoicedFeesContainerDto","processExport","processDates","moment","parseZone","processActors","LocationsClient","loc","processCloseMatches","CloseMatchesContainerDto","processExactMatches","ExactMatchesContainerDto","processAdd","processListRemovable","RemoveLocationDto","locationId","processRemove","processCountiesStartingWith","processZipcodesStartingWith","NewsClient","NewsSupportAdminDto","news","newsId","processDelete","processPublish","processListSimple","NewsDto","processUpdateLastNewsRead","PowerbuttonsClient","processLogTest","PriceClient","processUpdateLoadPrice","SupportAdminQualityPointsClient","processVisualisation","QualityPointsVisualisation","processPerformanceWeights","PerformanceQPWeightsDto","processSubjectiveWeights","SubjectiveQPWeightsDto","RepositoryClient","processUsersSupportAdmin","processUnitsSupportAdmin","processCountiesSupportAdmin","processSystemStatus","SystemStatusDto","processCountries","pickup","processCountiesByCargotype","country","processIanaTimeZones","TimeZoneDto","processAgreementRouteTimeZones","processCounties","processCountiesAndZipcode","CountyWithZipcodeDto","processPriceFilters","processPrices","PriceListDto","includeOnesExcludedByMe","includeOnesThatExcludeMe","processClientsWithAgreements","processTerminals","processCustomers","processUnits","processAgreementRoutes","AgreementRouteWithAgreementStatusDto","processTrucktypesByAgreementrouteid","TruckTypeDto","processIndexPeriods","IndexPeriodDto","processBaseIndexPeriods","BaseIndexPeriodDto","processBaseIndexPeriodByValidDate","processFuelIndexesForDate","FuelIndexDto","processFuelIndexes","processCountiesOnAgreementroutes","processCountriesOnAgreementroutes","processAllowedUploadFileExtensions","processCustomsPassages","CustomsPassageDto","b","f","processNotToBeCalled","StatisticsClient","processMegaReport","MegaReportDatasetDto","exportData","processMegaReportExport","actorSearchCritera","ActorRegDto","processHeatMap","processActiveUsersNow","ActiveUsersNowDto","processActiveUsersStatistics","ActiveUsersStatisticsDto","BackgroundTaskClient","BackgroundTaskStatusDto","task","taskId","processRun","ReportsClient","processCost","CostReportContainerDto","processCostExportToExcel","processLoadStatistics","LoadStatisticsReportContainerDto","processLoadStatisticsExportToExcel","processAgreementStatistics","AgreementStatisticsReportContainerDto","processAgreementStatisticsExportToExcel","processDeviation","DeviationReportContainerDto","processDeviationExportToExcel","processInvoice","InvoiceReportContainerDto","itemsToTreat","processInvoiceTreatedStatus","processInvoiceExportToExcel","processDistance","DistanceReportContainerDto","processDistanceExportToExcel","processProcurementAnalytics","ProcurementAnalyticsContainerDto","processProdurementAnalyticsExportToExcel","processCostForecast","CostForecastReportContainerDto","processCostForecastExportToExcel","processClientMonitoring","ClientMonitoringContainerDto","processClientMonitoringExportToExcel","processAnnulledLoadsReport","AnnulledLoadsReportContainerDto","processAnnulledLoadsReportExportToExcel","QualityPointsClientClient","QualityPointsContainerDto","processQualityPointsPastYear","QualityPointsPastYearDto","processByAgreementid","QualityPointsAgreementDto","processSubjectivePoints","SubjectiveQPDto","processSubjectiveHistory","SubjectiveQualityPointsHistoryDto","subjectiveQualityPoints","processSubjectiveSave","QualityPointsSupplierClient","ProcurementsClientClient","processBySearchCriteria","AgreementDataDto","processOverviewBySearchCriteria","ClientAgreementContainerDto","processRankByPrice","processRankByQualitypoints","agreementIds","processFinishProcurement","addProcurementPeriodData","processAddProcurementPeriod","processSuppliersInProcurements","requestData","processRemoveSupplier","processRemoveProcurement","saveProcurementDto","processCreateProcurement","supplierIds","processValidateSuppliers","SupplierValidationResultDto","processValidateAgreementroutes","AgreementRouteValidationResultDto","ProcurementsSupplierClient","SupplierProcurementContainerDto","givenPrices","processSavePrices","excel","FormData","append","processImportFromExcel","SpotTenderClientClient","processPreCreateSpotTender","PreSpotTenderDto","createSpotTenderData","processCreateSpotTender","LoadActionResponse","processPreFinishSpotTender","PreClientEditSpotTenderDto","finishSpotTenderData","processFinishSpotTender","processDeleteSpotTender","SpotTenderClient","processSpotTenderAccordionDetails","SpotTenderAccordionDto","SpotTenderSupplierClient","supplierEditSpotTenderDto","processEditSpotTender","processPreEditSpotTender","PreSupplierEditSpotTenderDto","MobileClient","deliverLoad","processDeliver","encodedLoadId","AnonymousLoadDetailsDto","loadStatus","processLoadlist","MobileLoadListDto","LoadsClientClient","loads","processCreate","loadIds","processPreAnnul","LoadPreAnnulDetailsDto","annulDetails","processAnnul","processPreLoad","LoadPreLoadLoadDetailsDto","processPreDeviation","LoadPreLoadDeviationDto","deviationDto","processSaveDeviation","loadLoadDto","processPreUnbook","PreUnbookLoadDetailsDto","unbookDetails","processUnbook","processPreReorder","LoadPreReorderDetailsDto","loadReorderDto","processReorder","LoadClientPreEditDto","load","processRelatedLoadDetails","RelatedLoadSummaryDto","LoadsClient","searchCriteriaContainer","LoadListContainerDto","processAllowedActions","LoadActionPermissionContainerDto","processLock","LoadLockDto","processUnlock","processLockStatus","bookLoadArguments","processBook","processPreBookDetails","LoadPreBookDetailsDto","deliverLoadArguments","processPreDeliverDetails","LoadPreDeliverDetailsDto","processExportContainerPdf","processAdditionalDeliveryInfo","AdditionalDeliveryInfoDto","processRelatedLoads","RelatedLoadsDto","processAppendices","AppendixListItemDto","appendixId","processAppendixData","AppendixDto","exportType","processAppendixExport","searchArgument","processLoadSearch","LoadSearchResultDto","processSublocations","LoadClientEditSubLocations","processContainers","LoadClientEditContainersDto","processHistory","LoadDetailsHistoryDto","processCustomsInfo","CustomsInfoDto","LoadDetailsDto","truckType","distance","processEmission","processPrice","PriceRowDto","processContacts","LoadContactDto","loadContacts","processSaveContacts","LoadsSupplierClient","resignData","processResign","processPreResignDetails","LoadPreResignDetailsDto","pickupInfo","processEditLoad","processPreEditLoadDetails","LoadPreSupplierEditDetailsDto","processPreEditContainerDetails","LoadSupplierEditContainerDto","containerDetails","processSaveContainerDetails","documentIds","processSaveDocuments","StandardPhrasesClient","StandardPhraseDto","processListAgreementRouteStandardPhrases","AgreementRouteStandardPhraseDto","phrase","processSaveAgreementRouteStandardPhrase","phraseId","processDeleteAgreementRouteStandardPhrase","AnonymousLoadingSlotsClient","processEncodedLoadWithCargoLoadings","LoadWithCargoLoadingDto","processCalendars","LoadingDockDto","anonymousLoadingSlotSaveDto","processSaveLoadingSlots","LoadingSlotsClient","processLoadWithCargoLoadings","processLoadingSlots","LoadingSlotListDto","saveContainer","blocking","processSaveBlocking","blockingDeleteDto","processDeleteBlocking","FilesClient","processUpload","DirectMessagingClient","messageType","processActorsWithSubscribingRecipients","processRecipients","RecipientDto","DirectMessageDto","messageId","processMarkAsViewed","processNumUnviewed","DashboardClient","processLoads","LoadDashboardDto","processNews","ProcurementDashboardDto","processSpotTenders","SpotTenderDashboardDto","AgreementsClientClient","agreementSearchCriteria","processByAgreementId","RankingAgreementDto","currentAgreementId","processByPreviousAgreementId","processTrucktypesByAgreementId","RankingTruckTypesDto","processAgreementLimitingDates","AgreementLimitingDatesDto","processAgreementToDates","AgreementCountryToDateDto","ranking","processSaveRanking","processHighestRank","processAgreementPeriods","AgreementPeriodDto","processRankedSuppliersByAgreementroute","RankedSupplierDto","processExportSupplierRoutePrices","AgreementsSupplierClient","SupplierAgreementContainerDto","RoutingClient","county","zipcode","address","processAddressSuggestions","SuggestionDto","fromCountry","fromCounty","fromZipcode","fromAddress","toCountry","toCounty","toZipcode","toAddress","processItinerary","ItineraryDto","AgreementRoutesClient","AgreementRouteDto","processListForProcurement","AgreementRouteForProcurementDto","processSuppliersForProcurement","createAgreementRouteDto","processAgreementRouteExists","processCreateAgreementRoute","processTags","tags","processSaveTags","phrases","processSaveStandardPhrases","defaultMandatoryFlags","processSaveDefaultMandatoryFlags","processSaveHiddenStatus","connectedTruckTypes","processSaveConnectedTrucktypes","estimates","processSaveEstimateAgreementRoutes","processEstimateFromHistoricalPeriod","EstimateFromHistoricalPeriodDto","processImportEstimateFromExcel","ImportedEstimatesDto","agreementRouteIds","processExportEstimateToExcel","processExportAllToExcel","processArchiveOrDelete","_data","supportAdminLevel","userConfigurations","UserConfigurationDto","actorConfigurations","ActorConfigurationDto","actorName","actorCargoTypes","timeZone","toJSON","init","UserConfigurationType","subTypeId","ActorConfigurationType","Culture","CargoType","TimeZone","NotificationGroup","email","mobileNo","actorInvoiceInformationId","enabled","groups","NotificationSettingsGroupDto","notificationGroup","rows","NotificationSettingsRowDto","pickupCountyFilter","LocationFilterDto","pickupZipCodeFilter","deliveryZipCodeFilter","unitFilter","clientFilter","alteredByLoadUser","Notification","NotificationUserInterfaceGroup","notification","userInterfaceGroup","checked","Country","filter","Survey","ReportScreenDimensionsDto","width","height","id","iteration","questionGroups","QuestionGroupDto","Question","questions","Currency","survey","loadUserName","respondentName","respondentRole","answerDate","toString","pointsPercentage","completed","supplierName","surveyAnswerRows","SurveyAnswerRowDto","toISOString","questionId","selectedOption","text","percentage","surveyId","fairTransportCertifiedDate","fairTransportCertified","SurveySubmissionSaveDto","mobile","SupportFormDto","subject","description","FileDto","contentType","fileData","orgNo","regDate","activatedDate","inactivatedDate","lastActive","active","mainContact","mainContactEmail","mainContactPhone","contractManager","contractManagerMail","contractManagerPhone","contractAddress","internalNote","cargoTypes","connectedClients","allUsersDisabled","mainContactName","users","ActorListUserDto","invoiceInfos","EditInvoiceInformationDto","userName","customerNoAffe","projectNoAffe","currency","TerminatedStatus","contractManagerEmail","contractManagerName","signingStarted","signingCompleted","lastReminder","pendingSignatoryParty","terminatedStatus","noOfAttempts","TruckType","clientName","agreementPeriod","procurementPeriod","procurement","pickupCounty","pickupZipCode","pickupCountry","deliveryCounty","deliveryZipCode","deliveryCountry","numLoadsLoaded","numLoadsDeclined","numLoadsOffered","numLoadsTotal","stopPrice","serviceFee","initialFee","prices","AgreementListPriceDto","baseIndexDate","price","LoadStatus","AgreementSearchCriteriaDto","invoicePrice","date","includeStatistics","AgreementRowPriceUpdateDto","AddSupplierToProcurementsDto","clientIds","ordered","missingAgreement","booked","loaded","delivered","SupportAdminDashboardLoadDto","transportNo","pickupLocation","deliveryLocation","pickupEarliest","deliverLatest","RoutingExactness","AgreementRouteStatus","farAhead","farBack","notStarted","pricePhase","rankingPhase","endingSoon","endingSoonWithoutSuccessors","endingSoonish","endingSoonishWithoutSuccessors","endingLater","count","routingExactnessPickup","routingExactnessDelivery","numAgreements","AgreementRouteDistanceOrderBy","AgreementRouteDistanceSearchCriteriaContainer","AgreementRouteDistanceSearchCriteria","itemsPerPage","pageNumber","orderBy","orderByDesc","hasDistance","hidden","DocType","alterDate","documents","DocumentDto","connectedToAgreement","ExplorerSelectionMethod","diskName","fileFormat","displayName","documentGroup","routes","DocumentGroupRouteDto","from","to","SaveDiskFileToDocumentDto","mailAddress","sendDate","preferedSendDate","retryCount","body","EmailSearchCriteria","withRetries","topMailCount","emailAddressFilter","fromDate","toDate","RenderTemplateDto","template","methods","ExplorerSelectionMethodOptionDto","loadStatuses","ExplorerSelectionLoadStatusOptionDto","clients","ExplorerNodeType","guid","color","children","PublishSpeed","ExplorerSearchCriteria","client","routeId","routeName","truckTypeId","truckName","statusId","statusName","note","pickupLatest","deliveryEarliest","deliveryLatest","loadOrderNo","truckNo","volume","weight","packages","blno","customerId","customerName","otherPrice","otherPriceCauseId","otherPriceDesc","deviationCauseId","deviationCauseName","deviationDesc","bookingDate","consignmentNote","publishDate","publishSpeed","bookingLoadUserId","bookingLoadUserName","bookedPickupDate","bookedPickupInfo","regLoadUserId","alterLoadUserId","alterLoadUserName","unit","referenceNo","loadedDate","destinationInformation","contentInformation","noSuppliersLeftToNotify","deliveryDate","accountingNo","vonum","assortmentId","pickupLocationAddress","deliveryLocationAddress","bookingNo","dateForClosing","shipName","eta","stuffingLocation","knvalue","kncurrency","knproductCode","incoterms","etd","mandatoryBookedPickupDate","driverNo","escortCarPrice","vtlPrice","deliveryLocationLat","deliveryLocationLng","deliveryPackageNumber","loadIdforExternalUse","terminalId","terminalName","distanceMethodPickup","distanceMethodDelivery","bookedDeliveryDate","mandatoryBookedDeliveryDate","bookedDeliveryInfo","specialRequirements","subPickupLocations","subDeliveryLocations","agreementRouteName","IndexType","why","visibleDate","nextVisibleDate","visible","rank","notifiedDate","typeId","unBookedDate","basePrice","freightPrice","indexFactor","indexPrice","bookingFee","numExtraStops","numContainers","indexDate","parents","publishRuleId","estimatedShareOfLoads","qualityPointsCalcDeviationTypeId","fuelIndex","estimatedNoOfLoads","cargoTypeId","currencyTypeId","statusChangeWhen","statusChangedByLoadUserId","predefinedPickupAddress","specialRequirementId","pickupInfoId","destinationInfoId","truckTypeName","mandatory","procurementFromDate","procurementToDate","agreementCreatedDate","periodNumber","agreementFrom","agreementTo","procurementFrom","procurementTo","qualityPointsFrom","qualityPointsTo","components","IndexComponent","indexType","share","FeeType","feeType","priceWithDiscount","discount","discountText","numberOfItems","actorInvoiceInformationName","projectNo","customerNo","InvoicedFeesOrderBy","InvoiceSearchDto","feeTypes","InvoicedFeeRowDto","priceEach","discountEach","priceWithDiscountEach","priceTotalWithDiscount","InvoicedFeesSearchCriteriaContainer","InvoicedFeesSearchCriteria","invoiceDate","RankingType","overallMatches","LocationMatchDto","countyMatches","zipCodeMatches","zipCode","AddLocationDto","exactMatch","location","removable","LocationStartingWithDto","str","displayDate","NewsRowDto","actorTypes","summary","rankingType","baseParameterPoints","factoredParameterPoints","factor","subjectivePoints","pricePoints","totalPoints","priceForRanking","priceRankingForQP","routeQP","QualityPointsValuesModel","clientQP","systemQP","validQP","PerformanceQPParameter","numLoadsRejected","numLoadsSelfBooked","numLoadsLoadedWithinRequestedTime","numLoadsLoadedWithStatedTime","numLoadsLoadedWithinStatedTime","numLoadsDelivered","numLoadsDeliveredWithStatedTime","numLoadsDeliveredWithinStatedTime","numLoadsDeliveredUsingApp","partLoadsLoaded","partLoadsOffered","partLoadsRejected","partLoadsLoadedWithinRequestedTime","partLoadsLoadedWithStatedTime","partLoadsLoadedWithinStatedTime","partLoadsDelivered","partLoadsDeliveredWithStatedTime","partLoadsDeliveredWithinStatedTime","partLoadsDeliveredUsingApp","pointsLoadsLoaded","pointsLoadsRejected","pointsLoadsLoadedWithinRequestedTime","pointsLoadsLoadedWithStatedTime","pointsLoadsLoadedWithinStatedTime","pointsLoadsDelivered","pointsLoadsDeliveredWithStatedTime","pointsLoadsDeliveredWithinStatedTime","pointsLoadsDeliveredUsingApp","pointsSubjective","parameter","parameterName","valueFrom","valueTo","points","DeviationCause","OtherPriceCause","parameterId","minValue","maxValue","CountriesSupportAdminSearchCriteria","countries","LoadsAndMoneyDto","yearForDisplay","bookingFeeType","deviationCause","otherPriceCause","containers","bookingFees","freightPrices","avgFreightPrice","avgFreightPricePerVolume","numDelivered","percentDelivered","numBookedPickup","percentBookedPickup","numBookedDelivery","percentBookedDelivery","numHasDistanceLoad","percentHasDistanceLoad","numHasDistanceRoute","percentHasDistanceRoute","numEconomy","percentEconomy","numBroadcast","percentBroadcast","numHasOtherPrice","percentHasOtherPrice","ActiveUsersStatisticsDatePrecision","MegaReportSearchCriteria","fromCountries","toCountries","fromCounties","toCounties","accumulate","monthsInGroup","truckTypes","units","splitBookingFeeType","deviationCauses","otherPriceCauses","stackYears","MegaReportExportDto","title","rowHeaders","columns","MegaReportExportColumnDto","heading","values","actorsCount","actors","ActorAddedInfoDto","ActorSearchCriteria","HeatMapSearchCriteria","hoursPerGroup","integrationUser","activeUsers","activeClients","activeSuppliers","activeCustomers","activeTerminals","activeIntegrationUsers","ActiveUsersStatisticsSearchCriteria","precision","TriggerState","hasAnyEmailSubscriptions","isEnabled","lockoutEnd","accessFailedCount","lastActivityDate","createdDate","previousFireTime","nextFireTime","triggerState","repeatInterval","startAt","timesTriggered","FuelIndexType","BackgroundTaskDto","locationAndAgreementRouteLastModified","BroadcastDto","secondsLeft","PriceListSearchCriteria","pickupLocationId","deliveryLocationId","pickupZone","deliveryZone","hasAgreement","mandatoryPickUpDateRequiredDefaultValue","mandatoryDeliveryDateRequiredDefaultValue","predefinedPickupInfo","predefinedDeliveryInfo","AgreementRouteSearchCriteria","agreementDate","TruckTypeSearchCriteria","IndexValueDto","validFrom","BaseIndexPeriodSearchCriteria","validDate","CountryISO","LoadFilterDaysBack","LoadFilterDaysForward","NotificationFilterType","FuelIndexesSearchCriteria","CostReportOrderBy","numLoads","numBroadcasts","avgRanking","CostReportPrices","CostReportRowDto","total","avg","perKm","totalPrice","avgPrice","pricePerVolume","pricePerKm","currencyType","routeID","CostReportSearchCriteriaContainer","CostReportSearchCriteria","LoadStatisticsReportSplit","LoadStatisticsReportTab","LoadStatisticsReportOrderBy","LoadStatisticsReportRowDto","offered","rejected","ignored","broadcastOffered","broadcastLoaded","loadedWithinRequestedTime","loadedWithStatedTime","loadedWithinStatedTime","deliveredWithinRequestedTime","deliveredUsingApp","deliveredWithStatedTime","deliveredWithinStatedTime","shareLoaded","shareRejected","shareIgnored","shareBroadcastOffered","shareBroadcastLoaded","shareLoadedWithinRequestedTime","shareLoadedWithStatedTime","shareLoadedWithinStatedTime","shareDelivered","shareDeliveredWithinRequestedTime","shareDeliveredUsingApp","shareDeliveredWithStatedTime","shareDeliveredWithinStatedTime","LoadStatisticsReportSearchCriteriaContainer","LoadStatisticsReportSearchCriteria","deliveryCountries","includeBroadcast","splitColumns","tab","AgreementStatisticsReportOrderBy","AgreementStatisticsReportRowDto","shareOffered","shareBooked","loadsTotal","AgreementStatisticsReportSearchCriteriaContainer","AgreementStatisticsReportSearchCriteria","DeviationReportOrderBy","DeviationReportRowDto","sums","DeviationReportSums","loadUserPhone","topRankedSupplierId","topRankedSupplierName","topRankedFreightPrice","agreementFreightPrice","freightPriceDifference","DeviationReportSearchCriteriaContainer","DeviationReportSearchCriteria","InvoiceReportTreatedStatus","InvoiceReportOrderBy","InvoiceReportRowDto","priceSums","InvoiceReportPriceSum","baseIndexName","treated","refNo","history","InvoiceTreatedAndRefrenceHistoryDto","priceSum","InvoiceReportSearchCriteriaContainer","InvoiceReportSearchCriteria","treatedStatuses","DistanceReportOrderBy","InvoiceTreatedRefNoDto","DistanceReportRowDto","totalDistance","avgDistance","totalEmission","avgEmission","numLoadsFT","distanceFT","numLoadsWithDistance","DistanceReportSearchCriteriaContainer","DistanceReportSearchCriteria","mergeTruckTypes","CostForecastRankMethod","ProcurementAnalyticsAgreementRouteDto","prevAgreementId","estimate","prevFromDate","prevToDate","prevEstimate","tag","ProcurementAnalyticsTruckTypeDto","supplierRows","ProcurementAnalyticsSupplierRowDto","prevPrice","prevRank","priceDiff","priceDiffShare","ProcurementAnalyticsSearchCriteriaContainer","ProcurementAnalyticsSearchCriteria","agreementValidDate","unitBasePriceDate","CostForecastRowDto","prevAgreementFrom","prevAgreementTo","prevNumLoads","prevNumContainers","prevAvgPrice","prevTotalPrice","prevTotalProjectedPrice","prevAvgRank","truckTypeLoadShares","CostForecastTruckTypeLoadShareDto","noOfSuppliersInAveragePrice","loadShare","CostForecatReportSearchCriteriaContainer","CostForecastSearchCriteria","costForecastRankMethod","ClientMonitoringOrderBy","ClientMonitoringRowDto","ClientMonitoringReportSumsDto","loadedCount","daysRegToPickupEarliest","daysRegToDelivLatest","canceledCount","deviatedCount","broadcastCount","directBookedCount","spotTenderCount","averageRanking","canceled","deviated","directBooked","spotTender","shareCanceled","shareDeviated","shareBroadcast","shareDirectBooked","shareSpotTender","ClientMonitoringSearchCriteriaContainer","ClientMonitoringSearchCriteria","AnnulledLoadsReportOrderBy","AnnulledLoadsReportRowDto","annulledTimeZoneDate","annulledBy","AnnulledLoadsReportSearchCriteriaContainer","AnnulledLoadsReportSearchCriteria","QualityPointsReportSplit","QualityPointsOrderBy","QualityPointsRowDto","pointsPerformance","pointsTotal","QualityPointsSearchCriteriaContainer","QualityPointsSearchCriteria","split","SubjectiveQPParameter","surveyPoints","fairTransportPoints","AgreementHistoryType","pickupCountryAsEnum","deliveryCountryAsEnum","deliveryZipcode","pickupZipcode","currencyName","alteredDate","alteredBy","alteredType","RankingAgreementRowDto","unitBasePrice","currentRankingType","qualityPointsRankingType","parameterFactor","PriceFilter","ClientAgreementSearchCriteria","priceFilter","pickupLocationCounty","deliveryLocationCounty","pickupLocationZipCode","deliveryLocationZipCode","noOfItemsInAverage","AgreementClientOrderBy","ClientAgreementRowDto","pickupCountryISO","deliveryCountryISO","agreementFromDate","agreementToDate","averageFreigtPriceAll","averageFreigtPriceTop","ClientAgreementSearchCriteriaContainer","RankingMethod","RankRequest","AddProcurementPeriodDto","qualityPointsFromDate","qualityPointsToDate","rankingMethod","messageToSupplier","sendEmails","SupplierProcurementOrderBy","ProcurementSupplierRemoveDto","SaveProcurementDto","procurementPeriods","ProcurementPeriodDto","number","valid","reason","ValidateAgreementRoutesSearchCriteria","agreementRouteForProcurementSearchCriteria","AgreementRouteForProcurementSearchCriteria","agreementStart","SupplierProcurementRowDto","importInfo","ImportInfoDto","originalShare","originalStopPrice","originalServiceFee","originalNote","prevShare","prevStopPrice","prevNote","messageToSuppliers","priceRows","SupplierProcurementPriceRowDto","prevPriceRows","originalBasePrice","originalInitialFee","errors","SupplierExcelImportErrorMessage","errorMessage","subMessages","SupplierProcurementSearchCriteriaContainer","SupplierProcurementSearchCriteria","daysForward","pickupCountries","closedProcurements","LoadValuePermission","SupplierProcurementPriceDto","SupplierGivenPriceDto","rankedSupplierIds","CreateSpotTenderDto","endDate","dates","LoadClientEditDatesDto","deliverEarliest","deliverZone","mandatoryBookedPickup","mandatoryBookedDelivery","loadTruckType","ongoing","PreEditSpotTenderPriceDto","suppliers","spotTenderId","spotTenderPriceRowId","FinishSpotTenderDto","SupplierEditSpotTenderDto","SupplierEditSpotTenderPriceDto","read","DeliverLoadMobileDto","consigneeNote","packageNo","pickupAddress","deliveryAddress","deliveryInfo","slotTimeBooking","route","stops","LoadClientLoadBaseModel","dateRequirements","LoadClientEditDateRequirementsDto","LoadClientEditLocationDto","infoTexts","LoadClientEditInfoTextsDto","assortedValues","LoadClientEditAssortedValuesDto","subLocations","relatedLoads","LoadClientEditRelatedLoadsSaveDto","containerValues","LoadClientEditDocumentsDto","LoadClientCreateDto","publishValues","LoadClientPublishValues","bookedPickup","bookedDelivery","pickupStreetAddress","deliveryStreetAddress","destinationInfo","contentInfo","blNo","SubLocationDto","locationDisplayNameReadOnly","knCurrency","knValue","knProductCode","ContainerDto","sumPackages","sumVolume","sumWeight","thcValue","thcCurrency","containerNo","sealNo","blMark","externalContainerId","AnnulLoadDetailsDto","pickupTimeZone","deliveryTimeZone","noteOtherPrice","noteDeviation","supplierAndPrice","SaveDeviationDto","LoadLoadDto","regNo","UnbookDto","ReorderLoadDto","supplierBookingInfo","LoadClientEditSupplierBookingInfoDto","permissions","LoadValuePermissionDto","deviation","LoadDetailsDeviationDto","customsInfoRequired","permissionType","LoadVisibilityFilter","LoadFilterDateType","LoadOrderBy","LoadClientEditDto","locations","LoadListDto","numRelatedLoads","noSupplierLeftToNotify","resigned","spotTenderEndDate","visibleToNextSupplier","pickupLocationFormatted","deliveryLocationFormatted","spotTenderPriceTooltipDtos","SpotTenderPriceTooltipDto","LoadSearchCriteriaContainerDto","loadSearchCriteria","LoadSearchCriteriaDto","statuses","loadVisibilityFilter","pickupLocationCountryId","deliveryLocationCountryId","filterDateType","filterDateDaysBack","filterDateDaysForward","hasExtraStops","resignedLoads","LoadActionPermission","allowedActions","LoadActionPermissionDto","allowed","lockNeeded","action","LockStatus","lockStatus","LoadAppendixType","BookLoadDto","SupplierToBookDto","supplierDisplayValue","hasValidAgreement","hasBeenOfferedLoad","DeliverLoadDto","deliverDate","lat","lon","parentLoads","childLoads","FileExportType","json","ContactType","userEmail","timeStamp","permitNo","driverPhone","truckCountry","passageId","passageDate","baseValues","LoadDetailsBaseValuesDto","LoadDetailsDatesDto","shippingInfo","LoadDetailsShippingInfoDto","content","LoadDetailsContentDto","emission","consigneeAppendixId","loadingSlots","LoadDetailsLoadingSlotDto","startTime","endTime","loadingDockName","containerCount","contactType","recipient","StandardPhraseType","ResignLoadDto","LoadSupplierEditDto","customsInfo","bookedDeliveryDateEnabled","bookedDeliveryTimeEnabled","bookedPickupDateEnabled","bookedPickupTimeEnabled","regNoEnabled","vltPrice","phraseType","LoadingSlotType","userDisplayName","usageCount","agreementRoutesDeliveryInfos","CargoTypeAndRouteInfoDto","agreementRoutesPickupInfos","agreementRoutesSpecialRequirements","cargoTypeName","cargoLoadings","CargoLoadingDto","viewDate","seconds","kilograms","loadingDockIds","loadingDockNames","LoadingSlotDto","cargoLoadingId","loadingDockId","bookedActorId","bookedByLoadUserId","startDate","kilogramsBefore","kilogramsAfter","contacts","loadingDockToFillId","MessageType","LoadingDockCalendarsSearchCriteria","cargoLoadingToBook","premisedBookings","cargoLoadingsFromDbToIgnore","now","AnonymousLoadingDockCalendarsSearchCriteria","LoadingSlotSaveDtoContainer","LoadingSlotSaveDto","AnonymousLoadingSlotSaveDtoContainer","minutes","BlockingSaveDto","BlockingDeleteDto","termsOfAgreement","TermsOfAgreementDocumentDto","invoicingInformation","TermsOfAgreementRouteDto","DocumentGroupSaveDto","DocumentSaveDto","owner","CreateDirectMessageDto","AgreementSupplierOrderBy","numUsers","cargoTypesWithAgreement","regLoadUserName","DirectMessagingDocumentDto","recipients","viewed","noOfLoads","procurementCounts","ProcurementCountDto","agreementTimeZone","ProcurementPeriodDto2","ClientGetTruckTypesSearchCriteria","prevAgreementEnd","nextAgreementStart","agreementToDates","AgreementToDateDto","RankingAgreementSaveDto","RankingAgreementRowSaveDto","time","declined","RankingSearchCriteria","ExportProcurementToExcelSearchCriteria","SupplierAgreementRowDto","SupplierAgreementSearchCriteriaContainer","SupplierAgreementSearchCriteria","ArchivableOrDeletableStatus","fromExactness","toExactness","agreementPeriods","estimateFromHistoricalPeriod","statusChangedBy","archivableOrDeletableStatus","PublishRuleType","CreateAgreementRouteDto","TagDto","AgreementRouteStandardPhraseSaveDto","DefaultMandatoryFlagsDto","SaveAgreementRouteStatusHiddenDto","hideShowAgreementRoutes","StatusDto","saveAnyway","ConnectedTruckTypesDto","EstimateDto","EstimateFromHistoricalPeriodSearchCriteria","cldDateTime","actorInfo","openingHours","publishRuleRows","PublishRuleRowDto","publishRuleType","delay","DayType","clientTimeZone","workingHours","WorkingHoursDto","holidays","HolidayDto","start","duration","stop","dayType","format","trim","ApiException","isApiException","obj","input","CDuration","fromISO","CDate","fromApiString","x","NotSet","Europe_Stockholm","Europe_Oslo","Europe_Helsinki","Europe_Copenhagen","Europe_Tallinn","Europe_Amsterdam","Europe_Riga","Europe_Warsaw","Europe_Berlin","Asia_Singapore","Europe_Rome","America_New_York","Europe_Brussels","Europe_Zurich","Europe_Prague","Europe_London","Europe_Budapest","Europe_Vilnius","Europe_Bratislava","Europe_Lisbon","Europe_Athens","Asia_Jerusalem","Asia_Tokyo","Asia_Shanghai","Europe_Madrid","Africa_Tunis","Europe_Luxembourg","Europe_Tirane","Asia_Ho_Chi_Minh","America_Chicago","America_Denver","America_Detroit","America_Indiana_Indianapolis","America_Los_Angeles","Asia_Taipei","Europe_Istanbul","Asia_Riyadh","Asia_Aden","Asia_Seoul","Asia_Karachi","Asia_Kolkata","Asia_Nicosia","Asia_Beirut","Atlantic_Cape_Verde","Asia_Tbilisi","Europe_Bucharest","Asia_Dubai","Asia_Amman","Africa_Khartoum","Asia_Muscat","Africa_Casablanca","Asia_Bangkok","Asia_Phnom_Penh","Asia_Colombo","Asia_Jakarta","Indian_Maldives","Asia_Hong_Kong","Europe_Dublin","Asia_Kuala_Lumpur","Europe_Sofia","Europe_Ljubljana","Asia_Damascus","America_Montreal","Europe_Mariehamn","Africa_Sao_Tome","Atlantic_Reykjavik","Africa_Abidjan","Africa_Dakar","Europe_Vienna","Europe_Paris","Europe_Andorra","Asia_Kabul","America_Antigua","America_Anguilla","Asia_Yerevan","Africa_Luanda","Antarctica_McMurdo","Antarctica_Casey","Antarctica_Davis","Antarctica_DumontDUrville","Antarctica_Mawson","Antarctica_Palmer","Antarctica_Rothera","Antarctica_Syowa","Antarctica_Vostok","America_Argentina_Buenos_Aires","America_Argentina_Cordoba","America_Argentina_Salta","America_Argentina_Jujuy","America_Argentina_Tucuman","America_Argentina_Catamarca","America_Argentina_La_Rioja","America_Argentina_San_Juan","America_Argentina_Mendoza","America_Argentina_San_Luis","America_Argentina_Rio_Gallegos","America_Argentina_Ushuaia","Pacific_Pago_Pago","Australia_Lord_Howe","Antarctica_Macquarie","Australia_Hobart","Australia_Melbourne","Australia_Sydney","Australia_Broken_Hill","Australia_Brisbane","Australia_Lindeman","Australia_Adelaide","Australia_Darwin","Australia_Perth","Australia_Eucla","America_Aruba","Asia_Baku","Europe_Sarajevo","America_Barbados","Asia_Dhaka","Africa_Ouagadougou","Asia_Bahrain","Africa_Bujumbura","Africa_Porto_Novo","America_St_Barthelemy","Atlantic_Bermuda","Asia_Brunei","America_La_Paz","America_Kralendijk","America_Noronha","America_Belem","America_Fortaleza","America_Recife","America_Araguaina","America_Maceio","America_Bahia","America_Sao_Paulo","America_Campo_Grande","America_Cuiaba","America_Santarem","America_Porto_Velho","America_Boa_Vista","America_Manaus","America_Eirunepe","America_Rio_Branco","America_Nassau","Asia_Thimphu","Africa_Gaborone","Europe_Minsk","America_Belize","America_St_Johns","America_Halifax","America_Glace_Bay","America_Moncton","America_Goose_Bay","America_Blanc_Sablon","America_Toronto","America_Iqaluit","America_Atikokan","America_Winnipeg","America_Resolute","America_Rankin_Inlet","America_Regina","America_Swift_Current","America_Edmonton","America_Cambridge_Bay","America_Inuvik","America_Creston","America_Dawson_Creek","America_Fort_Nelson","America_Whitehorse","America_Dawson","America_Vancouver","Indian_Cocos","Africa_Kinshasa","Africa_Lubumbashi","Africa_Bangui","Africa_Brazzaville","Pacific_Rarotonga","America_Santiago","America_Punta_Arenas","Pacific_Easter","Africa_Douala","America_Bogota","America_Costa_Rica","America_Havana","America_Curacao","Indian_Christmas","Asia_Famagusta","Europe_Busingen","Africa_Djibouti","America_Dominica","America_Santo_Domingo","Africa_Algiers","America_Guayaquil","Pacific_Galapagos","Africa_Cairo","Africa_El_Aaiun","Africa_Asmara","Africa_Ceuta","Atlantic_Canary","Africa_Addis_Ababa","Pacific_Fiji","Atlantic_Stanley","Pacific_Chuuk","Pacific_Pohnpei","Pacific_Kosrae","Atlantic_Faroe","Africa_Libreville","America_Grenada","America_Cayenne","Europe_Guernsey","Africa_Accra","Europe_Gibraltar","America_Nuuk","America_Danmarkshavn","America_Scoresbysund","America_Thule","Africa_Banjul","Africa_Conakry","America_Guadeloupe","Africa_Malabo","Atlantic_South_Georgia","America_Guatemala","Pacific_Guam","Africa_Bissau","America_Guyana","America_Tegucigalpa","Europe_Zagreb","America_Port_au_Prince","Asia_Pontianak","Asia_Makassar","Asia_Jayapura","Europe_Isle_of_Man","Indian_Chagos","Asia_Baghdad","Asia_Tehran","Europe_Jersey","America_Jamaica","Africa_Nairobi","Asia_Bishkek","Pacific_Tarawa","Pacific_Kiritimati","Indian_Comoro","America_St_Kitts","Asia_Pyongyang","Asia_Kuwait","America_Cayman","Asia_Almaty","Asia_Qyzylorda","Asia_Qostanay","Asia_Aqtobe","Asia_Aqtau","Asia_Atyrau","Asia_Oral","Asia_Vientiane","America_St_Lucia","Europe_Vaduz","Africa_Monrovia","Africa_Maseru","Africa_Tripoli","Europe_Monaco","Europe_Chisinau","Europe_Podgorica","America_Marigot","Indian_Antananarivo","Pacific_Majuro","Pacific_Kwajalein","Europe_Skopje","Africa_Bamako","Asia_Yangon","Asia_Ulaanbaatar","Asia_Hovd","Asia_Macau","Pacific_Saipan","America_Martinique","Africa_Nouakchott","America_Montserrat","Europe_Malta","Indian_Mauritius","Africa_Blantyre","America_Mexico_City","America_Cancun","America_Merida","America_Monterrey","America_Matamoros","America_Chihuahua","America_Ojinaga","America_Mazatlan","America_Bahia_Banderas","America_Hermosillo","America_Tijuana","Asia_Kuching","Africa_Maputo","Africa_Windhoek","Pacific_Noumea","Africa_Niamey","Pacific_Norfolk","Africa_Lagos","America_Managua","Asia_Kathmandu","Pacific_Nauru","Pacific_Niue","Pacific_Auckland","Pacific_Chatham","America_Panama","America_Lima","Pacific_Tahiti","Pacific_Marquesas","Pacific_Gambier","Pacific_Port_Moresby","Pacific_Bougainville","Asia_Manila","America_Miquelon","Pacific_Pitcairn","America_Puerto_Rico","Asia_Gaza","Asia_Hebron","Atlantic_Madeira","Atlantic_Azores","Pacific_Palau","America_Asuncion","Asia_Qatar","Indian_Reunion","Europe_Belgrade","Europe_Kaliningrad","Europe_Moscow","Europe_Simferopol","Europe_Kirov","Europe_Volgograd","Europe_Astrakhan","Europe_Saratov","Europe_Ulyanovsk","Europe_Samara","Asia_Yekaterinburg","Asia_Omsk","Asia_Novosibirsk","Asia_Barnaul","Asia_Tomsk","Asia_Novokuznetsk","Asia_Krasnoyarsk","Asia_Irkutsk","Asia_Chita","Asia_Yakutsk","Asia_Khandyga","Asia_Vladivostok","Asia_Ust_Nera","Asia_Magadan","Asia_Sakhalin","Asia_Srednekolymsk","Asia_Kamchatka","Asia_Anadyr","Africa_Kigali","Pacific_Guadalcanal","Indian_Mahe","Atlantic_St_Helena","Arctic_Longyearbyen","Africa_Freetown","Europe_San_Marino","Africa_Mogadishu","America_Paramaribo","Africa_Juba","America_El_Salvador","America_Lower_Princes","Africa_Mbabane","America_Grand_Turk","Africa_Ndjamena","Indian_Kerguelen","Africa_Lome","Asia_Dushanbe","Pacific_Fakaofo","Asia_Dili","Asia_Ashgabat","Pacific_Tongatapu","America_Port_of_Spain","Pacific_Funafuti","Africa_Dar_es_Salaam","Europe_Kyiv","Africa_Kampala","Pacific_Midway","Pacific_Wake","America_Kentucky_Louisville","America_Kentucky_Monticello","America_Indiana_Vincennes","America_Indiana_Winamac","America_Indiana_Marengo","America_Indiana_Petersburg","America_Indiana_Vevay","America_Indiana_Tell_City","America_Indiana_Knox","America_Menominee","America_North_Dakota_Center","America_North_Dakota_New_Salem","America_North_Dakota_Beulah","America_Boise","America_Phoenix","America_Anchorage","America_Juneau","America_Sitka","America_Metlakatla","America_Yakutat","America_Nome","America_Adak","Pacific_Honolulu","America_Montevideo","Asia_Samarkand","Asia_Tashkent","Europe_Vatican","America_St_Vincent","America_Caracas","America_Tortola","America_St_Thomas","Pacific_Efate","Pacific_Wallis","Pacific_Apia","Indian_Mayotte","Africa_Johannesburg","Africa_Lusaka","Africa_Harare","neverHappens","Vue","use","VueI18n","defaultLocale","English","messages","assign","en","Swedish","sv","Finnish","fi","Norwegian","no","i18n","locale","fallbackLocale","langs","image","require","code","shortCode","priorities","localeCode","find","bestLang","locales","lang","bestLocale","includes","actorTypeName","Client","Supplier","Terminal","Customer","actorTypeIcon","cargoTypeNameTag","Road","Railroad","Container","MachineTransport","cargoTypeIcon","standardPhraseTypeName","standardPhraseTypeNameTag","Note","PickupInfo","DestinationInfo","ContentInfo","SpecialRequirement","standardPhraseTypeIcon","TruckAndWagon","Truck","Wagon","Trailer25","Trailer30","TwoShaft","FourShaft","FourShaftOpen","Container20","Container40","Container40HC","Container45HC","TruckType10","TruckType20","TruckType30","TruckType40","TruckType50","TruckType60","TruckType70","loadStatusName","Ordered","Booked","Annulled","Loaded","MissingAgreement","Delivered","loadStatusIcon","SEK","EUR","GBP","NOK","USD","isoName","appendixName","PackageSpec","ConsigneeInfo","Forced","Price","DeliveryTime","SpotTender","otherPriceCauseName","Express","ReturnShipping","cultureName","contactTypeName","Email","Sms","feeTypeName","RoadShort","RoadLong","SupplierEntranceFee","SupplierFirstUser","SupplierAdditionalUser","ClientLight","ClientSmall","ClientMedium","ClientLarge","ClientPremium","AdditionalServices","TravelTime","rankingMethodName","NoAutomaticRanking","QualityPoints","dayTypeName","WeekDay","Saturday","Sunday","userLevelName","Integration","Viewer","User","Admin","SuperAdmin","notificationGroupName","Procurement","Agreement","Load","Index","notificationName","ProcurementCreatedExtended","ProcurementNewPrice","ProcurementDeclinedPrice","AgreementCreated","AgreementEdited","LoadOrdered","LoadBooked","LoadUnbooked","LoadLoaded","LoadDelivered","LoadSpotTender","LoadAnnulled","LoadMissingAgreement","LoadNotLoaded","LoadRelatedOrdered","LoadRelatedBooked","LoadRelatedUnbooked","LoadRelatedLoaded","LoadRelatedDelivered","LoadRelatedEdit","LoadRelatedAnnulled","LoadEditPickupEarliest","LoadEditPickupLatest","LoadEditDeliverEarliest","LoadEditDeliverLatest","LoadEditConsignmentNote","LoadEditUnit","LoadEditLoadOrderNo","LoadEditReferenceNo","LoadEditTransportNo","LoadEditBookingNo","LoadEditTruckNo","LoadEditBookedPickupDate","LoadEditBookedDeliveryDate","LoadEditDeliveryAddress","LoadEditPickupAddress","LoadEditDestinationInfo","LoadEditNote","LoadEditPickupInfo","LoadEditCustomer","LoadEditSubDeliveryLocations","LoadEditSubPickupLocations","LoadEditDocuments","LoadEditBLNo","LoadEditTerminal","LoadEditIncoterms","LoadEditContainerCount","LoadEditKNValue","LoadEditKNCurrency","LoadEditKNProductCode","LoadEditVolume","LoadEditWeight","LoadEditPackages","LoadEditContentInformation","IndexUpdate","LoadEditBookedPickupInfo","LoadEditBookedDeliveryInfo","LoadEditDistance","LoadEditOtherPrice","LoadEditDeviation","LoadEditShipName","LoadEditETD","LoadEditETA","LoadEditIncoTerms","notificationUserInterfaceGroupName","LoadEdit","LoadRelated","messageTypeName","General","Agreements","Loads","treatedStatusName","Treated","Untreated","docTypeName","TrionaDocument","TermsOfAgreement","InvoicingInformation","LoadDocument","MessageDocument","NewsDocument","rankingTypeName","Manual","Route","System","NoLoads","daysBackName","Today","Yesterday","OneWeek","TwoWeeks","OneMonth","TwoMonths","OneYear","daysForwardName","Tomorrow","Infinite","filterDateTypeName","RegDate","PickupEarliest","BookedDate","LoadedDate","DeliverDate","PickupLatest","DeliveryEarliest","DeliveryLatest","BookedPickupDate","BookedDeliveryDate","SpotTenderEndDate","AlterDate","agreementHistoryTypeName","PriceRemoved","FromToEstimateChanged","ProcurementCreated","ProcurementPeriodAdded","RankedByEndUser","RankedByBackgroundService","PriceUpdated","triggerStateName","Normal","Paused","Complete","Blocked","None","routingExactnessName","Unknown","Fail","AgreementRoute","ZipcodeArea","County","Zipcode","Address","costForecastRankMethodName","All","Smart","fuelIndexTypeName","NordicFuelIndex","ContinentalFuelIndex","ContinentalFuelInternalIndex","publishSpeedName","Economy","Broadcast","publishRuleTypeName","freightPriceFormulaPart","invoicePriceFormulaPart","freightPriceFormula","freightPriceFormulaOtherPrice","invoicePriceFormulaShort","invoicePriceFormulaLong","invoicePriceFormulaOtherPrice","minDate","maxDate","zone","isCDate","isValid","DateTime","fromFormat","zoneName","offsetName","offsetNameShort","setLocale","toFormat","quarter","yearPrint","monthNamePrint","quarterPrint","datePrint","timePrint","longTimePrint","shortTimePrint","shortDateTimePrint","toRelative","otherDate","base","minute","hour","day","month","year","fromLuxon","startOf","endOf","hours","set","amount","plus","days","months","years","withMinutes","diff","date1","date2","isSameOrAfter","isSameOrBefore","toSeconds","fromObject","toObject","_","longDateTimePrint","setZone","invalid","getFormat","formattedStr","IANAZone","substring","ianaZoneStart","indexOf","datetimeString","cdate","fromString","fromSeconds","Duration","padStart","startOfDay","withHours","iso","startsWith","map","Number","separators","sep","replaceAll","parts","repeat","join","Sound","userInfoFromProfileDto","profile","AgreementDataDtoX","selectable","procurementEditable","isBetween","endOfDay","ChartType","CalendarConfiguration","vals","calendarAutoDateSliding","ReadDocuments","agreements","MobilePopupConfiguration","dismissedDates","SupplierProcurementConfig","kmPrices","stopPrices","truckPercentage","wagonPercentage","createMegaReportCriteria","addYears","startOfYear","endOfYear","TableOptions","page","sortBy","sortDesc","groupBy","groupDesc","multiSort","mustSort","LoadAction","icon","CreateLoadPresets","spotTenderTabId","loadListTabName","tabId","loadListTabSortOrder","LoadListTab","defaultHeaders","defaultHeadersClient","defaultHeadersSupplier","defaultHeadersCustomer","defaultHeadersTerminal","PickupLocationFormatted","DeliveryLocationFormatted","NumExtraStops","TruckTypeName","TransportNo","Unit","ReferenceNo","Id","SupplierName","DeliveryDate","VisibleToNextSupplier","ClientName","NumRelatedLoads","Config","config","cfg","cp","hostname","getParameter","getInstance","auth","authority","redirectUriBase","scope","docsUrl","_browsingMobile","pathname","_browsingSupportAdmin","signinEndpoint","signoutEndpoint","silentEndpoint","settings","getAuthority","client_id","getClientId","redirect_uri","getRedirectUriBase","post_logout_redirect_uri","response_type","getScope","silent_redirect_uri","silentRequestTimeout","filterProtocolClaims","loadUserInfo","userManager","Oidc","UserManager","Log","logger","level","WARN","events","addUserSignedOut","removeUser","browsingSupportAdmin","browsingMobile","browsingProd","browsingDev","getUser","startSigninSilent","clearStaleState","signinSilent","endSigninSilent","signinSilentCallback","startSigninMainWindow","path","signinRedirect","state","pathBeforeAuthentication","endSigninMainWindow","signinRedirectCallback","startSignoutMainWindow","signoutRedirect","endSignoutMainWindow","signoutRedirectCallback","gets","userInfo","unviewedMessages","clientOutdated","locationCacheOutdated","activityDate","autoRenewing","notifications","sounds","preventLeaving","tryingToLeave","lock","loadActions","userConf","allUserConfs","actorConf","allActorConfs","mutations","setUserInfo","setUnviewedMessages","setClientOutdated","setLocationCacheOutdated","setBroadcast","setGlobalError","setDimensions","setVisible","setMouseActivityDate","setUsername","setToken","setPathBeforeAuthentication","setAutoRenewing","setConfirmationOptions","addNotification","removeNotification","pushSound","popSound","setPreventLeaving","setTryingToLeave","setLocks","updateLock","removeLock","tickLocks","setPermissions","setUserConf","emptyUserConf","setActorConf","emptyActorConf","actions","handleLoginError","handleApiError","handleUnhandledError","handleBasicError","handleBasicErrorSilently","handleBrowserWarning","autoTokenRenew","startSignin","endSignin","startSignout","endSignout","fetchLocks","unlock","fetchPermissions","resetUserConf","initUserConf","saveUserConf","resetActorConf","initActorConf","saveActorConf","deleteActorConf","authModule","context","Auth","msUntilNextCheck","expires_in","dispatch","commit","preferred_username","id_token","browsingRoute","setTimeout","res","btnCallback1","feedbackModule","sound","val","locks","loadModule","actionId","some","a","Details","ClientEdit","Book","Deliver","Unbook","CreateSpotTender","EditSpotTender","SupplierSpotTender","Reorder","Resign","SupplierEdit","Annul","Deviation","ContainerExport","ContainerEdit","SupplierEditDocuments","LoadingSlotEdit","permission","aa","ll","every","LockedBySomeoneElse","conf","ClientAgreement","createClientAgreementSearchCriteria","ClientProcurement","SupplierAgreement","createSupplierAgreementSearchCriteria","SupplierProcurement","createSupplierProcurementSearchCriteria","LoadList","createLoadSearchCriteria","LoadTab","createLoadTabConf","CreateLoad","createCreateLoadPresetsConf","ProcurementDraft","createProcurementDraftConf","createAgreementRouteConf","CostReport","createCostReportSearchCriteria","InvoiceReport","createInvoiceReportSearchCriteria","LoadStatisticsReport","createLoadStatisticsReportSearchCriteria","AgreementStatisticsReport","createAgreementStatisticsReportSearchCriteria","DeviationReport","createDeviationReportSearchCriteria","DistanceReport","createDistanceReportSearchCriteria","MobilePopup","createMobilePopupConfiguration","createSupplierProcurementConfiguration","createCalendarConfiguration","createReadDocuments","ProcurementAnalytics","createProcurementAnalyticsSearchCriteria","createQualityPointsSearchCriteria","ClientMonitoring","createClientMonitoringSearchCriteria","InvoicedFees","createInvoicedFeesSearchCriteria","AnnulledLoadsReport","createAnnulledLoadsReportSearchCriteria","Mailviewer","createMailviewerCriteria","Explorer","createExplorerSearchCriteria","Distance","createDistanceSearchCriteria","InvoiceGenerator","createInvoiceGeneratorSearchCriteria","HeatMap","createHeatMapSearchCriteria","mostRelevantBasePriceDate","parsed","parse","dateFromString","filterType","daysBack","OnlyPublished","OnlySpotTenders","NoFilter","filterDate","specReq","agreementEnd","startOfMonth","endOfMonth","Actors","Bookings","addMonths","tt","truckTypesByCargoType","flatMap","currencies","addDays","confs","userConfModule","sort","entry","createUserConf","isNaN","userConfiguration","ZipcodeByCounty","createZipcodeByCountyConf","MegaPresets","createMegaPreset","creator","chartType","actorConfModule","createActorConf","actorConfiguration","deleteActorConfiguration","ble","unauthorized","endpointNotFound","internalServerError","frameWindowTimedOutError","networkError","Vuex","getScriptName","mouseActivityDate","outdated","dim","formattedMessage","dateTimePrint","scriptTags","document","getElementsByTagName","scriptPath","src","scriptNameStart","scriptName","substr","Store","enumList","e","v","standardPhraseTypes","cargoTypeByTruckType","cultures","rankingMethods","userLevels","messageTypes","dayTypes","filterDateTypes","routingExactnesses","costForecastRankMethods","docTypes","yesNoItems","activeInactiveItems","fuelIndexTypes","publishRuleTypes","menuItems","menuBase","match","matchingItem","visibleForUserLevel","visibleForCargoTypes","visibleForSupportAdminLevel","visibleForCargoLoadingActors","minSupportAdminLevel","onlyForCargoTypes","minUserLevel","visibleItems","items","matchingRoute","requestedRoute","systemRoute","destructuredRoute","reqPath","reqQS","sysPath","sysQS","qs","qsStart","endsWith","toLowerCase","supportAdminMenu","mobileMenu","clientMenu","supplierMenu","customerMenu","terminalMenu","invisible","onlyForActors","quickLinks","untranslated","MegaUser","errorDialog","errorObject","callback","lines","entries","line","noCloseButton","warning","btnText1","popupDialog","alertDialog","saveBeforeContinueDialog","saveCallback","dontSaveCallback","btnColor1","btnText2","btnColor2","btnCallback2","discardChangesDialog","toolbarColor","home","routeTo","$event","class","shouldWarnAboutMutation","_v","_s","_l","index","scopedSlots","_u","fn","ref","_g","narrowButtons","smallerButtons","showArrow","item2","index2","$t","mutateUser","mutateTriona","cldVersionData","Branch","langImg","changeLang","extend","props","Boolean","computed","languages","localStorage","setItem","$store","saveLanguage","reload","mounted","getItem","component","VBtn","VIcon","VImg","VList","VListItem","VListItemContent","VMenu","activeWebUsers","tooltip","fetchActiveUsers","activeUsersNow","$nextTick","intervalId","setInterval","destroyed","clearInterval","VTooltip","String","Language","ActiveUsersNow","screenWidth","hideArrows","allowedToMutateUser","allowedToSeeVersionInfo","getTitle","$emit","open","fetchBuildInfo","ArtefactBuildID","DeploymentDate","ArtefactBuildDate","cldVersionPath","fetch","ok","VBadge","VDivider","VListItemIcon","VSpacer","VToolbarTitle","VToolbar","VListItemTitle","stringCompare","aNum","Infinity","bNum","stringSearchHit","query","mustStartWith","terms","transform","texts","termsNotInText","term","termIsInText","toLocaleLowerCase","linkWithLocale","link","actorTypeText","validEmail","test","usernameErrors","allowedChars","ToolbarMenu","MobileToolbarMenu","getDocsUrl","$router","VAppBar","supportAdmin","_t","VCol","VContainer","VRow","topMargin","smallTopMargin","bottomMargin","smallBottomMargin","size","VProgressCircular","$route","dialog","closeButtonCallback","proxy","waitingForCallback","fullHeight","semiFullHeight","noPaddingBottom","noPaddingSides","loading","grey","Spinner","VCard","VCardActions","VCardText","VCardTitle","VDialog","DialogCard","watch","handler","newValue","initDialog","closeDialogAfterCallback","closeDialog","callbackPromise","style","padding","timeout","close","clickable","click","VSnackbar","countdown","hide","Math","floor","immediate","VAlert","VScaleTransition","trionaWeb","VFooter","audio","Audio","play","deep","Notification1","NotificationSound1","Countdown","CountdownSound","Toolbar","ContentContainer","Forbidden","Confirmation","Snackbars","Alert","MobileFooter","prevStatusCheck","setupConf","checkSystemStatus","checkForMobileDevice","checkUnviewedMessages","secondsSinceLastCheck","secondsSinceLastDimensionsReport","prevStatusDimensionsReport","reportCurrentDimensions","meta","unauthenticated","fullPath","mobilePopupConf","atleastUser","saveCurrentDimensions","innerWidth","innerHeight","currentWidth","currentHeight","reportScreenDimensions","systemStatus","prevCacheDate","isSame","numUnviewed","menuLayout","navigator","userAgent","dis","isBefore","pow","visualViewport","addEventListener","preventDefault","returnValue","VApp","VMain","href","qsMessage","clearable","spin","noPaddingTop","refreshable","SearchCard","model","$$v","expression","$set","transportNoScan","consigneeScan","packageScan","scanPackage","scanConsignee","scanTransportNo","staticStyle","coordinates","position","getLocation","deliverInProgress","deliver","compact","readonly","label","placeholder","disabled","tabindex","rules","autofocus","maxLength","change","current","onlyOnBlur","asterisk","instant","emitValue","emitValueWhenFinished","unique","nextUnique","inputTracker","VTextField","pushNotification","pushLoadNotification","lar","TextSingle","scanBarcode","hints","Map","formats","BarcodeFormat","CODE_128","EAN_8","EAN_13","DecodeHintType","POSSIBLE_FORMATS","codeReader","BrowserMultiFormatReader","deviceId","listVideoInputDevices","devices","decodeOnceFromVideoDevice","getText","doDeliver","showContinueWitoutPositionDialog","resetFormValidation","form","$refs","reset","showError","geolocation","getCurrentPosition","coords","latitude","longitude","tn","VForm","details","delivery","slot","displayValue","withoutOffsetAndTime","VSheet","ReadOnlyText","fetchDetails","slotVisible","deliverVisible","isCustomer","isTerminal","isClient","isSupplier","noSupplierLeftToNotifyCount","missingAgreementCount","statusOrdered","light","computedType","VSkeletonLoader","DashboardLoadsBox","DashboardLoadsExtraInfo","SkeletonLoader","GreyTitle","boxes","atleastAdmin","row","translate","ProcurementBox","procurements","routeToSpotTenders","spotTenders","routeToNews","DashboardNewsBox","DashboardLoads","DashboardContainers","DashboardRelatedLoads","DashboardProcurements","DashboardSpotTenders","DashboardNews","mutateActor","mutateUserLevel","speedSet","innerClass","computedItemValue","computedItemText","maxHeight","searchInput","itemValue","itemText","Function","customItem","queryText","VAutocomplete","VSelect","Autocomplete","Dropdown","fetchUsers","actorid","mutationInProgress","copyConfigurations","fetchSuppliers","actorsForMutation","usersSupportAdmin","selectedTab","tabs","clearSelection","tabEditDialog","selectedTabId","search","loadListContainer","tableOptions","tableOptionsChanged","check","table","$el","querySelector","wrapper","$vuetify","goTo","container","viewer","createNewLoad","selectedTabIndex","doNotShowPlus","menuClick","singleOption","option","optionClick","noFilters","showResignedCheckbox","VCheckbox","MenuButton","LoadListSearch","findIndex","VTab","VTabs","tableHeight","subtype","countryId","truckTypeText","presentNextVisibleSupplierDate","deviationCauseText","otherPriceCauseText","forEdit","userConfig","availableHeaders","h","nonEditableHeaders","blacklist","sortValue","StatusName","CustomerName","TerminalName","RegDateWithZone","SpotTenderEndDateWithZone","PickupEarliestWithZone","PickupLatestWithZone","DeliveryEarliestWithZone","DeliveryLatestWithZone","BookingDate","BookingDateWithZone","LoadedDateWithZone","BookedPickupDateWithZone","DeliveryDateWithZone","BookedDeliveryDateWithZone","AlterDateWithZone","RegNo","BookingNo","BookedPickupInfo","sortable","hoveredHeader","transparent","sortedBy","hovered","flipped","sortedDesc","estimatedNoOfLoadsTextShort","types","autocomplete","dropdownItems","dropdown","dropdownMulti","subtypes","locationMulti","locationCargoType","locationClient","counties","hideCountryFilter","endpointLocationCache","countiesByCargotype","countiesOnAgreementroutes","countiesAndZipcode","countiesStartingWith","countiesSupportAdmin","zipcodesStartingWith","endpointLongTimeCache","baseIndexPeriods","addressSuggestions","itinerary","endpointShortTimeCache","trucktypesByAgreementrouteid","rankedSuppliersByAgreementroute","agreementRoutes","suppliersForSupportAdmin","customers","terminals","loadSearch","cache","isLocationType","endpoint","keys","isShortTimeType","isLongTimeType","clearCacheIfNeeded","timestamp","addToCache","createKey","args","arg","createEntry","promise","createPromise","getEntry","applyTranslationIfNeeded","translatedDropdown","r1","r2","localeCompare","getPromise","cached","event","filterText","ifNotTabbing","directives","rawName","countryIds","closeMenu","internalValue","VChip","AutocompleteMultiCountry","multi","clickOutside","target","className","ClickOutside","noCheckAll","checkAll","allChecked","CustomFilterType","CustomFilterSubtype","emptyMeansAll","VListItemAction","VSimpleCheckbox","DropdownMulti","LocationFilter","fetchbaseIndexDates","fetchClients","fetchCountries","customer","fetchCustomers","fetchCounties","fetchCountiesClient","fetchCountiesCargoType","supplier","fetchTags","terminal","fetchTerminals","fetchUnits","activity","deviationCauseMulti","otherPriceCauseMulti","routingExactness","truckTypeMulti","withWithout","yesNo","baseIndexDates","lockStatuses","routingExactnessItems","advanced","unshift","u","menuIcon","actionLocked","actionEnum","actionIcon","excelPrompt","filePrompt","pdfPrompt","textPrompt","mimeType","blob","createElement","URL","createObjectURL","download","loadLocks","anyLocked","thisLocked","visibleActions","multiActions","exportContainerSpec","exportContainerPdf","ids","info","radio","iconTrue","iconFalse","iconIndeterminate","CheckboxTiny","infos","noSupplierLeft","economy","containerExport","spotTenderPrice","spotTenderHasEnded","actorZone","CustomTableHeader","CustomFilter","EllipsisTableItem","LoadDots","LoadInfoIcons","DateDisplay","fetchLoadPermissions","fetchLoadLocks","max","tabConf","loadListHeaders","supplierFilterVisible","customerFilterVisible","retVal","presentDate","VDataTable","cancelInProgress","saveInProgress","resetTab","confHeaders","handleDrop","header","remainingHeaders","cancel","save","drop","drag","h1","h2","removedIndex","addedIndex","payload","promises","all","VBottomSheet","dialogVisible","unlockAndClose","deviationValues","actionClick","small","Unlocked","ceil","Date","stopPropagation","showConsigneeInfo","selectedConsigneeId","closeConsigneeInfo","consigneeName","fetchAppendixData","appendixData","exporting","AppendixConsigneeDialog","isRoad","smallFont","tooltipText","toolTip","ReadOnlyDate","Checkbox","nextVisible","loadingSlotsText","supplierRank","forEach","shortDateTimePrintSeparated","viewClient","viewSupplier","viewCustomer","actorIdToView","actorTypeToView","disableOnEmpty","openDocuments","tabIndexById","countryName","viewingClient","viewingSupplier","rule","holiday","hoursAndMinutes","clientTimeZoneOffsetName","superAdminDescription","refString","VTextarea","TextMulti","showClientSpecificData","w","fetchActor","fetchPublishRules","fetchSchedule","fetchSuperAdmins","clientSchedule","superAdmins","VSimpleTable","VTabItem","VTabsItems","ActorDialogTabs","documentsVisible","InfoTooltip","ActorDialog","transportNoVisible","expandedPanel","agreementDetermined","isExpanded","editable","deviations","duplicateTransportNos","valueLines","clicked","decimals","shorterIfPossible","formatter","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","toLocaleString","indexDateTooltip","expanded","fetchPrices","invoicePriceText","freightPriceText","money","hideOtherPrice","hideStops","hideContainers","hideMachineTransport","hideIndex","hideFreightPrice","hideInvoicePrice","VExpansionPanel","VExpansionPanelContent","VExpansionPanelHeader","rankings","fetchRankings","VProgressLinear","top","keydown","editSubject","discardEditPreset","commitEditPreset","computedLabel","presetId","notEditable","deletePreset","editPreset","newPreset","editing","standardText","manuallyEditedStandardText","standardTextDialog","populateFromPreset","getLabel","skipCloseOutsideOnce","focus","deletePresetCallback","delete","fetchStandardPhrases","edit","reduce","curr","list","canEditPreset","isStandardText","allowNull","onlyIntegers","decimalPos","valString","TextSaved","NumberInput","ellipsis","formattedDate","computedRules","openDate","select","timeEnabledAnyway","openTime","infoTooltip","isEventDate","setDate","closeDate","closeTime","moreMinutes","hourClass","setHours","minuteClass","setMinutes","originalValue","updateOnClose","timeOk","NaN","hourOptions","minuteOptions","parseInt","hourMinutes","hm","TimePickerDialog","invalidText","gteToday","gteNow","gteDates","gteText","lteDate","lteText","withTime","newVal","prevGteToday","prevGteNow","prevGteDates","prevLteDate","toDateString","dstring","timePoints","has","validations","greaterThanEqualToday","greaterThanEqualNow","greaterThanEqual","lessThanEqual","addMinutes","datePicker","prevTimePoints","Set","cachedResult","VDatePicker","DatePicker","numLocations","editClicked","locationsDraft","addEmptyRowIfNeeded","remove","pendingChanges","saveDraft","objectsEqual","keysA","keysB","shortVersion","locationTextById","countryLocation","locationsConcated","locationSpecifics","changeZipcode","combine","l1","l2","VCombobox","AddressCombobox","countryLocations","cl","fetchLocations","subLocation","currentLocation","newLocation","AccordionSubLocationsTable","fetchAgreementRoutes","pickupDraft","copy","deliveryDraft","ar","closeCallback","AccordionSubLocationsDialog","fetchSubLocations","sublocations","excludedLoadIds","addRelatedLoad","parentLoadsDraft","removeParent","childLoadsDraft","removeChild","removeRelatedLoadButton","transportNoOkToShow","LoadSearchTable","itemVisible","fetchMatchingLoads","customGroup","group","dateStyling","groupName","matchingGroup","sortVal","dateName","LoadSearchInput","LoadRelatedTable","relatedLoad","child","relatedLoadDetails","AccordionRelatedLoadsDialog","LoadRelatedTableCompact","anyRelatedLoads","hasAtleastOneContainer","detailsClicked","thcLabel","detailsDialog","containerValuesDraft","removeContainer","addContainer","AccordionContainersDialog","AccordionContainersDetailsDialog","exportToPDF","VInput","numAppendices","appendix","displayAppendixDialog","appendices","closeConsignee","selectedPackageSpecId","closePackageSpec","row1","typeDesc","row2","huId","deliveryNo","orderNo","invoiceNo","productNo","productDesc","blmark","qtyM","qty","exportToExcel","exportToXML","unwrappedSpec","unwrap","export","Excel","XML","fileType","appendixExport","specs","cur","AppendixPackageSpecDialog","fetchAppendices","deliveryCoords","mapLink","fetchAdditionalDeliveryInfo","additionalDeliveryInfo","fetchSpecialRequirements","numHistoryRows","historyRows","historyHeaders","customSort","reverse","LoadHistoryDialog","fetchHistory","displayCount","min","subSectionSize","historySubSection","tender","documentGroups","bookedRow","selectedDocumentGroup","documentClicked","viewDocument","DocumentButton","DocumentTable","g","DocumentDropdown","fetchSpotTender","fetchDocumentGroup","spotTenderAccordionDetails","numLoadsText","removeLoad","addLoad","checkIfThereAreErrors","onlyRemoveError","fetchContacts","numDocuments","documentText","removeDocument","uploadedFile","chooseFile","addDocument","tooLongText","shouldHaveMinimumText","upload","documentType","addToDb","apiCall","saveToLoadGroup","saveToMessageGroup","uploadKey","fileDropped","arguments","fileSelected","limitExtensionsTo","fileUpload","fileAllowed","uploadFailed","hasAllowedExtension","allowedExtensions","dataTransfer","files","addFile","fileParam","fetchAllowedExtensions","allowedUploadFileExtensions","span","getElementById","clipboardData","alternative","AccordionDocumentAddDialog","FileInput","DocumentDropZone","documentsByActor","actorNames","LoadDocumentsTable","passage","passages","fetchCustomsInfo","fetchPassages","customsPassages","AccordionPrices","AccordionRankings","AccordionContent","AccordionSupplierBookingInfo","AccordionSubLocations","AccordionSubLocationReadOnly","AccordionRelatedLoads","AccordionContainers","AccordionAppendix","AccordionAdditionalDeliveryInfo","AccordionSpecialRequirements","AccordionLoadHistory","AccordionDeviation","AccordionSpotTender","AccordionDuplicateLoad","AccordionContacts","AccordionDocuments","AccordionCustomsInfo","priceVisible","rankingVisible","historyVisible","supplierBookingInfoVisible","subLocationsVisible","subLocationsReadOnlyVisible","containerVisible","additionalDeliveryInfoVisible","appendixVisible","clientSpotTenderVisible","deviationsVisible","duplicateVisible","contactsVisible","customsInfoVisible","panel","VExpansionPanels","step","LoadLock","LoadDialogBaseValues","LoadDialogDates","LoadDialogEventDates","LoadDialogShippingInfo","LoadDialogContainerInfo","LoadDialogMachineTransportInfo","Accordion","fetchRelatedLoads","fetchContainers","fetchDocuments","loadDocuments","valuePermissions","validateForm","actionInProgress","createLoad","createLoadText","editLoad","pickupLocationsConcated","setPickupInfoModified","deliveryLocationsConcated","setDestinationInfoModified","VSlider","markAsManual","starInfo","manual","recalculateDistance","recalculateDistanceIfNotManual","icons","starIcon","stars","lowestExactness","fromText","toText","fetchEmission","PublishSpeedSlider","DistanceInput","Emission","fetchTruckTypes","oldVal","autoSelectLocations","pickupLocations","deliveryLocations","currentLocationId","pickupInfoPristine","destinationInfoPristine","pickupEarliestEnabled","checkAgreementPeriod","dateRules","pickupDeliveryRules","geq","d1","s1","s2","d2","leq","fetchAgreementPeriod","existingItem","addItem","toLocaleUpperCase","UnitAutcomplete","LoadEditBaseValues","LoadEditDates","LoadEditShippingInfo","LoadEditContainerInfo","LoadEditMachineTransportInfo","loadCreateCargoType","changeTrackingObject","pendingChangesSemaphore","changeTrackingString","pendingChangesTrackingString","actuallyClose","POSITIVE_INFINITY","validate","initEdit","initCreation","initPresets","preEdit","getLoadClientCreateDtos","savePresets","results","selectedLoadId","loadValidationInfo","supplierVisible","vtlAndEscortVisible","distanceVisible","terminalVisible","supplierColor","mandatoryOtherPrice","deviationCauseDisabled","otherPriceCauseDisabled","distanceEnabled","terminalEnabled","allLoadsValid","bookLoad","text1","text2","saved","Chip","DatePickerHolder","LoadDialogMultiTable","LoadChips","loadValidationInfos","saveDtos","loadPermissions","VtlAndEscort","midnight","pickupLatestValidDate","deliveryLatestValidDate","deliverDateInvalid","pickupDateInvalid","bodyText","book","saveOk","showLoadUnavailableDialog","preBookDetails","refInFor","loadLoad","preLoad","annul","preAnnul","deliverDateTooEarlyErrorMessage","deliveryInProgress","preDeliverDetails","unbook","preUnbook","reorder","preReorder","currentStep","qualityPoints","nextEnabled","spotTenderEndRules","suppliersWithAgreements","suppliersWithoutAgreements","excluded","filteredExcluded","excludedFilter","include","includeFiltered","excludeFiltered","included","filteredIncluded","includedFilter","exclude","filteredHeaders","sortedSuppliers","subscribed","ftCertified","ftLogo","surveyDone","subscribedSuppliers","qp","q","SupplierSelectTable","keep","endDateInfo","truckTypeNames","shortDateTimePrintWithTo","CreateSpotTenderDates","CreateSpotTenderOtherInfo","CreateSpotTenderSuppliers","CreateSpotTenderReview","steps","createSpotTender","fetchPreInfo","preCreateSpotTender","fetchDocumentGroups","fetchQualityPoints","qualityPointsPastYear","VStepper","VStepperHeader","VStepperStep","infoDto","itemClass","supplierFilter","truckTypeFilter","selectedId","deleteSpotTender","pricesWithInvitedSuppliers","actuallyDeleteSpotTender","finishSpotTender","preFinishSpotTender","sortByArr","sortDescArr","priceModified","bookedPickupRules","otherInfo","bookedDeliveryRules","shake","validationHints","savePossible","accept","deletePrices","showValidationHints","deletePossible","originalPrice","bookedPickupDateModified","bookedDeliveryDateModified","noteModified","originalBookedPickupDate","originalBookedDeliveryDate","actuallyDeletePrice","actuallySave","editSpotTender","preEditSpotTender","resign","preResignDetails","alreadyHadBookedDelivery","editInProgress","anyCustomsInfo","fetchPreEdit","preEditLoadDetails","priceText","MobileBaseValues","MobileDates","MobileEventDates","MobileShippingInfo","MobileContainerInfo","MobileMachineTransportInfo","MobileSubLocations","preDeviation","saveDeviation","editContainerDraft","saveContainerDetails","preEditContainerDetails","originalDocumentIds","saveDocuments","saveConf","calendarConfiguration","autocloseMessage","cargoLoadingContainers","selectedCargoLoadingContainer","workingWithBlocking","selectedCargoLoadingContainerIdChanged","clearBooking","loadingDocks","calendarDate","addHours","createBooking","editBooking","deleteBooking","changeDate","initBlocking","saveEnabled","cc","isSelectedCC","cargoLoading","loadingTimeText","blockingTon","blockingTimeItems","blockingMinutes","extraSecondsDropdownItems","buttonColor","buttonDisabled","buttonClicked","buttonText","okVisible","okDisabled","okClicked","deleteDisabled","deleteClicked","ton","buttonState","booking","confirmTimeTouchCallback","$root","$on","dockSchedules","windowStart","windowEnd","secondsPerBox","boxStyle","schedule","loadingDockDisabled","boxesNeededForBooking","boxClicked","infoTitle","selectedBox","infoMenu","asTon","tonIcon","isManualBlocking","deleteInProgress","changeDay","dateTextPrint","changeHour","currentTimeBox","numSchedules","numBoxes","nowish","loadingSlotNowish","boxNum","addSeconds","box","boxClasses","hover","unhover","anyBoxesHovered","highlightedBoxes","Open","bookedIndex","AutoBlocking","ManualBlocking","clientX","clientY","offsetY","pointerType","roundedLeft","roundedRight","y","getDimensions","elem","clientHeight","clientWidth","SlotCalendarHeader","SlotCalendarDay","InfoMenu","populateDockSchedules","extraSeconds","boxColor","Booking","dock","earlySlot","isAfter","addBusyBox","addEmptyBox","startDateWithinWindow","endDateWithinWindow","noBorder","labelFalse","proxyValue","labelTrue","VSwitch","SlotCalendarInfo","SlotCalendar","SwitchDouble","calculateSecondsUntilNowish","slideCalendarDate","fetchLoad","valueToWatch","secondsUntilRefreshTime","refreshTime","showBlockingButton","selectedCargoLoadingContainerId","ignoreFromDb","selCC","allCargoLoadingsBooked","noCargoLoadingBooked","allCargoLoadingsBookedToBeginWith","saveBlocking","saveLoadingSlots","cargoLoadingContainerId","cargoLoadingContainer","deleteBlocking","loadWithCargoLoadings","identifyBookings","playSound","calendars","schedulesDiffer","ids1","ids2","flat","MobileLoadDetails","LoadDetailsDialog","LoadEditDialog","LoadBookDialog","LoadLoadDialog","LoadAnnulDialog","LoadDeliverDialog","LoadUnbookDialog","LoadReorderDialog","CreateSpotTenderDialog","ClientEditSpotTenderDialog","SupplierEditSpotTenderDialog","LoadResignDialog","LoadSupplierEditDialog","LoadDeviationEditDialog","LoadEditContainersDialog","LoadSupplierDocumentsDialog","SlotDialog","arr","lockAndOpen","lockIfNeeded","success","LoadListTabs","LoadListTable","LoadListTabsEdit","LoadDialogs","secondsInactive","sorting","goToFirstPage","scrollTableToTop","viewDetails","rowIndex","textIndex","isMegaUser","allPrices","indexDates","fromChanged","toChanged","indexComponents","fuelIndexesForDate","noIndexYetText","documentLocation","fuelIndexType","chartData","labelCallback","yAxisUnit","dmtSePercentage","nord","dmtContPercentage","cont","dmtVltContPercentage","euro","AxisUnit","Chart","register","registerables","chartColors","colors","render","ctx","datasets","borderWidth","pointRadius","pointBorderWidth","hoverBorderWidth","plugins","display","callbacks","maintainAspectRatio","scales","ticks","yAxisValue","yAxisLabel","onClick","datasetIndex","Percentage","SEKM3","BezierChart","IndexAccordion","fromToForWatch","fetchFuelIndexes","baseIndexPeriod","indexPeriods","indexPeriod","currValues","NordicFuel","ContinentalFuel","EuroCurrency","labels","fuelIndexes","fromAsDate","cubicInterpolationMode","borderColor","raw","changeDates","fetchIndexPeriods","fetchBaseIndexPeriods","phone","imageData","openImage","bold","italic","generateParts","img","fetchImage","images","Headers","arrayBuffer","binary","bytes","Uint8Array","len","byteLength","fromCharCode","base64","btoa","NewsSheet","fetchNews","listSimple","updateLastRead","updateLastNewsRead","userGuideLink","sendDto","removeFile","listFiles","chooseFiles","sendInProgress","send","resetFormFields","fetchPreSupport","attachedFiles","resetValidation","preSupport","importedFile","updateFormData","reader","FileReader","onloadend","b64","readAsDataURL","includedActors","excludedActors","unchanged","filteredActors","ExcludedActorsCard","excludedActorIds","excludedActorIdsOriginal","fetchAllActors","api","fetchExcludedActors","saveExcludedActors","slots","openSlotTimeCalender","convertToTon","openDetails","SlotDots","kg","calendarView","SlotTable","SlotTableSearch","reportContainer","exportLoading","rowsX","rowsModified","exportDisabled","stockholmZone","treatedStatusItems","modified","allTreated","treatAll","goToIndexes","indexTooltip","PickupLocation","DeliveryLocation","LoadId","cargoTypeColumns","InvoicePrice","RefNo","InvoiceReportRowDtoX","originalTreated","originalRefNo","InvoiceReportSearch","InvoiceReportTable","tableOptionsTriggered","invoice","invoiceTreatedStatus","invoiceExportToExcel","showPercentage","mergeItems","noOutline","SwitchSingle","Units","TruckTypes","PickupLocations","PickupCountries","DeliveryLocations","DeliveryCountries","Deliveries","totalValue","uniqueLoadIds","loadClick","loadInfo","valueHeaders","Actor","Offered","ShareLoaded","ShareRejected","Rejected","ShareIgnored","Ignored","ShareBroadcastOffered","BroadcastOffered","ShareBroadcastLoaded","BroadcastLoaded","multiLine","ShareLoadedWithinRequestedTime","LoadedWithinRequestedTime","ShareLoadedWithStatedTime","LoadedWithStatedTime","ShareLoadedWithinStatedTime","LoadedWithinStatedTime","ShareDelivered","ShareDeliveredUsingApp","DeliveredUsingApp","ShareDeliveredWithinRequestedTime","DeliveredWithinRequestedTime","ShareDeliveredWithStatedTime","DeliveredWithStatedTime","ShareDeliveredWithinStatedTime","DeliveredWithinStatedTime","LoadStatisticsReportSearch","LoadStatisticsReportTable","loadStatistics","loadStatisticsExportToExcel","totalValueHeader","AgreementPeriod","Rank","LoadsTotal","ShareOffered","ShareBooked","AgreementStatisticsReportSearch","AgreementStatisticsReportTable","agreementStatistics","agreementStatisticsExportToExcel","percentWithFT","percentDistanceWithFT","RouteId","NumLoads","TotalDistance","AvgDistance","TotalEmission","AvgEmission","NumLoadsFT","DistanceFT","DistanceReportSearch","DistanceReportTable","distanceExportToExcel","splits","ActorAndUnit","pointsTotalTooltip","rejectedTooltip","loadedTooltip","loadedWithStatedTimeTooltip","loadedWithinStatedTimeTooltip","deliveredTooltip","deliveredUsingAppTooltip","QualityPointsReportSearch","QualityPointsReportTable","apiClient","report","markAllAsViewed","messageClicked","sheetHeight","MessageRecipientDialog","recipientDialog","uploadInProgress","cargoTypeVisible","requireAgreement","recipientBaseList","allRecipients","applyCargoTypeAndAgreementFilters","fetchRecipients","CreateMessageRecipientDialog","fetchSuppliersWithNotifications","actorsWithSubscribingRecipients","CreateMessageDialog","allowedToCreateMessage","MessagesTable","MessagesSearch","prevId","markOneAsViewed","markAsViewedRestCall","markAsViewed","basicUserSettings","notificationSettings","usernameError","checkingUsername","toUpperCase","actorInvoiceInformations","allowedToViewInvoiceRecipient","allowedToChangeInvoiceRecipient","resetCredentialsInProgress","resetCredentials","checkUsername","usernameBeingChecked","taken","fetchActorInvoiceInformations","actorInvoiceInformation","RowTypeDelivery","treeHeight","node","expandable","toggleChecked","self","pickupFilterDialog","_k","keyCode","pickupFilterText","deliveryFilterDialog","deliveryFilterText","clientFilterDialog","clientFilterText","unitFilterDialog","unitFilterText","toggleAlteredByLoadUser","zipCodeFilter","countyFilter","rowTypes","rowType","removeRow","addRow","keepChangesAndClose","LocationFilterDtoPickup","draft","Sweden","LocationFilterDtoDelivery","unitsSupportAdmin","createUnitList","NotificationSettingsPickupFilterDialog","NotificationSettingsDeliveryFilterDialog","NotificationSettingsClientFilterDialog","NotificationSettingsUnitFilterDialog","valueText","NotificationSettingsFilters","NotificationSettingsNode","recreateNodes","checkedMulti","numChecked","expandedGroup","nodes","expandedUserInterfaceGroup","uiGroup","createGroupNode","createGroupChildren","userInterfaceGroups","createNotificationRowNode","createNotificationUserInterfaceNode","BasicUserSettings","NotificationSettings","UserSettingsForm","originalBasicUserSettings","originalNotificationSettings","fetchBasicSettings","fetchNotificationSettings","saveBasicUserSettings","saveNotificationSettings","filteredActorIds","actorNameFilter","countryFilter","orgNoFilter","mainContactNameFilter","mainContactEmailFilter","mainContactPhoneFilter","cargoTypeFilter","viewActor","cargoTypesText","ct","ActorTable","listExport","originalActor","showInactivated","createUser","filteredUsers","selectedSettings","loadUsersForSettingsImport","reopen","importSettingsDialog","importNotificationSettings","fetchInProgress","ImportSettingsDialog","saveNotifications","AdministrateUserDialog","basicUserSettingsList","userListExport","tracker","createRoute","editingTab","cancelEdit","changeCountText","selectedCreateAgreementCargoType","createAgreementRouteDialog","exportVisible","_b","exportAllToExcel","exportEstimateToExcel","importEstimate","openHistoryDialog","bulkUpdateMenuButtonText","editStandardPhrasesBulk","editTag","agreementEndItems","RouteTab","Estimate","editTagVisible","Tag","editSpecReqVisible","StandardPhrases","visibleTabs","List","importEstimateFromExcel","standardPhraseType","Visibility","MandatoryFlags","sortedRoutes","editingRoutes","edited","allHidden","toggleAllHidden","applyAllEstimateHistory","allCustomsInfoRequired","toggleAllCustomsInfoRequired","allPickupDateRequired","toggleAllPickupDateRequired","allDeliveryDateRequired","toggleAllDeliveryDateRequired","truckTypesForHeader","indeterminatesForHeader","allToggleTruckType","tagEdited","hiddenEdited","isHidden","routeIsArchivableOrDeletable","archiveOrDelete","showArchiveOrDeleteIcon","showArchiveOrDeleteTooltip","estimateEdited","pickupInfos","standardPhrasesEdited","destinationInfos","customsInfoRequiredEdited","deliveryDateRequiredEdited","pickupDateRequiredEdited","toggleTruckType","estimateHistoryDialog","fetchEstimateHistory","tagDialog","applyAllTag","standardPhrasesDialog","selectedDropDownItems","selectedPhraseType","changeCount","selectedPhraseId","applyAllStandardPhrases","indeterminates","visibleTruckTypes","dialogDescription","spec","update","setDisclaimerText","dropDownItems","Hidden","AgreementRouteTableTruckTypeItems","AgreementRouteTableTruckTypeHeader","AgreementRouteEstimateHistoryDialog","AgreementRouteTagDialog","AgreementRouteStandardPhrasesDialog","CheckboxTinyAgreementRouteHidden","valueForChangeDetection","end","setTableHeadersRoad","tagTabSelected","estimateEditable","baseHeaders","extraHeaders","filteredRoutes","Visible","pickupInfoTextMatch","pickupInfoInternalNameMatch","destinationInfoTextMatch","destinationInfoInternalNameMatch","specReqTextMatch","specReqInternalNameMatch","includeAll","original","newVals","itemsEdited","routeIds","newState","selectedPhraseTypetandardPhraseId","truckTypesEdited","allHasTruckTypeX","deleteAgreementRoute","actuallyDeleteAgreementRoute","archiveAgreementRoute","actuallyArchiveAgreementRoute","Archivable","Deleteable","customHeader","specReqPhraseType","pickupInfoPhraseType","destinationInfoPhraseType","pickupCounties","populatePickupZipcodes","pickupZipcodes","deliveryCounties","populateDeliveryZipcodes","deliveryZipcodes","startSave","fetchPickupLocations","fetchDeliveryLocations","resetDialog","zipcodeByCounty","agreementRouteExists","handleSave","currencyOfCopy","saveAgreementRoute","createAgreementRoute","AgreementRouteSearch","AgreementRouteTable","CreateAgreementRouteDialog","saveFilter","getSaveFunction","saveTag","saveVisibility","saveTruckTypes","saveEstimate","saveStandardPhrases","saveMandatoryFlags","ignoreVisibilityProblems","idsToSave","arrayToSave","saveHiddenStatus","saveConnectedTrucktypes","saveEstimateAgreementRoutes","saveDefaultMandatoryFlags","saveTags","loadingSemaphore","saveDraftInProgress","loadDraft","routesDialog","agreementCountryToDates","isWorkingWithDraft","baseIndexText","resetPage","procurementCreated","goToProcurements","createProcurement","routesForDialog","selectableCountries","selectedCountry","timeZones","atd","agreementEndText","agreementCountry","emitValidity","fetchSelectableCountries","fetchIanaTimeZones","countriesOnAgreementroutes","agreementRouteTimeZones","checkAllState","filters","checkOne","idsVisible","selectedIdsNotVisible","CreateProcurementAgreementRoutesTable","period","pauseText","fromGte","procurementTimeZone","today","qpRanking","lastPeriod","removePeriod","addPeriod","fixDates","pauseDuration","pauseStart","pauseEnd","daysBetween","pop","prevPeriod","routesWithTagText","listHeight","tagGroups","CreateProcurementAgreementPeriod","CreateProcurementAgreementRoutes","CreateProcurementProcurementPeriods","CreateProcurementAgreementRoutesDialog","CreateProcurementSuppliers","CreateProcurementReview","valuesAffectingDbFetch","validateLists","procurementStart","fetchBaseIndexName","fetchAgreementToDates","storeDraft","removeDraft","actuallyCreateProcurement","listForProcurement","suppliersForProcurement","baseIndexPeriodByValidDate","validateSuppliers","validateAgreementroutes","rankingDialog","loadingText","expandedAgreements","selectedAgreements","selectedAgreementsChanged","agreementExpanded","openRankingDialog","openNewProcurementPeriodDialog","rankByQP","rankByPrice","createAgreement","removeSupplier","selectedAgreementIds","selectedAgreementIndex","maxRanking","closeRankingDialog","changeDialogAgreement","removeAgreementFromSelection","newProcurementPeriodDialog","closeNewProcurementPeriodDialog","overviewSwitchValue","procurementOverview","dateTooltip","priceFilters","priceLabel","priceSwitchEnabled","fetchPriceFilters","itemSelected","allItemsSelected","unselectAllItems","everyItem","someItems","expand","formatDate","alteredTooltip","ProcurementTableExpansion","showIndexTooltip","Ripple","agreement","changeAgreement","datesValid","beforeModification","limitingDates","validateDateForm","prevAgreement","prevAgreementLoading","secondaryValue","qualityPointsLoading","removeAllAgreementRows","agreementRow","agreementRowIndex","removeAgreementRow","restoreAgreementRow","explode","implode","supplierList","removeAgreement","undo","finishProcurement","saveAgreement","showHidePrevAgreementRow","showHideText","prevAgreementRowTooltip","showPrevAgreementRow","rankingColor","flagColor","qualityPointsTooltip","VHover","deleted","RankingDialogPrevAgreement","RankingDialogCard","RankingDialogActions","populate","concat","e1","e2","rankingState","forward","agreementCopy","truckTypeCopy","afterModification","markManualRankings","respectMaxRanking","prevState","prevTruckType","prevAgreementRow","removeAgreementCallback","removeProcurement","finishProcurementCallback","getAllAgreementRows","saveAgreementCallback","saveRanking","truckTypesFetched","fetchAgreement","fetchQP","fetchLimitingDates","fetchPrevAgreement","byAgreementId","byPreviousAgreementId","previous","trucktypesByAgreementId","_fillRanking","byAgreementid","agreementLimitingDates","fromIndex","toIndex","movedRow","getAgreementRowByIndex","_moveAgreementRow","aboveRow","belowRow","newRanking","cascadeDown","agreementRowsToDown","getAgreementRowsByRankingAndBelow","_downRankingCascade","getTruckType","getAgreementRowByIndexAndBelow","_removeAgreementRow","lastIndex","restoredAgreementRow","truckTypeIds","_rank","removed","rankable","rowsAndWeight","priceWeight","qpWeight","ar1","ar2","weight1","weight2","weight3","random","ensureGoodValue","_createEmptyRankingCard","_removeUnnecessaryEmptyCards","strategy","prevRanking","agreementRowsToUp","_upRankingCascade","cardRanking","aboveRanking","procurementZone","newPeriod","qualityPointsMethodSelected","addProcurementPeriod","AgreementSearch","ProcurementTable","ProcurementActions","RankingDialog","NewProcurementPeriodDialog","dirtyTable","bySearchCriteria","selected","newIndex","rankByQualitypoints","createAgreementCallback","removeSupplierCallback","highestRank","suppliersInProcurements","agreementContainer","baseIndexDateFromString","agreementRouteDescription","truckTypeNameColspan","hideAveragePrice","averagePriceTooltip","Ranking","StopPrice","ServiceFee","InitialFee","Share","dateString","AgreementOverviewTable","overviewBySearchCriteria","selectedSupplierId","answerGroups","SurveyAnswerRowDtoX","getAnswerGroups","answerRows","answers","matches","Question1","question","0","1","2","3","Question2","freetext","Question3","4","5","6","Question4","Question5","Question6","Question7","Question8","Question9","Question10","Question11","Question12","Question13","Question14","Question15","Question16","Question17","Question18","Question19","Question20","Question21","Question22","Question23","Question24","Question25","Question26","answer","selectedOptionValid","validateEntireCard","translateIfNeeded","freetextValid","augmentedAnswerRow","surveyQuestion","surveyQuestions","showFreetext","inputValid","hasFocused","VFabTransition","VRadio","VRadioGroup","SurveyQuestion","SurveyContent","latestSubmission","surveys","SurveyDialog","unfilteredSuppliers","isContainer","numCurrencies","NumContainers","NumBroadcasts","AvgRanking","TotalPrice","AvgPrice","PricePerVolume","PricePerKm","CurrencyType","CostReportSearch","CostReportTable","cost","costExportToExcel","sum","priceDifferenceColor","PriceDifference","BookedBy","DeviationReportSearch","DeviationReportTable","deviationExportToExcel","num","DaysRegToPickup","DaysRegToDeliv","Cancelled","DirectBooked","Deviated","ClientMonitoringSearch","ClientMonitoringTable","clientMonitoring","clientMonitoringExportToExcel","AnnulledDate","Why","AnnulledLoadsReportSearch","AnnulledLoadsReportTable","annulledLoadsReport","annulledLoadsReportExportToExcel","fetchQualitypoints","changed","historyItems","surveyParameterId","fairTransportParameterId","changeValue","showLeaf","surveySupplierId","showLogo","calculateMaxPoints","calculateTotalPoints","SustainabilitySurvey","FairTransport","valueString","SubjectiveQualityPointsTable","SubjectiveQualityPointsHistory","subjectiveHistory","subjectiveSave","performanceWeights","classes","weights","flexWidth","valueLabel","performanceWeightGroups","params","param","QualityPointsWeightsTable","fetchPerformanceWeights","allowedToEditDocumentGroups","closeDocumentDialog","documentDetails","routeDialog","fileNameWithCulture","diskNameWithCulture","fileWithCulture","fileParameter","actuallyAddFile","pickupFilter","deliveryFilter","DocumentInput","DocumentRouteDialog","newDocument","fetchDocumentDetails","routeDialogVisible","dt","supportAdminDetails","uploadFile","DocumentDialog","exportDate","exportSupplierRoutePrices","truckTypeRows","truckTypeRow","diffColor","MAX_VALUE","ProcurementAnalyticsTableExpansion","ProcurementAnalyticsSearch","ProcurementAnalyticsTable","procurementAnalytics","produrementAnalyticsExportToExcel","createNewCritiera","costForecastExportToExcel","created","createNewStandardPhrase","filterPhrasesByType","tabItems","openDialog","deleteStandardPhrase","selectedStandardPhrase","closeStandardPhraseDialog","standardPhrases","canBeDeleted","updateUsageCount","sf","getNumberOfConnectedRoutes","standardPhraseDetails","disclaimerInfo","standardPhraseCategories","displayedInfo","standardPhraseDetailsOriginal","saveAgreementRouteStandardPhrase","StandardPhrasesDialog","StandardPhrasesTable","listAgreementRouteStandardPhrases","actuallyDeleteStandardPhrase","deleteAgreementRouteStandardPhrase","unsavedChanges","optionsLoading","interactable","importFromExcel","importPrevAll","setStopPriceAll","calculateDistanceAll","calculatePercentageAll","calculateDistanceAndPercentageAll","validPrices","procurementContainer","hasChanges","importPrev","setStopPrice","calculateDistance","calculatePercentage","calculateDistanceAndPercentage","changedRows","optionsDisabled","showRoutesItems","closedOngoingItems","configDialog","excelImportDialog","importPrevDialog","percentagePriceText","road","machineTransport","stopPriceText","kmPriceText","km","closeErrorDialog","sub","ProcurementConfigDialog","ProcurementExcelImportDialog","ProcurementImportPrevDialog","menuOptions","ProcurementRowAction","Export","ImportExcel","ImportPrev","CalculatePercentage","CalculateDistance","CalculateDistanceAndPercentage","Settings","WithPrices","WithoutPrices","routeNameColspan","showTooltipDialog","shorten","isMachineTransport","basePriceName","dateAsText","procurementDates","currentPeriod","hoursLeft","abs","shortDateTextPrint","basePriceTooltip","currentRankingTooltip","prevRankingTooltip","freightPriceTooltip","updateFreightPrice","priceRow","prevRow","prevPriceRow","round","ProcurementDateTooltip","ProcurementTablePriceInputs","newline22","limitingIndex","docGroup","best","importPrevEnabled","percentageTooltip","distanceTooltip","distPercentageTooltip","stopPriceTooltip","agreementDocuments","unviewedDocuments","unread","markDocumentAsRead","routeNames","readAgreementDocuments","ProcurementDocumentDialog","ProcurementSearch","setInteractable","tryingToLeaveFunction","procurementConfig","ignoreUnsavedChanges","savePrices","truck","truckConf","wagon","wagonConf","clientsWithAgreements","pickupText","deliveryText","BaseIndexDate","AgreementTable","submissions","submissionClicked","surveyInProgress","submissionTitle","submissionSubtitle","noSubmission","surveySubmissionId","VListItemSubtitle","SurveyIterationCard","pending","goBack","progress","numInvalidAnswers","submitSurveyDialog","submitSurvey","lengthRule","SubmitSurveyDialog","answerRowsX","goBackCallback","submit","clientid","newRows","add","minNumRules","dayTypeIncluded","getWorkingHours","getTime","selectedYear","hasPassed","holidayRules","isAllDay","toggleAllDay","removeHoliday","firstOkDay","addHoliday","selectedTimeOk","toCDate","HolidayDtoX","dto","originalDate","TimePickerDuration","holidaysDuringYear","originalDayTypeIncluded","originalWorkingHours","originalHolidays","newDate","toDuration","holidayToRemove","saveClientSchedule","WorkingHoursEditDialog","changedValues","originalRulesAsJSON","originalRules","delayPrevLevel","roundValues","savePublishRules","nodeType","docName","clientDocumentsForSuppliers","VTreeview","timeSinceRefresh","refresh","totalPricePhase","totalRankingPhase","totalNotStarted","totalFarAhead","totalFarBack","loadsBeingViewed","totalOrdered","totalMissingAgreement","totalBooked","totalLoaded","totalDelivered","viewAgreementRoutes","totalEndingSoon","totalEndingSoonWithoutSuccessors","totalEndingSoonish","totalEndingSoonishWithoutSuccessors","totalEndingLater","pos","fallDelay","shakeDelay","numFlakes","showSnow","sortedRows","selectedLoad","selectedLoadAsExplorerNodeDto","disabledFilter","activeFilter","actorTypeFilter","userFilter","openEditDialog","openEditUsersDialog","openInvoiceDialog","filteredUserDescriptions","ActorListDialogType","UsersDialog","InvoiceDialog","actorOriginal","validChanges","actorFromList","toggleActorEnabled","editActor","orgNoRules","contractAddressRules","fetchTimeZones","actorTimeZone","cargoTypeRules","fetchOrgNumbers","editForm","orgNumbers","ianaTimeZones","tz","clientsForSupportAdmin","ActorEditForm","actorForSupportAdmin","editForSupportAdmin","selectedIndex","createInvoiceInformation","createEnabled","editInvoiceInformation","VListItemGroup","selectedLoadUserId","clearConfigInProgress","enableInProgress","unlockInProgress","clearConfigOnUser","toggleEnabled","unlockUser","getResetCredentialsLink","notificationDialog","saveUser","lockoutTimeLeft","actorInvoiceInformationForSupportAdmin","UsersTable","UserForm","UserNotificationSettingsDialog","userForm","byActorId","allUsersNotEnabled","clearConfigurations","resetLockout","resetCredentialsLink","ActorEditDialog","filteredActorsList","fetchPriceRow","fetchPublishInfo","isStatusOrdered","pricerowByLoadid","publishInfo","emptyFilter","ExplorerDialogLoadDetails","filteredRows","Snow","DashboardLoadsDialog","loadStatusInfo","procurementStatusInfo","agreementStatusInfo","refreshDate","fetchCurrentLoads","fetchProcurements","fetchAgreements","currentLoads","exportSelectionToExcel","createNewActor","setFilteredActorsList","createActorActorType","createActor","emptyActor","ActorCreateDialog","listForSupportAdmin","filteredList","exportListForSupportAdmin","filteredUserIds","userNameFilter","nameFilter","userLevelFilter","hasAnyEmailSubscriptionsFilter","textForBoolean","filteredUsersList","UserTable","exportSelectionForSupportAdmin","createUserUserType","toggles","scrollToTop","supportAdminTimeZone","augmentedAgreements","invoicePriceTooltip","megaUserTooltip","openActorDialog","editingAgreementId","editingSupplierId","editingAgreements","updateModels","valuesToWatch","stopPriceEnabled","serviceFeeEnabled","initialFeeEnabled","updatePrice","AgreementListEditDialog","sortedAgreements","filteredAgreements","ttHeaders","arow","statHeaders","AgreementListSearch","AgreementListTable","itemClicked","selectedItem","advancedSelection","supportActorTimeZone","LoadByAdvanced","selectionOptions","loadChildren","AgreementLoads","AgreementRouteAgreements","AgreementRow","AgreementAgreementRows","LocationPickupRoutes","LocationDeliveryRoutes","Location","PriceRow","LoadClient","LoadSupplier","ps","ClientByLoadId","SupplierByLoadId","PriceRowByLoadId","AgreementByLoadId","getNodesPromise","AgreementRouteByAgreementId","LoadByAgreementId","AgreementRowByAgreementId","AgreementByAgreementRowId","RouteByAgreementRouteId","AgreementByAgreementRouteId","LocationByRouteId","AgreementRouteByRouteId","RouteByPickupLocationId","RouteByDeliveryLocationId","LoadByPriceRowId","responses","unexpandable","showOnlySelected","apiMethod","updateLoadPrice","outerEntry","outerIndex","tmp","makeCamelCaseReadable","finalResult","charAt","loadhistory","visibility","resigns","suppliernotified","supplierunbookedloads","agreementhistory","agreementrow","agreementroute","agreementroutehistory","agreementroutetrucktypes","objectToArray","undoLoadingInProgress","undoLoading","hasStatusLoaded","undoloadingload","setProcurementDate","setProcurementEnd","qpVis","agreementqualitypoints","dialogType","additionalTitleInfo","forType","onlyForMegaUsers","ExplorerDialogGeneric","ExplorerDialogPrice","ExplorerDialogLoadActions","ExplorerDialogQualityPoints","ExplorerDialogAgreementActions","ExplorerSearch","ExplorerTree","ExplorerDialog","retryCountItems","emails","highlightRetries","retries","resetEmailRetryCount","emailSentTo","emailSubject","emailText","resetEmailRetrycount","gotoQPWeights","filteredVisRows","triforce","agreementid","visRows","visualisation","fetchSubjectiveWeights","subjectiveWeights","UpdateRes","routesContainer","toggled","updating","toggle","toggleAll","finishedUpdating","allToggled","locationName","oldDistance","NumAgreements","DistanceTable","Waiting","Changed","Unchanged","exportInProgress","markInProgress","exportToFile","supportAdminZone","dateRule","feeTypeGroups","feeTypeGroupChanged","feeTypeGroup","markAsInvoiced","selectedRow","invoiceRecipientName","sql","InvoiceGeneratorLoadIdsDialog","invoiceRecipient","monthlyFees","annualFees","InvoiceGeneratorTable","totals","getFeeTypes","generate","exportInvoice","earthquake","earthquakeMode","blurred","blurredMode","logging","toll","explosionMode","checkEmails","getUsersToFix","usersLeftToFix","logTest","badEmails","fixUsers","fetchJobs","stopAll","startSafe","frequentJobs","updateJob","runJob","nightJobs","isNightJobs","job","jobs","BackgroundTasksTable","run","unsafe","createNews","newsDto","at","hasEnglish","publish","isVisible","cultureIndex","setCulture","newsById","nc","actuallyPublish","actuallyRemove","hasData","newsRowDto","dashboardItem","insertFormatting","NewsHelpIcon","getTextSelection","textarea","selectionStart","selectionEnd","formatting","createExample","saveToNewsGroup","missingCultures","renderInProgress","renderTemplate","domProps","renderEmail","_m","nordic","saveDisabled","newest","saveIndexComponents","supportAdminList","numProcurements","clientsWithProcurements","addSupplierToProcurements","updateCountry","countyTexts","checkMade","zipCodeTexts","exactMatches","closeMatches","z","suggestions","TextWithAutocomplete","fetchCountiesWithZipcodes","activeRequest","fetchRemovable","listRemovable","SigningStatus","cNameFilter","cEmailFilter","cPhoneFilter","statusFilter","signingInProgress","terminate","sendReminder","isSigned","initialize","InProgress","Signed","Declined","Expired","Faulty","Withdrawn","NotStarted","ActorSigningTable","fetchStatistics","useCriteria","setChartType","piealog","pieChartData","pieChartTitle","backgroundColor","chartTypeItems","monthInGroupItems","countryItems","pickupCountyItems","deliveryCountyItems","extraStopsItems","dialogPresetId","preset","copyCriteria","MegaReportPresetThing","deviationNull","unitNull","unitEmpty","PieChart","MegaReportSearch","fetchDeliveryCounties","fetchPickupCounties","Containers","BookingFees","FreightPrices","AvgFreightPrice","AvgFreightPricePerVolume","PercentDelivered","PercentBookedPickup","PercentBookedDelivery","PercentHasDistanceLoad","PercentHasDistanceRoute","PercentEconomy","PercentBroadcast","PercentHasOtherPrice","statistics","yearMonthNamePrint","yearQuarterPrint","megaReport","bookingFeeName","extraStops","dataAndLabels","megaReportExport","hoursPerGroupItems","heatMap","presentCountry","legend","BarChart","actorInfos","selectedDate","dateOptions","setSelectedDate","fetchDates","dateAsString","fetchActors","FromDate","ToDate","countryIso","InvoicedFeesReportSearch","InvoicedFeesReportTable","UserType","precisionItems","userTypesItems","userTypes","createCriteria","Hours","Days","userTypesToDraw","getValue","activeUsersStatistics","userType","stat","Web","Months","populateLoads","noResultText","isContainerLoad","clientVisible","loadlist","actionsVisibleInMobile","MobileLoadListTable","MobileLoadListTabs","annulledOrCanceled","loadedOrDelivered","extraMinutesSiloOne","currentDate","eventsNotBooked","timeIsFree","chooseTime","addTempSlot","removeBooking","doBooking","categories","selectedCategory","getEventCategory","categoryArray","getEventColor","weekDayText","getEvents","prevDisabled","prev","calenderBadDate","next","isBlocking","category","scheduleInProgress","scrollToTime","nowY","cal","calendar","timeToY","times","isToday","categoriesStrings","firstCategory","getCurrentTime","first","bookedEvents","sortedEvents","firstTime","yesterday","calender","updateTimes","VCalendar","timeOkGenerator","defaultTime","bioNorrSlotZone","eventClicked","TimePicker","bookedSiloOne","eventsToBook","loadedOrDeliveredText","dots","annulledText","tick","annulled","returnText","MobileSlotBookingExpansionPanels","MobileSlotBookingCalendar","MobileSlotBookingNotAvailable","free","encodedLoadWithCargoLoadings","populateCalendarData","populateBookedByAnotherEvents","populateEventsToBook","hasBooking","siloEvent","Router","router","process","PageNotFound","ErrorPage","InternetExplorerNotSupported","IntegrationUser","MobileDeliver","AnonymousMobileDashboard","MobileSlots","redirect","Dashboard","UserMutation","Search","Slots","ClientProcurements","SupplierProcurements","ClientAgreements","SupplierAgreements","ClientDocuments","SupplierDocuments","LoadStatistics","AgreementStatistics","QualityPointsReport","ClientQualityPointsWeights","SupplierQualityPointsWeights","ClientSurveyOverview","SupplierSurveyOverview","PriceList","Messages","Indexes","About","News","SupportForm","ExcludedActors","AdministrateActor","AdministrateUsers","MyActor","MySettings","AgreementRoutes","CreateProcurement","ProcurementOverview","ClientSubjectiveQualityPoints","SupplierSubjectiveQualityPoints","PublishRules","SetraExport","CostForecast","MobileLoads","SupportAdminDashboard","SupportAdminActors","SupportAdminUsers","AgreementList","MailViewer","QualityPointsVis","QualityPointsWeights","SupportAdminDocuments","PowerButtons","BackgroundTasks","EditNews","SupportAdminNews","MailTemplate","Playground","ButWhy","IndexComponents","AddToProcurements","AddLocation","ActorSigning","MegaReport","ActorsStatistics","InvoicedFeesReport","ActiveUsers","beforeEach","internetExplorerRedirect","handleAuthCallbacks","needsSiteSwitch","paths","ua","msie","trident","Vuetify","primary","iconfont","theme","themes","productionTip","vuetify","App","$mount"],"mappings":"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AW,EAAOD,QAAU,IAA0B,iC,6GCA3C,W,yDCAA,W,oCCAA,W,2DCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,6DCA3C,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,oCCA3C,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,yDCA3C,W,oCCAA,W,kCCAA,W,oCCAA,W,2DCAA,W,2DCAA,W,oCCAA,W,6DCAA,W,oCCAA,W,oCCAA,W,oCCAA,W,oCCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,gC,oCCA3C,W,uBCAAC,EAAOD,QAAU,IAA0B,wC,oCCA3C,W,kCCAA,W,oCCAA,W,6DCAA,W,2DCAA,W,kCCAA,W,oCCAA,Y,oCCAA,W,oCCAA,W,6DCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,oCCA3C,W,oCCAA,W,oCCAA,W,sICAA,W,kFCAA,W,oCCAA,W,oCCAA,W,kFCAA,W,oCCAA,W,2lqGCAA,W,6DCAA,W,oCCAA,W,oCCAA,W,kCCAA,W,uJCAA,W,oCCAA,W,oCCAA,W,oCCAA,W,6DCAA,W,oCCAA,W,oCCAA,W,oCCAA,W,2DCAA,W,yDCAA,W,gFCAA,W,kCCAA,W,kCCAA,W,gFCAA,W,qJCAA,W,yDCAA,W,yDCAA,W,yDCAA,W,8HCAA,W,gFCAA,W,gFCAA,W,qJCAA,W,kCCAA,W,kCCAA,W,kCCAA,W,kCCAA,W,kCCAA,W,2kHCAI,EAAS,WAAa,IAAI+B,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,UAAU,CAACE,MAAM,CAAC,SAAWN,EAAIO,SAAS,KAAOP,EAAIQ,KAAK,oBAAsBR,EAAIS,qBAAqBC,GAAG,CAAC,QAAUV,EAAIW,WAAWP,EAAG,SAAS,CAACQ,YAAY,mBAAmB,CAACR,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAyBO,IAAlBb,EAAIc,UAAwB,QAAUd,EAAIe,iBAAiB,YAAcf,EAAIgB,wBAAwBZ,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAON,EAAIiB,YAAYC,KAAK,QAAUlB,EAAIiB,YAAYE,QAAQ,SAAWnB,EAAIiB,YAAYG,SAAS,OAAQ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2F,KAAOmmB,EAAM,QAClB9rB,KAAK0sB,UAAYZ,EAAM,aACvB9rB,KAAK8C,cAAgBgpB,EAAM,oBAElC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK2F,KACpBzJ,EAAK,aAAe8D,KAAK0sB,UACzBxwB,EAAK,iBAAmB8D,KAAK8C,cACtB5G,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4uB,EAEjB,OADA5uB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3B6B,IA4ClC,SAAYovB,GACRA,4CACAA,wCAFJ,CAAYA,QAAsB,KAKlC,SAAYC,GACRA,4BACAA,4BACAA,gCACAA,4BAJJ,CAAYA,QAAO,KAOnB,SAAYC,GACRA,sBACAA,8BACAA,gCACAA,8CAJJ,CAAYA,QAAS,KAOrB,SAAYC,GACRA,0BACAA,8CACAA,oCACAA,4CACAA,gDACAA,0CACAA,8CACAA,oCACAA,wCACAA,wCACAA,2CACAA,qCACAA,+CACAA,6CACAA,yCACAA,yCACAA,yCACAA,6CACAA,2CACAA,iDACAA,yCACAA,yCACAA,2CACAA,mCACAA,yCACAA,yCACAA,uCACAA,iDACAA,yCACAA,+CACAA,6CACAA,2CACAA,6CACAA,uEACAA,qDACAA,qCACAA,6CACAA,qCACAA,iCACAA,mCACAA,uCACAA,uCACAA,uCACAA,qCACAA,qDACAA,uCACAA,+CACAA,mCACAA,mCACAA,6CACAA,qCACAA,iDACAA,uCACAA,6CACAA,uCACAA,uCACAA,6CACAA,2CACAA,yCACAA,iDACAA,uCACAA,+CACAA,yCACAA,+CACAA,+CACAA,6CACAA,mDACAA,2CACAA,uCACAA,yCACAA,uCACAA,2CACAA,mCACAA,6CACAA,+CACAA,uCACAA,yCACAA,mDACAA,+CACAA,+CACAA,iEACAA,iDACAA,iDACAA,mDACAA,+CACAA,iDACAA,2EACAA,iEACAA,6DACAA,6DACAA,iEACAA,qEACAA,mEACAA,mEACAA,iEACAA,mEACAA,2EACAA,iEACAA,kDACAA,sDACAA,wDACAA,gDACAA,sDACAA,gDACAA,0DACAA,oDACAA,oDACAA,oDACAA,gDACAA,8CACAA,8CACAA,0CACAA,kCACAA,8CACAA,gDACAA,oCACAA,oDACAA,wCACAA,gDACAA,kDACAA,0DACAA,gDACAA,sCACAA,4CACAA,oDACAA,8CACAA,0CACAA,kDACAA,4CACAA,kDACAA,4CACAA,0CACAA,kDACAA,wDACAA,4CACAA,gDACAA,sDACAA,kDACAA,4CACAA,gDACAA,oDACAA,4CACAA,wCACAA,8CACAA,wCACAA,4CACAA,gDACAA,8CACAA,kDACAA,8CACAA,kDACAA,wDACAA,8CACAA,8CACAA,gDACAA,gDACAA,gDACAA,wDACAA,4CACAA,0DACAA,gDACAA,0DACAA,4CACAA,8CACAA,wDACAA,sDACAA,oDACAA,4CACAA,kDACAA,wCACAA,8CACAA,kDACAA,0CACAA,oDACAA,kDACAA,gDACAA,wDACAA,4CACAA,0CACAA,4CACAA,oDACAA,4CACAA,8CACAA,gDACAA,4CACAA,8CACAA,8CACAA,gDACAA,0DACAA,4CACAA,kDACAA,kDACAA,wCACAA,8CACAA,0CACAA,wCACAA,8CACAA,oDACAA,wCACAA,gDACAA,0CACAA,8CACAA,4CACAA,4CACAA,kDACAA,8CACAA,8CACAA,8CACAA,wCACAA,gDACAA,wCACAA,wDACAA,wDACAA,0CACAA,0CACAA,4CACAA,oDACAA,0CACAA,4DACAA,kDACAA,wCACAA,0CACAA,4CACAA,sDACAA,0CACAA,4DACAA,4CACAA,0CACAA,0CACAA,oDACAA,0CACAA,wCACAA,sCACAA,0CACAA,8CACAA,4CACAA,wCACAA,4CACAA,oDACAA,0CACAA,gDACAA,4CACAA,sCACAA,4CACAA,sCACAA,4CACAA,0CACAA,sCACAA,oCACAA,sCACAA,kCACAA,4CACAA,gDACAA,wCACAA,8CACAA,0CACAA,4CACAA,0CACAA,8CACAA,gDACAA,8CACAA,sDACAA,4CACAA,kDACAA,0CACAA,0CACAA,sCACAA,gDACAA,kCACAA,oCACAA,4CACAA,oDACAA,kDACAA,oDACAA,wCACAA,gDACAA,8CACAA,sDACAA,4CACAA,4CACAA,kDACAA,kDACAA,kDACAA,8CACAA,gDACAA,4DACAA,oDACAA,8CACAA,wCACAA,0CACAA,8CACAA,4CACAA,0CACAA,8CACAA,wCACAA,8CACAA,4CACAA,0CACAA,wCACAA,gDACAA,8CACAA,4CACAA,wCACAA,4CACAA,kDACAA,8CACAA,wDACAA,wDACAA,sCACAA,gDACAA,gDACAA,sDACAA,kCACAA,sCACAA,gDACAA,8CACAA,0CACAA,gDACAA,oCACAA,4CACAA,8CACAA,oDACAA,0CACAA,kDACAA,wCACAA,gDACAA,gDACAA,4CACAA,gDACAA,0CACAA,oDACAA,kCACAA,gDACAA,wCACAA,oCACAA,kDACAA,gDACAA,wCACAA,oCACAA,wCACAA,0CACAA,gDACAA,0CACAA,wCACAA,0CACAA,oDACAA,4CACAA,sCACAA,0CACAA,sDACAA,sCACAA,oDACAA,sDACAA,8CACAA,kDACAA,gDACAA,oDACAA,sCACAA,sDACAA,0DACAA,4CACAA,oDACAA,8CACAA,gDACAA,sCACAA,0CACAA,8CACAA,kCACAA,0CACAA,kDACAA,0DACAA,gDACAA,wDACAA,sCACAA,4CACAA,4CACAA,wCACAA,sEACAA,sEACAA,kEACAA,8DACAA,8DACAA,oEACAA,0DACAA,kEACAA,wDACAA,kDACAA,sEACAA,4EACAA,sEACAA,0CACAA,8CACAA,kDACAA,4CACAA,0CACAA,oDACAA,8CACAA,wCACAA,wCACAA,gDACAA,oDACAA,4CACAA,0CACAA,4CACAA,oDACAA,8CACAA,8CACAA,kDACAA,0CACAA,4CACAA,wCACAA,4CACAA,sDACAA,0CACAA,0CA/ZJ,CAAYA,QAAQ,KAkab,IAoOKC,GApOC/mB,GAAoB,WAU7B,WAAY9J,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKM,SAAWwrB,EAAM,YACtB9rB,KAAKiG,WAAa6lB,EAAM,cACxB9rB,KAAKgtB,MAAQlB,EAAM,SACnB9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAKitB,SAAWnB,EAAM,YACtB9rB,KAAK2H,UAAYmkB,EAAM,aACvB9rB,KAAKktB,0BAA4BpB,EAAM,6BACvC9rB,KAAKmtB,QAAUrB,EAAM,cAE5B,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKM,SACxBpE,EAAK,cAAgB8D,KAAKiG,WAC1B/J,EAAK,SAAW8D,KAAKgtB,MACrB9wB,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,YAAc8D,KAAKitB,SACxB/wB,EAAK,aAAe8D,KAAK2H,UACzBzL,EAAK,6BAA+B8D,KAAKktB,0BACzChxB,EAAK,WAAa8D,KAAKmtB,QAChBjxB,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyI,EAEjB,OADAzI,EAAOivB,KAAKtwB,GACLqB,MACV,EArC4B,GAgEpB+I,GAAuB,WAIhC,WAAYpK,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKiG,WAAa6lB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC9rB,KAAKotB,OAAS,GAAU,IACQ,EADR,IACPtB,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKotB,OAAQpwB,KAAKqwB,GAA6B7oB,OAAOuB,KAAO,kCAG5E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKiG,WACtBJ,MAAMC,QAAQ9F,KAAKotB,QAAS,CAC5BlxB,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKotB,QAAM,IAA5B,2BACI,KADKrnB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+I,EAEjB,OADA/I,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B+B,GAgDvB8vB,GAA4B,WAWrC,WAAYnxB,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgDnD,OA7CA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAGP,GAFA9rB,KAAKstB,kBAAoBxB,EAAM,qBAC/B9rB,KAAK6J,UAAYiiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAKwwB,GAA2BhpB,OAAOuB,KAAO,+BAEjE,GAAIF,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C9rB,KAAKytB,mBAAqB,GAAU,IACQ,EADR,IACnB3B,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACT/F,KAAKytB,mBAAoBzwB,KAAK0wB,GAAkBlpB,OAAOuB,KAAO,+BAEtE,GAAIF,MAAMC,QAAQgmB,EAAM,wBAAyB,CAC7C9rB,KAAK2tB,oBAAsB,GAAU,IACQ,EADR,IACpB7B,EAAM,wBAAsB,IAA7C,2BACI,KADK/lB,EAAI,QACT/F,KAAK2tB,oBAAqB3wB,KAAK0wB,GAAkBlpB,OAAOuB,KAAO,+BAEvE,GAAIF,MAAMC,QAAQgmB,EAAM,0BAA2B,CAC/C9rB,KAAK4tB,sBAAwB,GAAU,IACQ,EADR,IACtB9B,EAAM,0BAAwB,IAA/C,2BACI,KADK/lB,EAAI,QACT/F,KAAK4tB,sBAAuB5wB,KAAK0wB,GAAkBlpB,OAAOuB,KAAO,+BAEzE,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAK6tB,WAAa,GAAU,IACQ,EADR,IACX/B,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAK6tB,WAAY7wB,KAAK+I,IAAM,+BAEpC,GAAIF,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC9rB,KAAK8tB,aAAe,GAAU,IACQ,EADR,IACbhC,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAK8tB,aAAc9wB,KAAK+I,IAAM,+BAEtC/F,KAAK+tB,kBAAoBjC,EAAM,wBAEtC,oBASD,SAAO5vB,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,qBAAuB8D,KAAKstB,kBACjCpxB,EAAK,aAAe8D,KAAK6J,UACrBhE,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,GAAI1mB,MAAMC,QAAQ9F,KAAKytB,oBAAqB,CACxCvxB,EAAK,sBAAwB,GAAG,IACQ,EADR,IACf8D,KAAKytB,oBAAkB,IAAxC,2BACI,KADK1nB,EAAI,QACT7J,EAAK,sBAAsBc,KAAK+I,EAAKwmB,WAAU,+BAEvD,GAAI1mB,MAAMC,QAAQ9F,KAAK2tB,qBAAsB,CACzCzxB,EAAK,uBAAyB,GAAG,IACQ,EADR,IAChB8D,KAAK2tB,qBAAmB,IAAzC,2BACI,KADK5nB,EAAI,QACT7J,EAAK,uBAAuBc,KAAK+I,EAAKwmB,WAAU,+BAExD,GAAI1mB,MAAMC,QAAQ9F,KAAK4tB,uBAAwB,CAC3C1xB,EAAK,yBAA2B,GAAG,IACQ,EADR,IAClB8D,KAAK4tB,uBAAqB,IAA3C,2BACI,KADK7nB,EAAI,QACT7J,EAAK,yBAAyBc,KAAK+I,EAAKwmB,WAAU,+BAE1D,GAAI1mB,MAAMC,QAAQ9F,KAAK6tB,YAAa,CAChC3xB,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAK6tB,YAAU,IAAhC,2BACI,KADK9nB,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAEtC,GAAIF,MAAMC,QAAQ9F,KAAK8tB,cAAe,CAClC5xB,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAK8tB,cAAY,IAAlC,2BACI,KADK/nB,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,IAAM,+BAGxC,OADA7J,EAAK,qBAAuB8D,KAAK+tB,kBAC1B7xB,KACV,qBA3CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8vB,EAEjB,OADA9vB,EAAOivB,KAAKtwB,GACLqB,MACV,EA/DoC,IAoHzC,SAAYwvB,GACRA,oCACAA,gCACAA,sBACAA,yBAJJ,CAAYA,QAAiB,KAOtB,IA4CKiB,GAmEAC,GA/GCT,GAA0B,WAKnC,WAAYtxB,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKkuB,aAAepC,EAAM,gBAC1B9rB,KAAKmuB,mBAAqBrC,EAAM,sBAChC9rB,KAAKouB,QAAUtC,EAAM,cAE5B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkB8D,KAAKkuB,aAC5BhyB,EAAK,sBAAwB8D,KAAKmuB,mBAClCjyB,EAAK,WAAa8D,KAAKouB,QAChBlyB,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIiwB,EAEjB,OADAjwB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BkC,IA4CvC,SAAYywB,GACRA,oEACAA,sDACAA,gEACAA,gDACAA,8CACAA,sCACAA,oCACAA,wCACAA,oCACAA,0CACAA,4CACAA,wCACAA,wDACAA,0CACAA,oDACAA,kDACAA,sDACAA,kDACAA,wDACAA,8CACAA,sDACAA,4DACAA,wDACAA,8DACAA,0DACAA,8DACAA,wCACAA,sDACAA,sDACAA,sDACAA,kDACAA,8CACAA,gEACAA,oEACAA,8DACAA,0DACAA,8DACAA,wCACAA,oDACAA,gDACAA,wEACAA,oEACAA,kDACAA,wCACAA,gDACAA,kDACAA,4DACAA,8CACAA,oDACAA,0DACAA,4CACAA,4CACAA,gDACAA,oEACAA,gEACAA,oEACAA,gDACAA,oDACAA,kDACAA,gDACAA,sCACAA,sCACAA,kDACAA,uCAhEJ,CAAYA,QAAY,KAmExB,SAAYC,GACRA,8BACAA,oCAFJ,CAAYA,QAA8B,KAKnC,IAwCKI,GAxCCX,GAAiB,WAI1B,WAAYxxB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2V,QAAUmW,EAAM,WACrB9rB,KAAKsuB,OAASxC,EAAM,aAE3B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAK2V,QACvBzZ,EAAK,UAAY8D,KAAKsuB,OACfpyB,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImwB,EAEjB,OADAnwB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzByB,IAwC9B,SAAY8wB,GACRA,0BACAA,0BACAA,4BACAA,4BACAA,4BACAA,4BACAA,0BACAA,0BACAA,4BACAA,2BACAA,yBACAA,6BACAA,6BACAA,qCACAA,yCACAA,yCACAA,6BACAA,iCACAA,+BACAA,+BACAA,2BACAA,2BACAA,yBACAA,yBACAA,yBACAA,6BACAA,mCACAA,6BACAA,6BACAA,qBACAA,2BACAA,2BACAA,qCACAA,yBACAA,mCACAA,+BACAA,yBACAA,2BACAA,6BACAA,iCACAA,6BACAA,6BACAA,mDACAA,iCACAA,2BACAA,yBACAA,yBACAA,uBACAA,mCACAA,6BACAA,6BACAA,yBACAA,6BACAA,yBACAA,+BACAA,+BACAA,qCACAA,+BACAA,iCACAA,+BACAA,+BACAA,6BACAA,+BACAA,+BACAA,+BACAA,yBACAA,2BACAA,uCACAA,iCACAA,6BACAA,6BACAA,+BACAA,qCACAA,yCACAA,6BACAA,2BACAA,+BACAA,mCACAA,2CACAA,iCACAA,6BACAA,yBACAA,mCACAA,6BACAA,6BACAA,+BACAA,6BACAA,2BACAA,yBACAA,6BACAA,2BACAA,6BACAA,6BACAA,iDACAA,+BACAA,uCACAA,2BACAA,2BACAA,qCACAA,8BACAA,gCACAA,0CACAA,4DACAA,wBACAA,0BACAA,8CACAA,gCACAA,8BACAA,0BACAA,sBACAA,sCACAA,kCACAA,sCACAA,8BACAA,wBACAA,8BACAA,gCACAA,gCACAA,kDACAA,8BACAA,oCACAA,gDACAA,gCACAA,8CACAA,wCACAA,wBACAA,wCACAA,8CACAA,0BACAA,4BACAA,0BACAA,kCACAA,kCACAA,8BACAA,oCACAA,wBACAA,kCACAA,gCACAA,4BACAA,wCACAA,4BACAA,0BACAA,gCACAA,wBACAA,wBACAA,kCACAA,8BACAA,4BACAA,oCACAA,0BACAA,gCACAA,4BACAA,oCACAA,sBACAA,8BACAA,8BACAA,0CACAA,0BACAA,kCACAA,oCACAA,4BACAA,wBACAA,0BACAA,8CACAA,oCACAA,oCACAA,kCACAA,8BACAA,4BACAA,oCACAA,8BACAA,4BACAA,gCACAA,oCACAA,oCACAA,oCACAA,8BACAA,0BACAA,0BACAA,wCACAA,oCACAA,kCACAA,0BACAA,8BACAA,0BACAA,kCACAA,4BACAA,4CACAA,gCACAA,wBACAA,gCACAA,oCACAA,0BACAA,8BACAA,4BACAA,4BACAA,8CACAA,sCACAA,8CACAA,oCACAA,sCACAA,0BACAA,kCACAA,8BACAA,4BACAA,oCACAA,sCACAA,sCACAA,4CACAA,8BACAA,sCACAA,oCACAA,gCACAA,kCACAA,oCACAA,gCACAA,oCACAA,wBACAA,0BACAA,4CACAA,wCACAA,4BACAA,4BACAA,8BACAA,8BACAA,oCACAA,8BACAA,kCACAA,wDACAA,8CACAA,0CACAA,6BAxOJ,CAAYA,QAAO,KA2OZ,IA4FKE,GA5FCC,GAAyB,WAIlC,WAAYtyB,GACR,GADy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ACV,EAzBiC,GAwCzBoa,GAAiB,WAK1B,WAAYzb,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAK2V,QAAUmW,EAAM,cAE5B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,WAAa8D,KAAK2V,QAChBzZ,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoa,EAEjB,OADApa,EAAOivB,KAAKtwB,GACLqB,MACV,EA3ByB,IA4C9B,SAAY2vC,GACRA,kBACAA,kBACAA,kBACAA,kBACAA,kBACAA,kBACAA,kBACAA,kBACAA,kBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,mBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,oBACAA,qBAxOJ,CAAYA,QAAU,KA2OtB,SAAYC,GACRA,wBACAA,gCACAA,4BACAA,+BACAA,+BACAA,iCACAA,8BAPJ,CAAYA,QAAkB,KAU9B,SAAYC,GACRA,wBACAA,8BACAA,4BACAA,+BACAA,+BACAA,iCACAA,+BAPJ,CAAYA,QAAqB,KAUjC,SAAYC,GACRA,sCACAA,wCACAA,4CACAA,sBACAA,0BACAA,gDANJ,CAAYA,QAAsB,KAS3B,IAwVKE,GAxVCr0B,GAAsB,WAS/B,WAAYhd,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA8BnD,OA3BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAMP,GALA9rB,KAAKq2B,MAAQvK,EAAM,SACnB9rB,KAAKwtC,SAAW1hB,EAAM,YACtB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKytC,cAAgB3hB,EAAM,iBAC3B9rB,KAAK0tC,WAAa5hB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,WAAY,CAChC9rB,KAAKk0B,OAAS,GAAU,IACQ,EADR,IACPpI,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0B,OAAQl3B,KAAK2wC,GAAiBnpC,OAAOuB,KAAO,+BAEzD,GAAIF,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK4wC,GAAiBppC,OAAOuB,KAAO,mCAG9D,oBASD,SAAO7J,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACrBn6B,EAAK,YAAc8D,KAAKwtC,SACxBtxC,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKytC,cAC7BvxC,EAAK,cAAgB8D,KAAK0tC,WACtB7nC,MAAMC,QAAQ9F,KAAKk0B,QAAS,CAC5Bh4B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKk0B,QAAM,IAA5B,2BACI,KADKnuB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,GAAI1mB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,OAAOrwB,KACV,qBAzBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2b,EAEjB,OADA3b,EAAOivB,KAAKtwB,GACLqB,MACV,EA3C8B,GA4EtBowC,GAAgB,WAMzB,WAAYzxC,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK6tC,MAAQ/hB,EAAM,SACnB9rB,KAAK8tC,IAAMhiB,EAAM,OACjB9rB,KAAK+tC,MAAQjiB,EAAM,YAE1B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,SAAW8D,KAAK6tC,MACrB3xC,EAAK,OAAS8D,KAAK8tC,IACnB5xC,EAAK,SAAW8D,KAAK+tC,MACd7xC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIowC,EAEjB,OADApwC,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BwB,GAgDhBqwC,GAAgB,WAgBzB,WAAY1xC,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAKwtC,SAAW1hB,EAAM,YACtB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKytC,cAAgB3hB,EAAM,iBAC3B9rB,KAAKguC,WAAaliB,EAAM,cACxB9rB,KAAKiuC,SAAWniB,EAAM,YACtB9rB,KAAKkuC,eAAiBpiB,EAAM,kBAC5B9rB,KAAKmuC,WAAariB,EAAM,cACxB9rB,KAAK0tC,WAAa5hB,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKouC,aAAetiB,EAAM,gBAC1B9rB,KAAKquC,QAAUviB,EAAM,WACrB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,uBAErC,oBASD,SAAO5vB,GAgBH,OAfAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,YAAc8D,KAAKwtC,SACxBtxC,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKytC,cAC7BvxC,EAAK,cAAgB8D,KAAKguC,WAC1B9xC,EAAK,YAAc8D,KAAKiuC,SACxB/xC,EAAK,kBAAoB8D,KAAKkuC,eAC9BhyC,EAAK,cAAgB8D,KAAKmuC,WAC1BjyC,EAAK,cAAgB8D,KAAK0tC,WAC1BxxC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,gBAAkB8D,KAAKouC,aAC5BlyC,EAAK,WAAa8D,KAAKquC,QACvBnyC,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBACzBp5B,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqwC,EAEjB,OADArwC,EAAOivB,KAAKtwB,GACLqB,MACV,EAjDwB,GAwFhB+wC,GAAiC,WAO1C,WAAYpyC,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoByiB,GAAyB/pC,OAAOsnB,EAAM,wBAA0BlrB,EAChHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+wC,EAEjB,OADA/wC,EAAOivB,KAAKtwB,GACLqB,MACV,EA/ByC,GAoDjCgxC,GAAwB,WAcjC,WAAYryC,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKouC,aAAetiB,EAAM,gBAC1B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,KAE3F,oBASD,SAAO1E,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,gBAAkB8D,KAAKouC,aAC5BlyC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EAC7D1E,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgxC,EAEjB,OADAhxC,EAAOivB,KAAKtwB,GACLqB,MACV,EA7CgC,IAgFrC,SAAYgwC,GACRA,0CACAA,8CACAA,sBACAA,8BACAA,wCACAA,wCACAA,8BACAA,kCACAA,0CACAA,mCACAA,mCACAA,iCACAA,wCAbJ,CAAYA,QAAiB,KAgBtB,IAwYKiB,GAWAC,GAKAC,GAxZCr1B,GAAgC,WAKzC,WAAYnd,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAEP,GADA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK2xC,GAA2BnqC,OAAOuB,KAAO,+BAEjE/F,KAAK6tC,MAAQ/hB,EAAM,SAAW6iB,GAA2BnqC,OAAOsnB,EAAM,eAAiBlrB,KAE9F,oBASD,SAAO1E,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAGzC,OADArwB,EAAK,SAAW8D,KAAK6tC,MAAQ7tC,KAAK6tC,MAAMthB,cAAgB3rB,EACjD1E,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8b,EAEjB,OADA9b,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BwC,GAoDhCoxC,GAA0B,WAqCnC,WAAYzyC,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkDnD,OA/CA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK4uC,QAAU9iB,EAAM,WACrB9rB,KAAKi1B,OAASnJ,EAAM,UACpB9rB,KAAK6uC,SAAW/iB,EAAM,YACtB9rB,KAAK8uC,QAAUhjB,EAAM,WACrB9rB,KAAK+uC,iBAAmBjjB,EAAM,oBAC9B9rB,KAAKgvC,gBAAkBljB,EAAM,mBAC7B9rB,KAAKivC,0BAA4BnjB,EAAM,6BACvC9rB,KAAKkvC,qBAAuBpjB,EAAM,wBAClC9rB,KAAKmvC,uBAAyBrjB,EAAM,0BACpC9rB,KAAKk1B,UAAYpJ,EAAM,aACvB9rB,KAAKovC,6BAA+BtjB,EAAM,gCAC1C9rB,KAAKqvC,kBAAoBvjB,EAAM,qBAC/B9rB,KAAKsvC,wBAA0BxjB,EAAM,2BACrC9rB,KAAKuvC,0BAA4BzjB,EAAM,6BACvC9rB,KAAKwvC,YAAc1jB,EAAM,eACzB9rB,KAAKyvC,cAAgB3jB,EAAM,iBAC3B9rB,KAAK0vC,aAAe5jB,EAAM,gBAC1B9rB,KAAK2vC,sBAAwB7jB,EAAM,yBACnC9rB,KAAK4vC,qBAAuB9jB,EAAM,wBAClC9rB,KAAK6vC,+BAAiC/jB,EAAM,kCAC5C9rB,KAAK8vC,0BAA4BhkB,EAAM,6BACvC9rB,KAAK+vC,4BAA8BjkB,EAAM,+BACzC9rB,KAAKgwC,eAAiBlkB,EAAM,kBAC5B9rB,KAAKiwC,kCAAoCnkB,EAAM,qCAC/C9rB,KAAKkwC,uBAAyBpkB,EAAM,0BACpC9rB,KAAKmwC,6BAA+BrkB,EAAM,gCAC1C9rB,KAAKowC,+BAAiCtkB,EAAM,qCAEnD,oBASD,SAAO5vB,GAqCH,OApCAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,WAAa8D,KAAK4uC,QACvB1yC,EAAK,UAAY8D,KAAKi1B,OACtB/4B,EAAK,YAAc8D,KAAK6uC,SACxB3yC,EAAK,WAAa8D,KAAK8uC,QACvB5yC,EAAK,oBAAsB8D,KAAK+uC,iBAChC7yC,EAAK,mBAAqB8D,KAAKgvC,gBAC/B9yC,EAAK,6BAA+B8D,KAAKivC,0BACzC/yC,EAAK,wBAA0B8D,KAAKkvC,qBACpChzC,EAAK,0BAA4B8D,KAAKmvC,uBACtCjzC,EAAK,aAAe8D,KAAKk1B,UACzBh5B,EAAK,gCAAkC8D,KAAKovC,6BAC5ClzC,EAAK,qBAAuB8D,KAAKqvC,kBACjCnzC,EAAK,2BAA6B8D,KAAKsvC,wBACvCpzC,EAAK,6BAA+B8D,KAAKuvC,0BACzCrzC,EAAK,eAAiB8D,KAAKwvC,YAC3BtzC,EAAK,iBAAmB8D,KAAKyvC,cAC7BvzC,EAAK,gBAAkB8D,KAAK0vC,aAC5BxzC,EAAK,yBAA2B8D,KAAK2vC,sBACrCzzC,EAAK,wBAA0B8D,KAAK4vC,qBACpC1zC,EAAK,kCAAoC8D,KAAK6vC,+BAC9C3zC,EAAK,6BAA+B8D,KAAK8vC,0BACzC5zC,EAAK,+BAAiC8D,KAAK+vC,4BAC3C7zC,EAAK,kBAAoB8D,KAAKgwC,eAC9B9zC,EAAK,qCAAuC8D,KAAKiwC,kCACjD/zC,EAAK,0BAA4B8D,KAAKkwC,uBACtCh0C,EAAK,gCAAkC8D,KAAKmwC,6BAC5Cj0C,EAAK,kCAAoC8D,KAAKowC,+BACvCl0C,KACV,qBA7CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoxC,EAEjB,OADApxC,EAAOivB,KAAKtwB,GACLqB,MACV,EA3FkC,GA4K1B8yC,GAA2C,WAOpD,WAAYn0C,GACR,GAD2D,UACvDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoBwkB,GAAmC9rC,OAAOsnB,EAAM,wBAA0BlrB,EAC1HZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8yC,EAEjB,OADA9yC,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BmD,GAoD3C+yC,GAAkC,WAiB3C,WAAYp0C,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0CnD,OAvCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAMP,GALA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKgH,QAAU8kB,EAAM,WACrB9rB,KAAK67B,KAAO/P,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BAGpC,GADA/F,KAAKuzB,cAAgBzH,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAKuwC,kBAAoB,GAAU,IACQ,EADR,IAClBzkB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAKuwC,kBAAmBvzC,KAAK+I,IAAM,+BAO3C,GALA/F,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAKwwC,iBAAmB1kB,EAAM,oBAC1BjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC9rB,KAAKywC,aAAe,GAAU,IACQ,EADR,IACb3kB,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAKywC,aAAczzC,KAAK+I,IAAM,+BAEtC/F,KAAK0wC,IAAM5kB,EAAM,UAExB,oBASD,SAAO5vB,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,WAAa8D,KAAKgH,QACvB9K,EAAK,QAAU8D,KAAK67B,KAChBh2B,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAGtC,GADA7J,EAAK,iBAAmB8D,KAAKuzB,cACzB1tB,MAAMC,QAAQ9F,KAAKuwC,mBAAoB,CACvCr0C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAKuwC,mBAAiB,IAAvC,2BACI,KADKxqC,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAO7C,GALA7J,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,oBAAsB8D,KAAKwwC,iBAC5B3qC,MAAMC,QAAQ9F,KAAKywC,cAAe,CAClCv0C,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAKywC,cAAY,IAAlC,2BACI,KADK1qC,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,IAAM,+BAGxC,OADA7J,EAAK,OAAS8D,KAAK0wC,IACZx0C,KACV,qBArCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+yC,EAEjB,OADA/yC,EAAOivB,KAAKtwB,GACLqB,MACV,EA/D0C,IAoH/C,SAAYixC,GACRA,sBACAA,0BACAA,wBACAA,kCACAA,4CACAA,gDACAA,4CACAA,iDARJ,CAAYA,QAAyB,KAWrC,SAAYC,GACRA,8BACAA,kCAFJ,CAAYA,QAAuB,KAKnC,SAAYC,GACRA,0CACAA,8CACAA,gCACAA,sBACAA,wBACAA,4BACAA,0BACAA,8BACAA,4BACAA,+CACAA,6CACAA,iEACAA,uDACAA,2DACAA,iCACAA,uEACAA,iDACAA,6DACAA,iEACAA,qCACAA,yCACAA,uCACAA,yDACAA,uDACAA,2EACAA,iEACAA,qEACAA,2CACAA,iFACAA,2DACAA,uEACAA,2EAhCJ,CAAYA,QAA2B,KAmChC,IAwSKiC,GAxSCn3B,GAAqC,WAK9C,WAAYtd,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAEP,GADA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK4zC,GAAgCpsC,OAAOuB,KAAO,+BAEtE/F,KAAK6tC,MAAQ/hB,EAAM,SAAW8kB,GAAgCpsC,OAAOsnB,EAAM,eAAiBlrB,KAEnG,oBASD,SAAO1E,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAGzC,OADArwB,EAAK,SAAW8D,KAAK6tC,MAAQ7tC,KAAK6tC,MAAMthB,cAAgB3rB,EACjD1E,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIic,EAEjB,OADAjc,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B6C,GAoDrCqzC,GAA+B,WAkBxC,WAAY10C,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAK4uC,QAAU9iB,EAAM,WACrB9rB,KAAKg1B,OAASlJ,EAAM,UACpB9rB,KAAK6wC,aAAe/kB,EAAM,gBAC1B9rB,KAAK8wC,YAAchlB,EAAM,eACzB9rB,KAAK+wC,WAAajlB,EAAM,cACxB9rB,KAAK2+B,KAAO7S,EAAM,WAEzB,oBASD,SAAO5vB,GAkBH,OAjBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,WAAa8D,KAAK4uC,QACvB1yC,EAAK,UAAY8D,KAAKg1B,OACtB94B,EAAK,gBAAkB8D,KAAK6wC,aAC5B30C,EAAK,eAAiB8D,KAAK8wC,YAC3B50C,EAAK,cAAgB8D,KAAK+wC,WAC1B70C,EAAK,QAAU8D,KAAK2+B,KACbziC,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqzC,EAEjB,OADArzC,EAAOivB,KAAKtwB,GACLqB,MACV,EArDuC,GAgG/ByzC,GAAgD,WAOzD,WAAY90C,GACR,GADgE,UAC5DA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoBmlB,GAAwCzsC,OAAOsnB,EAAM,wBAA0BlrB,EAC/HZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyzC,EAEjB,OADAzzC,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BwD,GAoDhD0zC,GAAuC,WAchD,WAAY/0C,GACR,GADuD,UACnDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmCnD,OAhCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAKP,GAJA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKgH,QAAU8kB,EAAM,WACjBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BAGpC,GADA/F,KAAKuzB,cAAgBzH,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAKuwC,kBAAoB,GAAU,IACQ,EADR,IAClBzkB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAKuwC,kBAAmBvzC,KAAK+I,IAAM,+BAE3C/F,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAKwwC,iBAAmB1kB,EAAM,uBAErC,oBASD,SAAO5vB,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,WAAa8D,KAAKgH,QACnBnB,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAGtC,GADA7J,EAAK,iBAAmB8D,KAAKuzB,cACzB1tB,MAAMC,QAAQ9F,KAAKuwC,mBAAoB,CACvCr0C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAKuwC,mBAAiB,IAAvC,2BACI,KADKxqC,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAO7C,OALA7J,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,oBAAsB8D,KAAKwwC,iBACzBt0C,KACV,qBA9BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0zC,EAEjB,OADA1zC,EAAOivB,KAAKtwB,GACLqB,MACV,EArD+C,IAgGpD,SAAYozC,GACRA,wBACAA,gCACAA,0CACAA,8CACAA,8BACAA,0BACAA,4CACAA,4BACAA,0BACAA,mCACAA,uBACAA,uCACAA,sCAbJ,CAAYA,QAAgC,KAgBrC,IA4XKO,GA5XCv3B,GAA2B,WAKpC,WAAYzd,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAEP,GADA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAKm0C,GAAsB3sC,OAAOuB,KAAO,+BAE5D,GAAIF,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKoxC,KAAO,GAAU,IACQ,EADR,IACLtlB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKoxC,KAAMp0C,KAAKq0C,GAAoB7sC,OAAOuB,KAAO,mCAGjE,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,GAAI1mB,MAAMC,QAAQ9F,KAAKoxC,MAAO,CAC1Bl1C,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKoxC,MAAI,IAA1B,2BACI,KADKrrC,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,OAAOrwB,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoc,EAEjB,OADApc,EAAOivB,KAAKtwB,GACLqB,MACV,EAnCmC,GA4D3B4zC,GAAqB,WAuB9B,WAAYj1C,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoCnD,OAjCA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKk7B,YAAcpP,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAKonC,eAAiBtb,EAAM,kBAC5B9rB,KAAKqnC,gBAAkBvb,EAAM,mBAC7B9rB,KAAKi7B,cAAgBnP,EAAM,iBAC3B9rB,KAAK86B,eAAiBhP,EAAM,kBAC5B9rB,KAAKmvB,aAAerD,EAAM,gBAC1B9rB,KAAKsxC,cAAgBxlB,EAAM,iBAC3B9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKuxC,oBAAsBzlB,EAAM,uBACjC9rB,KAAKwxC,sBAAwB1lB,EAAM,yBACnC9rB,KAAKg/B,aAAelT,EAAM,gBAC1B9rB,KAAKyxC,sBAAwB3lB,EAAM,yBACnC9rB,KAAK0xC,sBAAwB5lB,EAAM,yBACnC9rB,KAAK2xC,uBAAyB7lB,EAAM,6BAE3C,oBASD,SAAO5vB,GAuBH,OAtBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,eAAiB8D,KAAKk7B,YAAcl7B,KAAKk7B,YAAYrL,aAAY,QAAajvB,EACnF1E,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,kBAAoB8D,KAAKonC,eAC9BlrC,EAAK,mBAAqB8D,KAAKqnC,gBAC/BnrC,EAAK,iBAAmB8D,KAAKi7B,cAC7B/+B,EAAK,kBAAoB8D,KAAK86B,eAC9B5+B,EAAK,gBAAkB8D,KAAKmvB,aAC5BjzB,EAAK,iBAAmB8D,KAAKsxC,cAC7Bp1C,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,uBAAyB8D,KAAKuxC,oBACnCr1C,EAAK,yBAA2B8D,KAAKwxC,sBACrCt1C,EAAK,gBAAkB8D,KAAKg/B,aAC5B9iC,EAAK,yBAA2B8D,KAAKyxC,sBACrCv1C,EAAK,yBAA2B8D,KAAK0xC,sBACrCx1C,EAAK,0BAA4B8D,KAAK2xC,uBAC/Bz1C,KACV,qBA/BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4zC,EAEjB,OADA5zC,EAAOivB,KAAKtwB,GACLqB,MACV,EA/D6B,GAoHrB8zC,GAAmB,WAM5B,WAAYn1C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKg/B,aAAelT,EAAM,gBAC1B9rB,KAAKyxC,sBAAwB3lB,EAAM,yBACnC9rB,KAAK2xC,uBAAyB7lB,EAAM,6BAE3C,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,gBAAkB8D,KAAKg/B,aAC5B9iC,EAAK,yBAA2B8D,KAAKyxC,sBACrCv1C,EAAK,0BAA4B8D,KAAK2xC,uBAC/Bz1C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8zC,EAEjB,OADA9zC,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B2B,GAgDnBq0C,GAAsC,WAO/C,WAAY11C,GACR,GADsD,UAClDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoB+lB,GAA8BrtC,OAAOsnB,EAAM,wBAA0BlrB,EACrHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq0C,EAEjB,OADAr0C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B8C,GAoDtCs0C,GAA6B,WActC,WAAY31C,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAMP,GALA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKuzB,cAAgBzH,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAKuwC,kBAAoB,GAAU,IACQ,EADR,IAClBzkB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAKuwC,kBAAmBvzC,KAAK+I,IAAM,+BAM3C,GAJA/F,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,oBAAqB,CACzC9rB,KAAKspC,gBAAkB,GAAU,IACQ,EADR,IAChBxd,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACT/F,KAAKspC,gBAAiBtsC,KAAK+I,IAAM,+BAEzC,GAAIF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C9rB,KAAKupC,iBAAmB,GAAU,IACQ,EADR,IACjBzd,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACT/F,KAAKupC,iBAAkBvsC,KAAK+I,IAAM,mCAGjD,oBASD,SAAO7J,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,iBAAmB8D,KAAKuzB,cACzB1tB,MAAMC,QAAQ9F,KAAKuwC,mBAAoB,CACvCr0C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAKuwC,mBAAiB,IAAvC,2BACI,KADKxqC,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAM7C,GAJA7J,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC3B5tB,MAAMC,QAAQ9F,KAAKspC,iBAAkB,CACrCptC,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZ8D,KAAKspC,iBAAe,IAArC,2BACI,KADKvjC,EAAI,QACT7J,EAAK,mBAAmBc,KAAK+I,IAAM,+BAE3C,GAAIF,MAAMC,QAAQ9F,KAAKupC,kBAAmB,CACtCrtC,EAAK,oBAAsB,GAAG,IACQ,EADR,IACb8D,KAAKupC,kBAAgB,IAAtC,2BACI,KADKxjC,EAAI,QACT7J,EAAK,oBAAoBc,KAAK+I,IAAM,+BAE5C,OAAO7J,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs0C,EAEjB,OADAt0C,EAAOivB,KAAKtwB,GACLqB,MACV,EAzDqC,IAwG1C,SAAY2zC,GACRA,0CACAA,8CACAA,gCACAA,0CACAA,4CACAA,8BACAA,oCACAA,8BACAA,6CATJ,CAAYA,QAAsB,KAY3B,IAgcKY,GAKAC,GArcCj4B,GAAyB,WAKlC,WAAY5d,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAEP,GADA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAKg1C,GAAoBxtC,OAAOuB,KAAO,+BAE1D,GAAIF,MAAMC,QAAQgmB,EAAM,cAAe,CACnC9rB,KAAKiyC,UAAY,GAAU,IACQ,EADR,IACVnmB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAKiyC,UAAWj1C,KAAKk1C,GAAsB1tC,OAAOuB,KAAO,mCAGxE,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,GAAI1mB,MAAMC,QAAQ9F,KAAKiyC,WAAY,CAC/B/1C,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAKiyC,WAAS,IAA/B,2BACI,KADKlsC,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAE9C,OAAOrwB,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuc,EAEjB,OADAvc,EAAOivB,KAAKtwB,GACLqB,MACV,EAnCiC,GA4DzBy0C,GAAmB,WA+B5B,WAAY91C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgDnD,OA7CA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK+7B,WAAajQ,EAAM,cAAgBhZ,GAAOC,UAAU+Y,EAAM,cAAcyD,iBAAmB3uB,EAChGZ,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK++B,UAAYjT,EAAM,aACvB9rB,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKs/B,UAAYxT,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKi/B,YAAcnT,EAAM,eACzB9rB,KAAKk/B,WAAapT,EAAM,cACxB9rB,KAAKm/B,WAAarT,EAAM,cACxB9rB,KAAK46B,WAAa9O,EAAM,cACxB9rB,KAAKw0B,aAAe1I,EAAM,gBAC1B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAKi0B,WAAanI,EAAM,cACxB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKs9B,SAAWxR,EAAM,YACtB9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKoyC,QAAUtmB,EAAM,WACrB9rB,KAAKqyC,MAAQvmB,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,aAAa,CACjC9rB,KAAKsyC,QAAU,GAAU,IACQ,EADR,IACRxmB,EAAM,YAAU,IAAjC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsyC,QAASt1C,KAAKu1C,GAAoC/tC,OAAOuB,KAAO,kCAGpF,oBASD,SAAO7J,GA8BH,GA7BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,cAAgB8D,KAAK+7B,WAAa/7B,KAAK+7B,WAAWlM,aAAY,QAAajvB,EAChF1E,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,aAAe8D,KAAK++B,UACzB7iC,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EACzF1E,EAAK,aAAe8D,KAAKs/B,UAAYt/B,KAAKs/B,UAAUzP,aAAY,QAAajvB,EAC7E1E,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,eAAiB8D,KAAKi/B,YAC3B/iC,EAAK,cAAgB8D,KAAKk/B,WAC1BhjC,EAAK,cAAgB8D,KAAKm/B,WAC1BjjC,EAAK,cAAgB8D,KAAK46B,WAC1B1+B,EAAK,gBAAkB8D,KAAKw0B,aAC5Bt4B,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,cAAgB8D,KAAKi0B,WAC1B/3B,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,YAAc8D,KAAKs9B,SACxBphC,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,WAAa8D,KAAKoyC,QACvBl2C,EAAK,SAAW8D,KAAKqyC,MACjBxsC,MAAMC,QAAQ9F,KAAKsyC,SAAU,CAC7Bp2C,EAAK,WAAa,GAAG,IACQ,EADR,IACJ8D,KAAKsyC,SAAO,IAA7B,2BACI,KADKvsC,EAAI,QACT7J,EAAK,WAAWc,KAAK+I,EAAKwmB,WAAU,+BAE5C,OAAOrwB,KACV,qBA3CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIy0C,EAEjB,OADAz0C,EAAOivB,KAAKtwB,GACLqB,MACV,EAnF2B,GA4JnBg1C,GAAmC,WAK5C,WAAYr2C,GACR,GADmD,UAC/CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAKmvB,aAAerD,EAAM,gBAC1B9rB,KAAKywB,YAAc3E,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EAC9D1E,EAAK,gBAAkB8D,KAAKmvB,aAC5BjzB,EAAK,eAAiB8D,KAAKywB,YACpBv0B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg1C,EAEjB,OADAh1C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3B2C,GA4CnC20C,GAAqB,WAI9B,WAAYh2C,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKwyC,SAAW1mB,EAAM,eAE7B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,YAAc8D,KAAKwyC,SACjBt2C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI20C,EAEjB,OADA30C,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB6B,GAwCrBk1C,GAAoC,WAO7C,WAAYv2C,GACR,GADoD,UAChDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoB4mB,GAA4BluC,OAAOsnB,EAAM,wBAA0BlrB,EACnHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk1C,EAEjB,OADAl1C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B4C,GAoDpCm1C,GAA2B,WAgBpC,WAAYx2C,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAKgH,QAAU8kB,EAAM,WACrB9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAKo1B,YAActJ,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,qBAAqB,CACzC9rB,KAAK2yC,gBAAkB,GAAU,IACQ,EADR,IAChB7mB,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACT/F,KAAK2yC,gBAAiB31C,KAAK+I,IAAM,kCAGhD,oBASD,SAAO7J,GAeH,GAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,WAAa8D,KAAKgH,QACvB9K,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,eAAiB8D,KAAKo1B,YACvBvvB,MAAMC,QAAQ9F,KAAK2yC,iBAAkB,CACrCz2C,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZ8D,KAAK2yC,iBAAe,IAArC,2BACI,KADK5sC,EAAI,QACT7J,EAAK,mBAAmBc,KAAK+I,IAAM,+BAE3C,OAAO7J,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIm1C,EAEjB,OADAn1C,EAAOivB,KAAKtwB,GACLqB,MACV,EArDmC,IAgGxC,SAAYu0C,GACRA,4BACAA,iCAFJ,CAAYA,QAA0B,KAKtC,SAAYC,GACRA,0CACAA,8CACAA,0BACAA,8BACAA,8BACAA,sBACAA,wBACAA,kCACAA,0BACAA,uCAVJ,CAAYA,QAAoB,KAazB,IAwUKa,GAxUCC,GAAsB,WAK/B,WAAY32C,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKoyC,QAAUtmB,EAAM,WACrB9rB,KAAK87B,YAAchQ,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,WAAa8D,KAAKoyC,QACvBl2C,EAAK,eAAiB8D,KAAK87B,YACpB5/B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs1C,EAEjB,OADAt1C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3B8B,GA4CtB4c,GAA0B,WAWnC,WAAYje,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK81C,GAAqBtuC,OAAOuB,KAAO,+BAE3D/F,KAAKq2B,MAAQvK,EAAM,SACnB9rB,KAAKwtC,SAAW1hB,EAAM,YACtB9rB,KAAK+yC,cAAgBjnB,EAAM,iBAC3B9rB,KAAKgzC,YAAclnB,EAAM,eACzB9rB,KAAKizC,cAAgBnnB,EAAM,iBAC3B9rB,KAAKkzC,YAAcpnB,EAAM,eACzB9rB,KAAKmzC,WAAarnB,EAAM,cACxB9rB,KAAKozC,WAAatnB,EAAM,iBAE/B,oBASD,SAAO5vB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAUzC,OARArwB,EAAK,SAAW8D,KAAKq2B,MACrBn6B,EAAK,YAAc8D,KAAKwtC,SACxBtxC,EAAK,iBAAmB8D,KAAK+yC,cAC7B72C,EAAK,eAAiB8D,KAAKgzC,YAC3B92C,EAAK,iBAAmB8D,KAAKizC,cAC7B/2C,EAAK,eAAiB8D,KAAKkzC,YAC3Bh3C,EAAK,cAAgB8D,KAAKmzC,WAC1Bj3C,EAAK,cAAgB8D,KAAKozC,WACnBl3C,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4c,EAEjB,OADA5c,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CkC,GA4E1Bu1C,GAAoB,WAc7B,WAAY52C,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK05B,QAAU5N,EAAM,WACrB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKwtC,SAAW1hB,EAAM,YACtB9rB,KAAKqzC,qBAAuBvnB,EAAM,wBAClC9rB,KAAK+yC,cAAgBjnB,EAAM,iBAC3B9rB,KAAKgzC,YAAclnB,EAAM,eACzB9rB,KAAKizC,cAAgBnnB,EAAM,iBAC3B9rB,KAAKkzC,YAAcpnB,EAAM,eACzB9rB,KAAKmzC,WAAarnB,EAAM,cACxB9rB,KAAKozC,WAAatnB,EAAM,iBAE/B,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAK05B,QACvBx9B,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAKwtC,SACxBtxC,EAAK,wBAA0B8D,KAAKqzC,qBACpCn3C,EAAK,iBAAmB8D,KAAK+yC,cAC7B72C,EAAK,eAAiB8D,KAAKgzC,YAC3B92C,EAAK,iBAAmB8D,KAAKizC,cAC7B/2C,EAAK,eAAiB8D,KAAKkzC,YAC3Bh3C,EAAK,cAAgB8D,KAAKmzC,WAC1Bj3C,EAAK,cAAgB8D,KAAKozC,WACnBl3C,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIu1C,EAEjB,OADAv1C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7C4B,GAgFpB+1C,GAAqC,WAO9C,WAAYp3C,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoBynB,GAA6B/uC,OAAOsnB,EAAM,wBAA0BlrB,EACpHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+1C,EAEjB,OADA/1C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B6C,GAoDrCg2C,GAA4B,WAarC,WAAYr3C,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAKwzC,gBAAkB1nB,EAAM,sBAEpC,oBASD,SAAO5vB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,mBAAqB8D,KAAKwzC,gBACxBt3C,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg2C,EAEjB,OADAh2C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CoC,IA4EzC,SAAYq1C,GACRA,0CACAA,8CACAA,gCACAA,8BACAA,sCACAA,wCACAA,oCACAA,wCACAA,oCACAA,6BACAA,mCACAA,oCAZJ,CAAYA,QAAqB,KAe1B,IAmtBKa,GAntBCn5B,GAAgC,WAIzC,WAAYpe,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,UAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK02C,GAAsClvC,OAAOuB,KAAO,kCAGnF,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+c,EAEjB,OADA/c,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BwC,GAgDhCm2C,GAAqC,WAqB9C,WAAYx3C,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsCnD,OAnCA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAK2zC,gBAAkB7nB,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAK4zC,SAAW9nB,EAAM,YACtB9rB,KAAK6zC,aAAe/nB,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAK8zC,WAAahoB,EAAM,cAAgBhZ,GAAOC,UAAU+Y,EAAM,cAAcyD,iBAAmB3uB,EAChGZ,KAAK+zC,aAAejoB,EAAM,gBAC1B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKg0C,IAAMloB,EAAM,OACbjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAKi3C,GAAiCzvC,OAAOuB,KAAO,kCAGpF,oBASD,SAAO7J,GAoBH,GAnBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,mBAAqB8D,KAAK2zC,gBAC/Bz3C,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,YAAc8D,KAAK4zC,SACxB13C,EAAK,gBAAkB8D,KAAK6zC,aAAe7zC,KAAK6zC,aAAahkB,aAAY,QAAajvB,EACtF1E,EAAK,cAAgB8D,KAAK8zC,WAAa9zC,KAAK8zC,WAAWjkB,aAAY,QAAajvB,EAChF1E,EAAK,gBAAkB8D,KAAK+zC,aAC5B73C,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,OAAS8D,KAAKg0C,IACfnuC,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,EAAKwmB,WAAU,+BAE/C,OAAOrwB,KACV,qBAjCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIm2C,EAEjB,OADAn2C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/D6C,GAoHrC02C,GAAgC,WAIzC,WAAY/3C,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK0jB,UAAYoI,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC9rB,KAAKk0C,aAAe,GAAU,IACQ,EADR,IACbpoB,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0C,aAAcl3C,KAAKm3C,GAAmC3vC,OAAOuB,KAAO,kCAGxF,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK0jB,UACrB7d,MAAMC,QAAQ9F,KAAKk0C,cAAe,CAClCh4C,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAKk0C,cAAY,IAAlC,2BACI,KADKnuC,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,EAAKwmB,WAAU,+BAEjD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI02C,EAEjB,OADA12C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BwC,GAgDhC42C,GAAkC,WAS3C,WAAYj4C,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKq0B,MAAQvI,EAAM,SACnB9rB,KAAKo0C,UAAYtoB,EAAM,aACvB9rB,KAAK2+B,KAAO7S,EAAM,QAClB9rB,KAAKq0C,SAAWvoB,EAAM,YACtB9rB,KAAKs0C,UAAYxoB,EAAM,aACvB9rB,KAAKu0C,eAAiBzoB,EAAM,qBAEnC,oBASD,SAAO5vB,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,SAAW8D,KAAKq0B,MACrBn4B,EAAK,aAAe8D,KAAKo0C,UACzBl4C,EAAK,QAAU8D,KAAK2+B,KACpBziC,EAAK,YAAc8D,KAAKq0C,SACxBn4C,EAAK,aAAe8D,KAAKs0C,UACzBp4C,EAAK,kBAAoB8D,KAAKu0C,eACvBr4C,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI42C,EAEjB,OADA52C,EAAOivB,KAAKtwB,GACLqB,MACV,EAnC0C,GA4DlCi3C,GAA2C,WAKpD,WAAYt4C,GACR,GAD2D,UACvDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoB2oB,GAAmCjwC,OAAOsnB,EAAM,wBAA0BlrB,EAC1HZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,iBAE/B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WACnB36B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIi3C,EAEjB,OADAj3C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BmD,GA4C3Ck3C,GAAkC,WAe3C,WAAYv4C,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKg0C,IAAMloB,EAAM,OACjB9rB,KAAK00C,mBAAqB5oB,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAK20C,kBAAoB7oB,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,sBAEpC,oBASD,SAAO5vB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,OAAS8D,KAAKg0C,IACnB93C,EAAK,sBAAwB8D,KAAK00C,mBAAqB10C,KAAK00C,mBAAmB7kB,aAAY,QAAajvB,EACxG1E,EAAK,qBAAuB8D,KAAK20C,kBAAoB30C,KAAK20C,kBAAkB9kB,aAAY,QAAajvB,EACrG1E,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBACxBv3B,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk3C,EAEjB,OADAl3C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/C0C,GAoFlCkd,GAA8B,WAIvC,WAAYve,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,UAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK43C,GAAmBpwC,OAAOuB,KAAO,kCAGhE,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAEzC,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkd,EAEjB,OADAld,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BsC,GAgD9Bq3C,GAAkB,WA4B3B,WAAY14C,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6CnD,OA1CA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAyBP,GAxBA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAK05B,QAAU5N,EAAM,WACrB9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAK2zC,gBAAkB7nB,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK4zC,SAAW9nB,EAAM,YACtB9rB,KAAK2gC,cAAgB7U,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK4gC,YAAc9U,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAKiuC,SAAWniB,EAAM,YACtB9rB,KAAKguC,WAAaliB,EAAM,cACxB9rB,KAAK60C,kBAAoB/oB,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAK80C,gBAAkBhpB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAK+0C,aAAejpB,EAAM,gBAC1B9rB,KAAKg1C,kBAAoBlpB,EAAM,qBAC/B9rB,KAAKi1C,aAAenpB,EAAM,gBAC1B9rB,KAAKk1C,eAAiBppB,EAAM,kBAC5B9rB,KAAKm1C,wBAA0BrpB,EAAM,2BACrC9rB,KAAKo1C,YAActpB,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,wBAAyB,CAC7C9rB,KAAKq1C,oBAAsB,GAAU,IACQ,EADR,IACpBvpB,EAAM,wBAAsB,IAA7C,2BACI,KADK/lB,EAAI,QACT/F,KAAKq1C,oBAAqBr4C,KAAKs4C,GAAkC9wC,OAAOuB,KAAO,+BAEvF/F,KAAKu1C,4BAA8BzpB,EAAM,kCAEhD,oBASD,SAAO5vB,GA0BH,GAzBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,WAAa8D,KAAK05B,QACvBx9B,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,mBAAqB8D,KAAK2zC,gBAC/Bz3C,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,YAAc8D,KAAK4zC,SACxB13C,EAAK,iBAAmB8D,KAAK2gC,cAAgB3gC,KAAK2gC,cAAc9Q,aAAY,QAAajvB,EACzF1E,EAAK,eAAiB8D,KAAK4gC,YAAc5gC,KAAK4gC,YAAY/Q,aAAY,QAAajvB,EACnF1E,EAAK,YAAc8D,KAAKiuC,SACxB/xC,EAAK,cAAgB8D,KAAKguC,WAC1B9xC,EAAK,qBAAuB8D,KAAK60C,kBAAoB70C,KAAK60C,kBAAkBhlB,aAAY,QAAajvB,EACrG1E,EAAK,mBAAqB8D,KAAK80C,gBAAkB90C,KAAK80C,gBAAgBjlB,aAAY,QAAajvB,EAC/F1E,EAAK,gBAAkB8D,KAAK+0C,aAC5B74C,EAAK,qBAAuB8D,KAAKg1C,kBACjC94C,EAAK,gBAAkB8D,KAAKi1C,aAC5B/4C,EAAK,kBAAoB8D,KAAKk1C,eAC9Bh5C,EAAK,2BAA6B8D,KAAKm1C,wBACvCj5C,EAAK,eAAiB8D,KAAKo1C,YACvBvvC,MAAMC,QAAQ9F,KAAKq1C,qBAAsB,CACzCn5C,EAAK,uBAAyB,GAAG,IACQ,EADR,IAChB8D,KAAKq1C,qBAAmB,IAAzC,2BACI,KADKtvC,EAAI,QACT7J,EAAK,uBAAuBc,KAAK+I,EAAKwmB,WAAU,+BAGxD,OADArwB,EAAK,+BAAiC8D,KAAKu1C,4BACpCr5C,KACV,qBAxCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq3C,EAEjB,OADAr3C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7E0B,GAgJlB+3C,GAAiC,WAI1C,WAAYp5C,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKw1C,UAAY1pB,EAAM,gBAE9B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAKw1C,UAClBt5C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+3C,EAEjB,OADA/3C,EAAOivB,KAAKtwB,GACLqB,MACV,EAzByC,GAwCjCk4C,GAAwC,WAKjD,WAAYv5C,GACR,GADwD,UACpDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAG3CvD,IACD8D,KAAKmM,eAAiB,IAAIupC,IAiBjC,OAfA,uBAED,SAAK5pB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoB4pB,GAA2BlxC,OAAOsnB,EAAM,mBAAqB,IAAI4pB,GACjH11C,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,iBAE/B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WACnB36B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk4C,EAEjB,OADAl4C,EAAOivB,KAAKtwB,GACLqB,MACV,EA9BgD,GA+CxCm4C,GAA0B,WAKnC,WAAYx5C,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK21C,uBAAyB7pB,EAAM,0BACpC9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK4sC,cAAgB9gB,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,KAEhH,oBASD,SAAO1E,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,0BAA4B8D,KAAK21C,uBACtCz5C,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,iBAAmB8D,KAAK4sC,cAAgB5sC,KAAK4sC,cAAc/c,aAAY,QAAajvB,EAClF1E,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIm4C,EAEjB,OADAn4C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BkC,IA4CvC,SAAYk2C,GACRA,oBACAA,yBAFJ,CAAYA,QAAsB,KAK3B,IAgVKmC,GAhVCh7B,GAA4B,WAKrC,WAAY1e,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK64C,GAAuBrxC,OAAOuB,KAAO,+BAE7D/F,KAAKq2B,MAAQvK,EAAM,SACnB9rB,KAAKoxC,KAAOtlB,EAAM,QAAUgqB,GAA8BtxC,OAAOsnB,EAAM,cAAgBlrB,KAE9F,oBASD,SAAO1E,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAIzC,OAFArwB,EAAK,SAAW8D,KAAKq2B,MACrBn6B,EAAK,QAAU8D,KAAKoxC,KAAOpxC,KAAKoxC,KAAK7kB,cAAgB3rB,EAC9C1E,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqd,EAEjB,OADArd,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BoC,GAoD5Bs4C,GAAsB,WAc/B,WAAY35C,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK+1C,YAAcjqB,EAAM,eACzB9rB,KAAKg2C,wBAA0BlqB,EAAM,2BACrC9rB,KAAKi2C,qBAAuBnqB,EAAM,wBAClC9rB,KAAKk2C,cAAgBpqB,EAAM,iBAC3B9rB,KAAKm2C,cAAgBrqB,EAAM,iBAC3B9rB,KAAKo2C,eAAiBtqB,EAAM,kBAC5B9rB,KAAKq2C,kBAAoBvqB,EAAM,qBAC/B9rB,KAAKs2C,gBAAkBxqB,EAAM,mBAC7B9rB,KAAKu2C,eAAiBzqB,EAAM,qBAEnC,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,eAAiB8D,KAAK+1C,YAC3B75C,EAAK,2BAA6B8D,KAAKg2C,wBACvC95C,EAAK,wBAA0B8D,KAAKi2C,qBACpC/5C,EAAK,iBAAmB8D,KAAKk2C,cAC7Bh6C,EAAK,iBAAmB8D,KAAKm2C,cAC7Bj6C,EAAK,kBAAoB8D,KAAKo2C,eAC9Bl6C,EAAK,qBAAuB8D,KAAKq2C,kBACjCn6C,EAAK,mBAAqB8D,KAAKs2C,gBAC/Bp6C,EAAK,kBAAoB8D,KAAKu2C,eACvBr6C,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs4C,EAEjB,OADAt4C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7C8B,GAgFtBu4C,GAA6B,WAatC,WAAY55C,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKi1B,OAASnJ,EAAM,UACpB9rB,KAAKw2C,SAAW1qB,EAAM,YACtB9rB,KAAKy2C,SAAW3qB,EAAM,YACtB9rB,KAAKa,UAAYirB,EAAM,aACvB9rB,KAAK02C,aAAe5qB,EAAM,gBAC1B9rB,KAAK22C,WAAa7qB,EAAM,cACxB9rB,KAAK42C,cAAgB9qB,EAAM,iBAC3B9rB,KAAK62C,cAAgB/qB,EAAM,iBAC3B9rB,KAAK82C,eAAiBhrB,EAAM,kBAC5B9rB,KAAK+2C,kBAAoBjrB,EAAM,qBAC/B9rB,KAAKg3C,gBAAkBlrB,EAAM,sBAEpC,oBASD,SAAO5vB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKi1B,OACtB/4B,EAAK,YAAc8D,KAAKw2C,SACxBt6C,EAAK,YAAc8D,KAAKy2C,SACxBv6C,EAAK,aAAe8D,KAAKa,UACzB3E,EAAK,gBAAkB8D,KAAK02C,aAC5Bx6C,EAAK,cAAgB8D,KAAK22C,WAC1Bz6C,EAAK,iBAAmB8D,KAAK42C,cAC7B16C,EAAK,iBAAmB8D,KAAK62C,cAC7B36C,EAAK,kBAAoB8D,KAAK82C,eAC9B56C,EAAK,qBAAuB8D,KAAK+2C,kBACjC76C,EAAK,mBAAqB8D,KAAKg3C,gBACxB96C,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIu4C,EAEjB,OADAv4C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CqC,GA4E7B05C,GAAuC,WAOhD,WAAY/6C,GACR,GADuD,UACnDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoBorB,GAA+B1yC,OAAOsnB,EAAM,wBAA0BlrB,EACtHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI05C,EAEjB,OADA15C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B+C,GAoDvC25C,GAA8B,WAavC,WAAYh7C,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK67B,KAAO/P,EAAM,WAEzB,oBASD,SAAO5vB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,QAAU8D,KAAK67B,KACb3/B,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI25C,EAEjB,OADA35C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CsC,IA4E3C,SAAYq4C,GACRA,0CACAA,8CACAA,sBACAA,0BACAA,4CACAA,0CACAA,gCACAA,sCACAA,8BACAA,iCACAA,uBACAA,oCAZJ,CAAYA,QAAuB,KAe5B,IA4PKuB,GA5PCp8B,GAA+B,WAIxC,WAAY7e,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAKo6C,GAA0B5yC,OAAOuB,KAAO,+BAEhE/F,KAAKq2B,MAAQvK,EAAM,YAE1B,oBASD,SAAO5vB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAGzC,OADArwB,EAAK,SAAW8D,KAAKq2B,MACdn6B,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwd,EAEjB,OADAxd,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BuC,GAgD/B65C,GAAyB,WAWlC,WAAYl7C,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAKq3C,qBAAuBvrB,EAAM,wBAA0BhZ,GAAOC,UAAU+Y,EAAM,wBAAwByD,iBAAmB3uB,EAC9HZ,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAKu+B,IAAMzS,EAAM,OACjB9rB,KAAKs3C,WAAaxrB,EAAM,iBAE/B,oBASD,SAAO5vB,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,wBAA0B8D,KAAKq3C,qBAAuBr3C,KAAKq3C,qBAAqBxnB,aAAY,QAAajvB,EAC9G1E,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,OAAS8D,KAAKu+B,IACnBriC,EAAK,cAAgB8D,KAAKs3C,WACnBp7C,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI65C,EAEjB,OADA75C,EAAOivB,KAAKtwB,GACLqB,MACV,EAvCiC,GAoEzBg6C,GAA0C,WAOnD,WAAYr7C,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoB0rB,GAAkChzC,OAAOsnB,EAAM,wBAA0BlrB,EACzHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg6C,EAEjB,OADAh6C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BkD,GAoD1Ci6C,GAAiC,WAe1C,WAAYt7C,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK67B,KAAO/P,EAAM,WAEzB,oBASD,SAAO5vB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,QAAU8D,KAAK67B,KACb3/B,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIi6C,EAEjB,OADAj6C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/CyC,IAoF9C,SAAY45C,GACRA,0BACAA,oCACAA,0CACAA,8CACAA,gCACAA,sBACAA,sCACAA,qBARJ,CAAYA,QAA0B,KAW/B,IA4WKM,GAMAC,GAlXCx8B,GAAyB,WAIlC,WAAYhf,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAK26C,GAAoBnzC,OAAOuB,KAAO,+BAE1D/F,KAAKq2B,MAAQvK,EAAM,YAE1B,oBASD,SAAO5vB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAGzC,OADArwB,EAAK,SAAW8D,KAAKq2B,MACdn6B,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2d,EAEjB,OADA3d,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BiC,GAgDzBo6C,GAAmB,WAuC5B,WAAYz7C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoDnD,OAjDA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK2lC,kBAAoB7Z,EAAM,qBAC/B9rB,KAAK4lC,oBAAsB9Z,EAAM,uBACjC9rB,KAAK6lC,qCAAuC/Z,EAAM,wCAClD9rB,KAAK8lC,gCAAkCha,EAAM,mCAC7C9rB,KAAK+lC,kCAAoCja,EAAM,qCAC/C9rB,KAAKgmC,qBAAuBla,EAAM,wBAClC9rB,KAAKmmC,6BAA+Bra,EAAM,gCAC1C9rB,KAAK43C,kBAAoB9rB,EAAM,qBAC/B9rB,KAAKomC,iBAAmBta,EAAM,oBAC9B9rB,KAAK63C,YAAc/rB,EAAM,eACzB9rB,KAAKilC,gBAAkBnZ,EAAM,mBAC7B9rB,KAAKmlC,kBAAoBrZ,EAAM,qBAC/B9rB,KAAKolC,mCAAqCtZ,EAAM,sCAChD9rB,KAAKqlC,8BAAgCvZ,EAAM,iCAC3C9rB,KAAKslC,gCAAkCxZ,EAAM,mCAC7C9rB,KAAKulC,mBAAqBzZ,EAAM,sBAChC9rB,KAAK0lC,2BAA6B5Z,EAAM,8BACxC9rB,KAAK8zB,cAAgBhI,EAAM,iBAC3B9rB,KAAK6zB,gBAAkB/H,EAAM,mBAC7B9rB,KAAKwkC,iBAAmB1Y,EAAM,oBAC9B9rB,KAAK2zB,eAAiB7H,EAAM,kBAC5B9rB,KAAK6kC,kBAAoB/Y,EAAM,qBAC/B9rB,KAAKglC,0BAA4BlZ,EAAM,6BACvC9rB,KAAK0kC,kCAAoC5Y,EAAM,qCAC/C9rB,KAAK4kC,+BAAiC9Y,EAAM,kCAC5C9rB,KAAK2kC,6BAA+B7Y,EAAM,mCAEjD,oBASD,SAAO5vB,GAuCH,OAtCAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,qBAAuB8D,KAAK2lC,kBACjCzpC,EAAK,uBAAyB8D,KAAK4lC,oBACnC1pC,EAAK,wCAA0C8D,KAAK6lC,qCACpD3pC,EAAK,mCAAqC8D,KAAK8lC,gCAC/C5pC,EAAK,qCAAuC8D,KAAK+lC,kCACjD7pC,EAAK,wBAA0B8D,KAAKgmC,qBACpC9pC,EAAK,gCAAkC8D,KAAKmmC,6BAC5CjqC,EAAK,qBAAuB8D,KAAK43C,kBACjC17C,EAAK,oBAAsB8D,KAAKomC,iBAChClqC,EAAK,eAAiB8D,KAAK63C,YAC3B37C,EAAK,mBAAqB8D,KAAKilC,gBAC/B/oC,EAAK,qBAAuB8D,KAAKmlC,kBACjCjpC,EAAK,sCAAwC8D,KAAKolC,mCAClDlpC,EAAK,iCAAmC8D,KAAKqlC,8BAC7CnpC,EAAK,mCAAqC8D,KAAKslC,gCAC/CppC,EAAK,sBAAwB8D,KAAKulC,mBAClCrpC,EAAK,8BAAgC8D,KAAK0lC,2BAC1CxpC,EAAK,iBAAmB8D,KAAK8zB,cAC7B53B,EAAK,mBAAqB8D,KAAK6zB,gBAC/B33B,EAAK,oBAAsB8D,KAAKwkC,iBAChCtoC,EAAK,kBAAoB8D,KAAK2zB,eAC9Bz3B,EAAK,qBAAuB8D,KAAK6kC,kBACjC3oC,EAAK,6BAA+B8D,KAAKglC,0BACzC9oC,EAAK,qCAAuC8D,KAAK0kC,kCACjDxoC,EAAK,kCAAoC8D,KAAK4kC,+BAC9C1oC,EAAK,gCAAkC8D,KAAK2kC,6BACrCzoC,KACV,qBA/CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIo6C,EAEjB,OADAp6C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/F2B,GAoLnBu6C,GAAoC,WAO7C,WAAY57C,GACR,GADoD,UAChDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoBisB,GAA4BvzC,OAAOsnB,EAAM,wBAA0BlrB,EACnHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIu6C,EAEjB,OADAv6C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B4C,GAoDpCw6C,GAA2B,WAepC,WAAY77C,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAKgH,QAAU8kB,EAAM,WACrB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAKg4C,MAAQlsB,EAAM,YAE1B,oBASD,SAAO5vB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,WAAa8D,KAAKgH,QACvB9K,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,SAAW8D,KAAKg4C,MACd97C,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIw6C,EAEjB,OADAx6C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/CmC,IAoFxC,SAAYk6C,GACRA,wBACAA,wBACAA,uCAHJ,CAAYA,QAAwB,KAMpC,SAAYC,GACRA,0CACAA,8CACAA,gCACAA,8BACAA,0BALJ,CAAYA,QAAoB,KAQzB,IAwNKO,GAxNC78B,GAAwB,WAcjC,WAAYlf,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKyjC,YAAc3X,EAAM,eACzB9rB,KAAK2zB,eAAiB7H,EAAM,kBAC5B9rB,KAAK6zB,gBAAkB/H,EAAM,mBAC7B9rB,KAAK8zB,cAAgBhI,EAAM,iBAC3B9rB,KAAK0jC,oBAAsB5X,EAAM,uBACjC9rB,KAAK2jC,wBAA0B7X,EAAM,2BACrC9rB,KAAK4jC,OAAS9X,EAAM,UACpB9rB,KAAK6jC,iBAAmB/X,EAAM,oBAC9B9rB,KAAKk4C,aAAepsB,EAAM,gBAC1B9rB,KAAKm4C,oBAAsBrsB,EAAM,uBACjC9rB,KAAK+jC,YAAcjY,EAAM,kBAEhC,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,eAAiB8D,KAAKyjC,YAC3BvnC,EAAK,kBAAoB8D,KAAK2zB,eAC9Bz3B,EAAK,mBAAqB8D,KAAK6zB,gBAC/B33B,EAAK,iBAAmB8D,KAAK8zB,cAC7B53B,EAAK,uBAAyB8D,KAAK0jC,oBACnCxnC,EAAK,2BAA6B8D,KAAK2jC,wBACvCznC,EAAK,UAAY8D,KAAK4jC,OACtB1nC,EAAK,oBAAsB8D,KAAK6jC,iBAChC3nC,EAAK,gBAAkB8D,KAAKk4C,aAC5Bh8C,EAAK,uBAAyB8D,KAAKm4C,oBACnCj8C,EAAK,eAAiB8D,KAAK+jC,YACpB7nC,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6d,EAEjB,OADA7d,EAAOivB,KAAKtwB,GACLqB,MACV,EA7CgC,GAgFxB+d,GAAyB,WAclC,WAAYpf,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKyjC,YAAc3X,EAAM,eACzB9rB,KAAK2zB,eAAiB7H,EAAM,kBAC5B9rB,KAAK6zB,gBAAkB/H,EAAM,mBAC7B9rB,KAAK8zB,cAAgBhI,EAAM,iBAC3B9rB,KAAK0jC,oBAAsB5X,EAAM,uBACjC9rB,KAAK2jC,wBAA0B7X,EAAM,2BACrC9rB,KAAK4jC,OAAS9X,EAAM,UACpB9rB,KAAK6jC,iBAAmB/X,EAAM,oBAC9B9rB,KAAK8jC,YAAchY,EAAM,eACzB9rB,KAAK+jC,YAAcjY,EAAM,kBAEhC,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,eAAiB8D,KAAKyjC,YAC3BvnC,EAAK,kBAAoB8D,KAAK2zB,eAC9Bz3B,EAAK,mBAAqB8D,KAAK6zB,gBAC/B33B,EAAK,iBAAmB8D,KAAK8zB,cAC7B53B,EAAK,uBAAyB8D,KAAK0jC,oBACnCxnC,EAAK,2BAA6B8D,KAAK2jC,wBACvCznC,EAAK,UAAY8D,KAAK4jC,OACtB1nC,EAAK,oBAAsB8D,KAAK6jC,iBAChC3nC,EAAK,eAAiB8D,KAAK8jC,YAC3B5nC,EAAK,eAAiB8D,KAAK+jC,YACpB7nC,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+d,EAEjB,OADA/d,EAAOivB,KAAKtwB,GACLqB,MACV,EA7CiC,GAgFzBie,GAAe,WAQxB,WAAYtf,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKqmC,UAAYva,EAAM,aACvB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAK6mC,SAAW/a,EAAM,YACtB9rB,KAAK8mC,SAAWhb,EAAM,YACtB9rB,KAAKymC,OAAS3a,EAAM,aAE3B,oBASD,SAAO5vB,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAKqmC,UACzBnqC,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,YAAc8D,KAAK6mC,SACxB3qC,EAAK,YAAc8D,KAAK8mC,SACxB5qC,EAAK,UAAY8D,KAAKymC,OACfvqC,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIie,EAEjB,OADAje,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCuB,IAwD5B,SAAY06C,GACRA,kDACAA,4BACAA,kCACAA,gDACAA,0EACAA,sDACAA,gDACAA,wCACAA,oCACAA,+DACAA,uDACAA,0CAZJ,CAAYA,QAAqB,KAe1B,IA4WKG,GA5WC18B,GAAiC,WAK1C,WAAYxf,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAKywB,YAAc3E,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EAC9D1E,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,eAAiB8D,KAAKywB,YACpBv0B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIme,EAEjB,OADAne,EAAOivB,KAAKtwB,GACLqB,MACV,EA3ByC,GA4CjCye,GAAgB,WA2BzB,WAAY9f,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4CnD,OAzCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAsBP,GArBA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKugC,oBAAsBzU,EAAM,uBAAyBhZ,GAAOC,UAAU+Y,EAAM,uBAAuByD,iBAAmB3uB,EAC3HZ,KAAKwgC,kBAAoB1U,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKq4C,oBAAsBvsB,EAAM,uBACjC9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKs4C,sBAAwBxsB,EAAM,yBACnC9rB,KAAKu4C,gBAAkBzsB,EAAM,mBAC7B9rB,KAAKw4C,cAAgB1sB,EAAM,iBAC3B9rB,KAAKg0C,IAAMloB,EAAM,OACjB9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKy4C,aAAe3sB,EAAM,gBAC1B9rB,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAKi/B,YAAcnT,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAKmrB,GAAqB3jB,OAAOuB,KAAO,+BAEjE/F,KAAK04C,YAAc5sB,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAK24C,UAAY7sB,EAAM,aACvB9rB,KAAK44C,YAAc9sB,EAAM,kBAEhC,oBASD,SAAO5vB,GAuBH,GAtBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,uBAAyB8D,KAAKugC,oBAAsBvgC,KAAKugC,oBAAoB1Q,aAAY,QAAajvB,EAC3G1E,EAAK,qBAAuB8D,KAAKwgC,kBAAoBxgC,KAAKwgC,kBAAkB3Q,aAAY,QAAajvB,EACrG1E,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,uBAAyB8D,KAAKq4C,oBACnCn8C,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,yBAA2B8D,KAAKs4C,sBACrCp8C,EAAK,mBAAqB8D,KAAKu4C,gBAC/Br8C,EAAK,iBAAmB8D,KAAKw4C,cAC7Bt8C,EAAK,OAAS8D,KAAKg0C,IACnB93C,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,gBAAkB8D,KAAKy4C,aAC5Bv8C,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EACzF1E,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,eAAiB8D,KAAKi/B,YACvBp5B,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,EAAKwmB,WAAU,+BAK/C,OAHArwB,EAAK,eAAiB8D,KAAK04C,YAAc14C,KAAK04C,YAAY7oB,aAAY,QAAajvB,EACnF1E,EAAK,aAAe8D,KAAK24C,UACzBz8C,EAAK,eAAiB8D,KAAK44C,YACpB18C,KACV,qBAvCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIye,EAEjB,OADAze,EAAOivB,KAAKtwB,GACLqB,MACV,EA3EwB,GA4IhB4qB,GAAoB,WAK7B,WAAYjsB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK1B,KAAOwtB,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC9rB,KAAKsM,cAAgB,GAAU,IACQ,EADR,IACdwf,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsM,cAAetP,KAAK67C,GAAuBr0C,OAAOuB,KAAO,kCAG7E,oBASD,SAAO7J,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,QAAU8D,KAAK1B,KAChBuH,MAAMC,QAAQ9F,KAAKsM,eAAgB,CACnCpQ,EAAK,iBAAmB,GAAG,IACQ,EADR,IACV8D,KAAKsM,eAAa,IAAnC,2BACI,KADKvG,EAAI,QACT7J,EAAK,iBAAiBc,KAAK+I,EAAKwmB,WAAU,+BAElD,OAAOrwB,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4qB,EAEjB,OADA5qB,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B4B,GAoDpBs7C,GAAsB,WA0B/B,WAAY38C,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAK++B,UAAYjT,EAAM,aACvB9rB,KAAK84C,cAAgBhtB,EAAM,iBAC3B9rB,KAAKg/B,aAAelT,EAAM,gBAC1B9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKi0B,WAAanI,EAAM,cACxB9rB,KAAKohC,MAAQtV,EAAM,SACnB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKwoB,QAAUsD,EAAM,WACrB9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAK+4C,mBAAqBjtB,EAAM,sBAChC9rB,KAAKg5C,yBAA2BltB,EAAM,4BACtC9rB,KAAKi/B,YAAcnT,EAAM,eACzB9rB,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAK2zB,eAAiB7H,EAAM,kBAC5B9rB,KAAK6zB,gBAAkB/H,EAAM,mBAC7B9rB,KAAKi5C,gBAAkBntB,EAAM,mBAC7B9rB,KAAK0jC,oBAAsB5X,EAAM,uBACjC9rB,KAAK2jC,wBAA0B7X,EAAM,2BACrC9rB,KAAK6jC,iBAAmB/X,EAAM,oBAC9B9rB,KAAK8jC,YAAchY,EAAM,eACzB9rB,KAAK+jC,YAAcjY,EAAM,kBAEhC,oBASD,SAAO5vB,GA0BH,OAzBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,aAAe8D,KAAK++B,UACzB7iC,EAAK,iBAAmB8D,KAAK84C,cAC7B58C,EAAK,gBAAkB8D,KAAKg/B,aAC5B9iC,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,cAAgB8D,KAAKi0B,WAC1B/3B,EAAK,SAAW8D,KAAKohC,MACrBllC,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,WAAa8D,KAAKwoB,QACvBtsB,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,sBAAwB8D,KAAK+4C,mBAClC78C,EAAK,4BAA8B8D,KAAKg5C,yBACxC98C,EAAK,eAAiB8D,KAAKi/B,YAC3B/iC,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,kBAAoB8D,KAAK2zB,eAC9Bz3B,EAAK,mBAAqB8D,KAAK6zB,gBAC/B33B,EAAK,mBAAqB8D,KAAKi5C,gBAC/B/8C,EAAK,uBAAyB8D,KAAK0jC,oBACnCxnC,EAAK,2BAA6B8D,KAAK2jC,wBACvCznC,EAAK,oBAAsB8D,KAAK6jC,iBAChC3nC,EAAK,eAAiB8D,KAAK8jC,YAC3B5nC,EAAK,eAAiB8D,KAAK+jC,YACpB7nC,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs7C,EAEjB,OADAt7C,EAAOivB,KAAKtwB,GACLqB,MACV,EArE8B,IAgInC,SAAY66C,GACRA,sCACAA,wDACAA,kDACAA,0DACAA,4CACAA,gEACAA,8CACAA,uCARJ,CAAYA,QAAoB,KAWzB,IAoGKc,GApGCC,GAA6B,WAmBtC,WAAYj9C,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKouC,aAAetiB,EAAM,gBAC1B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKo5C,YAActtB,EAAM,eACzB9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKq5C,qBAAuBvtB,EAAM,wBAClC9rB,KAAKs5C,uBAAyBxtB,EAAM,0BACpC9rB,KAAKu5C,sBAAwBztB,EAAM,yBACnC9rB,KAAKw5C,wBAA0B1tB,EAAM,2BACrC9rB,KAAKg0C,IAAMloB,EAAM,OACjB9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK84C,cAAgBhtB,EAAM,iBAC3B9rB,KAAK20C,kBAAoB7oB,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKy5C,mBAAqB3tB,EAAM,yBAEvC,oBASD,SAAO5vB,GAmBH,OAlBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,gBAAkB8D,KAAKouC,aAC5BlyC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,eAAiB8D,KAAKo5C,YAC3Bl9C,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,wBAA0B8D,KAAKq5C,qBACpCn9C,EAAK,0BAA4B8D,KAAKs5C,uBACtCp9C,EAAK,yBAA2B8D,KAAKu5C,sBACrCr9C,EAAK,2BAA6B8D,KAAKw5C,wBACvCt9C,EAAK,OAAS8D,KAAKg0C,IACnB93C,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EAC9D1E,EAAK,iBAAmB8D,KAAK84C,cAC7B58C,EAAK,qBAAuB8D,KAAK20C,kBAAoB30C,KAAK20C,kBAAkB9kB,aAAY,QAAajvB,EACrG1E,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EACzF1E,EAAK,sBAAwB8D,KAAKy5C,mBAC3Bv9C,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI47C,EAEjB,OADA57C,EAAOivB,KAAKtwB,GACLqB,MACV,EAvDqC,IAoG1C,SAAY27C,GACRA,kCACAA,yCAFJ,CAAYA,QAAW,KAKhB,IAoQKQ,GApQCx9B,GAA2B,WAIpC,WAAYhgB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC9rB,KAAKsM,cAAgB,GAAU,IACQ,EADR,IACdwf,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsM,cAAetP,KAAK28C,GAAsBn1C,OAAOuB,KAAO,kCAG5E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKsM,eAAgB,CACnCpQ,EAAK,iBAAmB,GAAG,IACQ,EADR,IACV8D,KAAKsM,eAAa,IAAnC,2BACI,KADKvG,EAAI,QACT7J,EAAK,iBAAiBc,KAAK+I,EAAKwmB,WAAU,+BAElD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2e,EAEjB,OADA3e,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BmC,GAgD3Bo8C,GAAqB,WAkC9B,WAAYz9C,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA+CnD,OA5CA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAK45C,iBAAmB9tB,EAAM,oBAC9B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAK65C,mBAAqB/tB,EAAM,sBAChC9rB,KAAKu4C,gBAAkBzsB,EAAM,mBAC7B9rB,KAAKw4C,cAAgB1sB,EAAM,iBAC3B9rB,KAAKg0C,IAAMloB,EAAM,OACjB9rB,KAAK85C,kBAAoBhuB,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAK+5C,gBAAkBjuB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKugC,oBAAsBzU,EAAM,uBAAyBhZ,GAAOC,UAAU+Y,EAAM,uBAAuByD,iBAAmB3uB,EAC3HZ,KAAKwgC,kBAAoB1U,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAKqgC,cAAgBvU,EAAM,iBAC3B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAK++B,UAAYjT,EAAM,aACvB9rB,KAAKg/B,aAAelT,EAAM,gBAC1B9rB,KAAK84C,cAAgBhtB,EAAM,iBAC3B9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKi0B,WAAanI,EAAM,cACxB9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAKi/B,YAAcnT,EAAM,eACzB9rB,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKohC,MAAQtV,EAAM,SACnB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKwoB,QAAUsD,EAAM,WACrB9rB,KAAKg6C,sBAAwBluB,EAAM,yBACnC9rB,KAAKi6C,sBAAwBnuB,EAAM,4BAE1C,oBASD,SAAO5vB,GAkCH,OAjCAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,oBAAsB8D,KAAK45C,iBAChC19C,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,sBAAwB8D,KAAK65C,mBAClC39C,EAAK,mBAAqB8D,KAAKu4C,gBAC/Br8C,EAAK,iBAAmB8D,KAAKw4C,cAC7Bt8C,EAAK,OAAS8D,KAAKg0C,IACnB93C,EAAK,qBAAuB8D,KAAK85C,kBAAoB95C,KAAK85C,kBAAkBjqB,aAAY,QAAajvB,EACrG1E,EAAK,mBAAqB8D,KAAK+5C,gBAAkB/5C,KAAK+5C,gBAAgBlqB,aAAY,QAAajvB,EAC/F1E,EAAK,uBAAyB8D,KAAKugC,oBAAsBvgC,KAAKugC,oBAAoB1Q,aAAY,QAAajvB,EAC3G1E,EAAK,qBAAuB8D,KAAKwgC,kBAAoBxgC,KAAKwgC,kBAAkB3Q,aAAY,QAAajvB,EACrG1E,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,iBAAmB8D,KAAKqgC,cAC7BnkC,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,aAAe8D,KAAK++B,UACzB7iC,EAAK,gBAAkB8D,KAAKg/B,aAC5B9iC,EAAK,iBAAmB8D,KAAK84C,cAC7B58C,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,cAAgB8D,KAAKi0B,WAC1B/3B,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,eAAiB8D,KAAKi/B,YAC3B/iC,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EACzF1E,EAAK,SAAW8D,KAAKohC,MACrBllC,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,WAAa8D,KAAKwoB,QACvBtsB,EAAK,yBAA2B8D,KAAKg6C,sBACrC99C,EAAK,yBAA2B8D,KAAKi6C,sBAC9B/9C,KACV,qBA1CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIo8C,EAEjB,OADAp8C,EAAOivB,KAAKtwB,GACLqB,MACV,EArF6B,GAgKrB28C,GAAsC,WAO/C,WAAYh+C,GACR,GADsD,UAClDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6nB,wBAA0BiE,EAAM,2BAA6BqtB,GAA8B30C,OAAOsnB,EAAM,iCAAmClrB,EAChJZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,2BAA6B8D,KAAK6nB,wBAA0B7nB,KAAK6nB,wBAAwB0E,cAAgB3rB,EAC9G1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI28C,EAEjB,OADA38C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B8C,IAoDnD,SAAYm8C,GACRA,sCACAA,4BACAA,wBACAA,gCACAA,kCACAA,kCACAA,sBACAA,wBACAA,yCATJ,CAAYA,QAAsB,KAY3B,IAoHKS,GApHCC,GAAW,WAGpB,WAAYl+C,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACD,GAAIA,GACIjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC9rB,KAAKqc,aAAe,GAAU,IACQ,EADR,IACbyP,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAKqc,aAAcrf,KAAK+I,IAAM,kCAG7C,oBASD,SAAO7J,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKqc,cAAe,CAClCngB,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAKqc,cAAY,IAAlC,2BACI,KADKtW,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,IAAM,+BAExC,OAAO7J,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI68C,EAEjB,OADA78C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BmB,GA4CX88C,GAAuB,WAUhC,WAAYn+C,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC9rB,KAAKqc,aAAe,GAAU,IACQ,EADR,IACbyP,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAKqc,aAAcrf,KAAK+I,IAAM,+BAEtC/F,KAAK04B,SAAW5M,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,EAC1FZ,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKs6C,sBAAwBxuB,EAAM,yBAA2BhZ,GAAOC,UAAU+Y,EAAM,yBAAyByD,iBAAmB3uB,EACjIZ,KAAKu6C,oBAAsBzuB,EAAM,uBAAyBhZ,GAAOC,UAAU+Y,EAAM,uBAAuByD,iBAAmB3uB,EAC3HZ,KAAKw6C,cAAgB1uB,EAAM,iBAC3B9rB,KAAKy6C,kBAAoB3uB,EAAM,qBAC/B9rB,KAAK06C,WAAa5uB,EAAM,iBAE/B,oBASD,SAAO5vB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKqc,cAAe,CAClCngB,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAKqc,cAAY,IAAlC,2BACI,KADKtW,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,IAAM,+BASxC,OAPA7J,EAAK,YAAc8D,KAAK04B,SAAW14B,KAAK04B,SAAS7I,aAAY,QAAajvB,EAC1E1E,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,yBAA2B8D,KAAKs6C,sBAAwBt6C,KAAKs6C,sBAAsBzqB,aAAY,QAAajvB,EACjH1E,EAAK,uBAAyB8D,KAAKu6C,oBAAsBv6C,KAAKu6C,oBAAoB1qB,aAAY,QAAajvB,EAC3G1E,EAAK,iBAAmB8D,KAAKw6C,cAC7Bt+C,EAAK,qBAAuB8D,KAAKy6C,kBACjCv+C,EAAK,cAAgB8D,KAAK06C,WACnBx+C,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI88C,EAEjB,OADA98C,EAAOivB,KAAKtwB,GACLqB,MACV,EAzC+B,IAwEpC,SAAY48C,GACRA,kDACAA,wBACAA,yCAHJ,CAAYA,QAAa,KAMlB,IAw8BKQ,GAx8BCC,GAA4B,WAIrC,WAAY1+C,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKiI,WAAa6jB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,iBAAiB,CACrC9rB,KAAK2M,YAAc,GAAU,IACQ,EADR,IACZmf,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAK2M,YAAa3P,KAAK+I,IAAM,kCAG5C,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKiI,WACtBpC,MAAMC,QAAQ9F,KAAK2M,aAAc,CACjCzQ,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAK2M,aAAW,IAAjC,2BACI,KADK5G,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAEvC,OAAO7J,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq9C,EAEjB,OADAr9C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BoC,GAgD5Bs9C,GAAkB,WAW3B,WAAY3+C,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoCnD,OAjCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAIP,GAHA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKkB,QAAU4qB,EAAM,WACrB9rB,KAAK8N,gBAAkBge,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAK0rB,kBAAoB,GAAU,IACQ,EADR,IAClBI,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAK0rB,kBAAmB1uB,KAAK+I,IAAM,+BAE3C,GAAIF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAK+c,YAAc,GAAU,IACQ,EADR,IACZ+O,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAK+c,YAAa/f,KAAK+I,IAAM,+BAGrC,GADA/F,KAAKkzB,gBAAkBpH,EAAM,mBAAqBlD,GAAmBpkB,OAAOsnB,EAAM,yBAA2BlrB,EACzGiF,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C9rB,KAAK86C,mBAAqB,GAAU,IACQ,EADR,IACnBhvB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACT/F,KAAK86C,mBAAoB99C,KAAK+9C,GAAqBv2C,OAAOuB,KAAO,+BAEzE/F,KAAKssB,SAAWR,EAAM,YACtB9rB,KAAK2V,QAAUmW,EAAM,cAE5B,oBASD,SAAO5vB,GAKH,GAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,WAAa8D,KAAKkB,QACvBhF,EAAK,mBAAqB8D,KAAK8N,gBAC3BjI,MAAMC,QAAQ9F,KAAK0rB,mBAAoB,CACvCxvB,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAK0rB,mBAAiB,IAAvC,2BACI,KADK3lB,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAE7C,GAAIF,MAAMC,QAAQ9F,KAAK+c,aAAc,CACjC7gB,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAK+c,aAAW,IAAjC,2BACI,KADKhX,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAGvC,GADA7J,EAAK,mBAAqB8D,KAAKkzB,gBAAkBlzB,KAAKkzB,gBAAgB3G,cAAgB3rB,EAClFiF,MAAMC,QAAQ9F,KAAK86C,oBAAqB,CACxC5+C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACf8D,KAAK86C,oBAAkB,IAAxC,2BACI,KADK/0C,EAAI,QACT7J,EAAK,sBAAsBc,KAAK+I,EAAKwmB,WAAU,+BAIvD,OAFArwB,EAAK,YAAc8D,KAAKssB,SACxBpwB,EAAK,WAAa8D,KAAK2V,QAChBzZ,KACV,qBA/BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs9C,EAEjB,OADAt9C,EAAOivB,KAAKtwB,GACLqB,MACV,EAnD0B,GA4FlBqrB,GAAkB,WAI3B,WAAY1sB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK83B,KAAOhM,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK+3B,GAAKjM,EAAM,MAAQhZ,GAAOC,UAAU+Y,EAAM,MAAMyD,iBAAmB3uB,KAE/E,oBASD,SAAO1E,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK83B,KAAO93B,KAAK83B,KAAKjI,aAAY,QAAajvB,EAC9D1E,EAAK,MAAQ8D,KAAK+3B,GAAK/3B,KAAK+3B,GAAGlI,aAAY,QAAajvB,EACjD1E,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqrB,EAEjB,OADArrB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB0B,GAwClBw9C,GAAoB,WAQ7B,WAAY7+C,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKg7C,OAASlvB,EAAM,UACpB9rB,KAAK83B,KAAOhM,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK+3B,GAAKjM,EAAM,MAAQhZ,GAAOC,UAAU+Y,EAAM,MAAMyD,iBAAmB3uB,EACxEZ,KAAKw6C,cAAgB1uB,EAAM,iBAC3B9rB,KAAK+gC,kBAAoBjV,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKghC,gBAAkBlV,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,KAEtH,oBASD,SAAO1E,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKg7C,OACtB9+C,EAAK,QAAU8D,KAAK83B,KAAO93B,KAAK83B,KAAKjI,aAAY,QAAajvB,EAC9D1E,EAAK,MAAQ8D,KAAK+3B,GAAK/3B,KAAK+3B,GAAGlI,aAAY,QAAajvB,EACxD1E,EAAK,iBAAmB8D,KAAKw6C,cAC7Bt+C,EAAK,qBAAuB8D,KAAK+gC,kBAAoB/gC,KAAK+gC,kBAAkBlR,aAAY,QAAajvB,EACrG1E,EAAK,mBAAqB8D,KAAKghC,gBAAkBhhC,KAAKghC,gBAAgBnR,aAAY,QAAajvB,EACxF1E,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIw9C,EAEjB,OADAx9C,EAAOivB,KAAKtwB,GACLqB,MACV,EAjC4B,GAwDpB0f,GAA2B,WAKpC,WAAY/gB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKi7C,MAAQnvB,EAAM,SACnB9rB,KAAK1B,KAAOwtB,EAAM,WAEzB,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,SAAW8D,KAAKi7C,MACrB/+C,EAAK,QAAU8D,KAAK1B,KACbpC,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0f,EAEjB,OADA1f,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BmC,GA4C3B4f,GAAiC,WAO1C,WAAYjhB,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKi7C,MAAQnvB,EAAM,SACnB9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAKk7C,OAASpvB,EAAM,UACpB9rB,KAAK4/B,mBAAqB9T,EAAM,yBAEvC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,SAAW8D,KAAKi7C,MACrB/+C,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,UAAY8D,KAAKk7C,OACtBh/C,EAAK,sBAAwB8D,KAAK4/B,mBAC3B1jC,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4f,EAEjB,OADA5f,EAAOivB,KAAKtwB,GACLqB,MACV,EA/ByC,GAoDjC49C,GAAqC,WAI9C,WAAYj/C,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAK0rB,kBAAoB,GAAU,IACQ,EADR,IAClBI,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAK0rB,kBAAmB1uB,KAAK+I,IAAM,+BAE3C/F,KAAKo7C,2CAA6CtvB,EAAM,8CAAgDuvB,GAA2C72C,OAAOsnB,EAAM,oDAAsDlrB,KAE7N,oBASD,SAAO1E,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAK0rB,mBAAoB,CACvCxvB,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAK0rB,mBAAiB,IAAvC,2BACI,KADK3lB,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAG7C,OADA7J,EAAK,8CAAgD8D,KAAKo7C,2CAA6Cp7C,KAAKo7C,2CAA2C7uB,cAAgB3rB,EAChK1E,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI49C,EAEjB,OADA59C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B6C,GAgDrC89C,GAA0C,WAMnD,WAAYn/C,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKs7C,eAAiBxvB,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAK2V,QAAUmW,EAAM,WACrB9rB,KAAKssB,SAAWR,EAAM,eAE7B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,kBAAoB8D,KAAKs7C,eAAiBt7C,KAAKs7C,eAAezrB,aAAY,QAAajvB,EAC5F1E,EAAK,WAAa8D,KAAK2V,QACvBzZ,EAAK,YAAc8D,KAAKssB,SACjBpwB,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI89C,EAEjB,OADA99C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BkD,GAgD1C8f,GAA+B,WAKxC,WAAYnhB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B9rB,KAAKutB,KAAO,GAAU,IACQ,EADR,IACLzB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACT/F,KAAKutB,KAAMvwB,KAAKu+C,GAA0B/2C,OAAOuB,KAAO,+BAEhE/F,KAAKq2B,MAAQvK,EAAM,SACnB9rB,KAAKw7C,WAAa1vB,EAAM,cAAgB2vB,GAAcj3C,OAAOsnB,EAAM,oBAAsBlrB,KAEhG,oBASD,SAAO1E,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKutB,MAAO,CAC1BrxB,EAAK,QAAU,GAAG,IACQ,EADR,IACD8D,KAAKutB,MAAI,IAA1B,2BACI,KADKxnB,EAAI,QACT7J,EAAK,QAAQc,KAAK+I,EAAKwmB,WAAU,+BAIzC,OAFArwB,EAAK,SAAW8D,KAAKq2B,MACrBn6B,EAAK,cAAgB8D,KAAKw7C,WAAax7C,KAAKw7C,WAAWjvB,cAAgB3rB,EAChE1E,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8f,EAEjB,OADA9f,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BuC,GAoD/Bg+C,GAAyB,WA+BlC,WAAYr/C,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwDnD,OArDA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CA2BP,GA1BA9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAK4zC,SAAW9nB,EAAM,YACtB9rB,KAAKi/B,YAAcnT,EAAM,eACzB9rB,KAAKohC,MAAQtV,EAAM,SACnB9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK07C,cAAgB5vB,EAAM,iBAC3B9rB,KAAK27C,kBAAoB7vB,EAAM,qBAC/B9rB,KAAK47C,mBAAqB9vB,EAAM,sBAChC9rB,KAAK67C,aAAe/vB,EAAM,gBAC1B9rB,KAAK87C,UAAYhwB,EAAM,aACvB9rB,KAAK+7C,cAAgBjwB,EAAM,iBAC3B9rB,KAAKg8C,SAAWlwB,EAAM,YACtB9rB,KAAKi8C,mBAAqBnwB,EAAM,sBAChC9rB,KAAK8N,gBAAkBge,EAAM,mBAC7B9rB,KAAK23B,cAAgB7L,EAAM,iBAAmBje,GAAiBrJ,OAAOsnB,EAAM,uBAAyBlrB,EACrGZ,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAKkzB,gBAAkBpH,EAAM,mBAAqBlD,GAAmBpkB,OAAOsnB,EAAM,yBAA2BlrB,EACzGiF,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C9rB,KAAK86C,mBAAqB,GAAU,IACQ,EADR,IACnBhvB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACT/F,KAAK86C,mBAAoB99C,KAAK4rB,GAAmBpkB,OAAOuB,KAAO,+BAEvE,GAAIF,MAAMC,QAAQgmB,EAAM,cAAe,CACnC9rB,KAAKk8C,UAAY,GAAU,IACQ,EADR,IACVpwB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk8C,UAAWl/C,KAAKm/C,GAA+B33C,OAAOuB,KAAO,+BAE1E,GAAIF,MAAMC,QAAQgmB,EAAM,kBAAmB,CACvC9rB,KAAKo8C,cAAgB,GAAU,IACQ,EADR,IACdtwB,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACT/F,KAAKo8C,cAAep/C,KAAKm/C,GAA+B33C,OAAOuB,KAAO,mCAGrF,oBASD,SAAO7J,GA4BH,GA3BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,YAAc8D,KAAK4zC,SACxB13C,EAAK,eAAiB8D,KAAKi/B,YAC3B/iC,EAAK,SAAW8D,KAAKohC,MACrBllC,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,iBAAmB8D,KAAK07C,cAC7Bx/C,EAAK,qBAAuB8D,KAAK27C,kBACjCz/C,EAAK,sBAAwB8D,KAAK47C,mBAClC1/C,EAAK,gBAAkB8D,KAAK67C,aAC5B3/C,EAAK,aAAe8D,KAAK87C,UACzB5/C,EAAK,iBAAmB8D,KAAK+7C,cAC7B7/C,EAAK,YAAc8D,KAAKg8C,SACxB9/C,EAAK,sBAAwB8D,KAAKi8C,mBAClC//C,EAAK,mBAAqB8D,KAAK8N,gBAC/B5R,EAAK,iBAAmB8D,KAAK23B,cAAgB33B,KAAK23B,cAAcpL,cAAgB3rB,EAChF1E,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,mBAAqB8D,KAAKkzB,gBAAkBlzB,KAAKkzB,gBAAgB3G,cAAgB3rB,EAClFiF,MAAMC,QAAQ9F,KAAK86C,oBAAqB,CACxC5+C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACf8D,KAAK86C,oBAAkB,IAAxC,2BACI,KADK/0C,EAAI,QACT7J,EAAK,sBAAsBc,KAAK+I,EAAKwmB,WAAU,+BAEvD,GAAI1mB,MAAMC,QAAQ9F,KAAKk8C,WAAY,CAC/BhgD,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAKk8C,WAAS,IAA/B,2BACI,KADKn2C,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAE9C,GAAI1mB,MAAMC,QAAQ9F,KAAKo8C,eAAgB,CACnClgD,EAAK,iBAAmB,GAAG,IACQ,EADR,IACV8D,KAAKo8C,eAAa,IAAnC,2BACI,KADKr2C,EAAI,QACT7J,EAAK,iBAAiBc,KAAK+I,EAAKwmB,WAAU,+BAElD,OAAOrwB,KACV,qBAnDD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg+C,EAEjB,OADAh+C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3FiC,GA4KzB4+C,GAA8B,WASvC,WAAYjgD,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK++B,UAAYjT,EAAM,aACvB9rB,KAAKg/B,aAAelT,EAAM,gBAC1B9rB,KAAKi0B,WAAanI,EAAM,cACxB9rB,KAAKq8C,kBAAoBvwB,EAAM,qBAC/B9rB,KAAKs8C,mBAAqBxwB,EAAM,sBAChC9rB,KAAK2+B,KAAO7S,EAAM,WAEzB,oBASD,SAAO5vB,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK++B,UACzB7iC,EAAK,gBAAkB8D,KAAKg/B,aAC5B9iC,EAAK,cAAgB8D,KAAKi0B,WAC1B/3B,EAAK,qBAAuB8D,KAAKq8C,kBACjCngD,EAAK,sBAAwB8D,KAAKs8C,mBAClCpgD,EAAK,QAAU8D,KAAK2+B,KACbziC,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4+C,EAEjB,OADA5+C,EAAOivB,KAAKtwB,GACLqB,MACV,EAnCsC,GA4D9Bk+C,GAAa,WAItB,WAAYv/C,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC9rB,KAAKu8C,OAAS,GAAU,IACQ,EADR,IACPzwB,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKu8C,OAAQv/C,KAAKw/C,GAAgCh4C,OAAOuB,KAAO,kCAG/E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACrBhE,MAAMC,QAAQ9F,KAAKu8C,QAAS,CAC5BrgD,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKu8C,QAAM,IAA5B,2BACI,KADKx2C,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk+C,EAEjB,OADAl+C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BqB,GAgDbi/C,GAA+B,WAIxC,WAAYtgD,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKy8C,aAAe3wB,EAAM,gBACtBjmB,MAAMC,QAAQgmB,EAAM,iBAAiB,CACrC9rB,KAAK08C,YAAc,GAAU,IACQ,EADR,IACZ5wB,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAK08C,YAAa1/C,KAAK+I,IAAM,kCAG5C,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkB8D,KAAKy8C,aACxB52C,MAAMC,QAAQ9F,KAAK08C,aAAc,CACjCxgD,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAK08C,aAAW,IAAjC,2BACI,KADK32C,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAEvC,OAAO7J,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIi/C,EAEjB,OADAj/C,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BuC,GAgD/Bo/C,GAA0C,WAOnD,WAAYzgD,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKmM,eAAiB2f,EAAM,kBAAoB8wB,GAAkCp4C,OAAOsnB,EAAM,wBAA0BlrB,EACzHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKmM,eAAiBnM,KAAKmM,eAAeogB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIo/C,EAEjB,OADAp/C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BkD,GAoD1Cq/C,GAAiC,WAe1C,WAAY1gD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwCnD,OArCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAMP,GALA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAKo5C,YAActtB,EAAM,eACzB9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK68C,YAAc/wB,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BAEpC,GAAIF,MAAMC,QAAQgmB,EAAM,oBAAqB,CACzC9rB,KAAK88C,gBAAkB,GAAU,IACQ,EADR,IAChBhxB,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACT/F,KAAK88C,gBAAiB9/C,KAAK+I,IAAM,+BAEzC,GAAIF,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAKuwC,kBAAoB,GAAU,IACQ,EADR,IAClBzkB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAKuwC,kBAAmBvzC,KAAK+I,IAAM,+BAE3C/F,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK+8C,mBAAqBjxB,EAAM,yBAEvC,oBASD,SAAO5vB,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,eAAiB8D,KAAKo5C,YAC3Bl9C,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,eAAiB8D,KAAK68C,YACvBh3C,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAEtC,GAAIF,MAAMC,QAAQ9F,KAAK88C,iBAAkB,CACrC5gD,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZ8D,KAAK88C,iBAAe,IAArC,2BACI,KADK/2C,EAAI,QACT7J,EAAK,mBAAmBc,KAAK+I,IAAM,+BAE3C,GAAIF,MAAMC,QAAQ9F,KAAKuwC,mBAAoB,CACvCr0C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAKuwC,mBAAiB,IAAvC,2BACI,KADKxqC,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAO7C,OALA7J,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,sBAAwB8D,KAAK+8C,mBAC3B7gD,KACV,qBAnCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq/C,EAEjB,OADAr/C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3DyC,IA4G9C,SAAYo9C,GACRA,0BACAA,sCACAA,+BAHJ,CAAYA,QAA0B,KAM/B,IAipFKqC,GAjpFCC,GAA2B,WAQpC,WAAY/gD,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKy/B,sBAAwB3T,EAAM,yBAC/BjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC9rB,KAAKk0B,OAAS,GAAU,IACQ,EADR,IACPpI,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0B,OAAQl3B,KAAKkgD,GAAsB14C,OAAOuB,KAAO,kCAGrE,oBASD,SAAO7J,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,yBAA2B8D,KAAKy/B,sBACjC55B,MAAMC,QAAQ9F,KAAKk0B,QAAS,CAC5Bh4B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKk0B,QAAM,IAA5B,2BACI,KADKnuB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,OAAOrwB,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0/C,EAEjB,OADA1/C,EAAOivB,KAAKtwB,GACLqB,MACV,EArCmC,GAgE3B2/C,GAAqB,WAK9B,WAAYhhD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKq0B,MAAQvI,EAAM,SACnB9rB,KAAKi0B,WAAanI,EAAM,iBAE/B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,SAAW8D,KAAKq0B,MACrBn4B,EAAK,cAAgB8D,KAAKi0B,WACnB/3B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2/C,EAEjB,OADA3/C,EAAOivB,KAAKtwB,GACLqB,MACV,EA3B6B,GA4CrBugB,GAAgB,WAezB,WAAY5hB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C9rB,KAAKm9C,kBAAoB,GAAU,IACQ,EADR,IAClBrxB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAKm9C,kBAAmBngD,KAAK+I,IAAM,+BAE3C/F,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKqsC,aAAevgB,EAAM,gBAC1B9rB,KAAKg+B,4BAA8BlS,EAAM,+BACzC9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,oBAElC,oBASD,SAAO5vB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKm9C,mBAAoB,CACvCjhD,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAKm9C,mBAAiB,IAAvC,2BACI,KADKp3C,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,IAAM,+BAc7C,OAZA7J,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKqsC,aAC5BnwC,EAAK,+BAAiC8D,KAAKg+B,4BAC3C9hC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cACtBljC,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIugB,EAEjB,OADAvgB,EAAOivB,KAAKtwB,GACLqB,MACV,EAnDwB,GA4FhB0gB,GAAkB,WAK3B,WAAY/hB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK25B,UAAY7N,EAAM,gBAE9B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAK25B,UAClBz9B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0gB,EAEjB,OADA1gB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3B0B,GA4ClB6/C,GAAmB,WAW5B,WAAYlhD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAGP,GAFA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACnFiF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAK+c,YAAc,GAAU,IACQ,EADR,IACZ+O,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAK+c,YAAa/f,KAAK+I,IAAM,+BAOrC,GALA/F,KAAKs9C,MAAQxxB,EAAM,SAAWyxB,GAAuB/4C,OAAOsnB,EAAM,eAAiBlrB,EACnFZ,KAAKg+B,4BAA8BlS,EAAM,+BACzC9rB,KAAKm9B,0BAA4BrR,EAAM,6BACvC9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK8N,gBAAkBge,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,mCAG3C,oBASD,SAAO7J,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACnEiF,MAAMC,QAAQ9F,KAAK+c,aAAc,CACjC7gB,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAK+c,aAAW,IAAjC,2BACI,KADKhX,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAOvC,GALA7J,EAAK,SAAW8D,KAAKs9C,MAAQt9C,KAAKs9C,MAAM/wB,cAAgB3rB,EACxD1E,EAAK,+BAAiC8D,KAAKg+B,4BAC3C9hC,EAAK,6BAA+B8D,KAAKm9B,0BACzCjhC,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,mBAAqB8D,KAAK8N,gBAC3BjI,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAEtC,OAAO7J,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6/C,EAEjB,OADA7/C,EAAOivB,KAAKtwB,GACLqB,MACV,EA/C2B,GAoFnBggD,GAAsB,WAQ/B,WAAYrhD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKw9C,gBAAkB1xB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKy9C,YAAc3xB,EAAM,kBAEhC,oBASD,SAAO5vB,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,mBAAqB8D,KAAKw9C,gBAAkBx9C,KAAKw9C,gBAAgB3tB,aAAY,QAAajvB,EAC/F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,eAAiB8D,KAAKy9C,YACpBvhD,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIggD,EAEjB,OADAhgD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjC8B,GAwDtB4gB,GAA0B,WAoBnC,WAAYjiB,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6CnD,OA1CA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAQP,GAPA9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKw9C,gBAAkB1xB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK09C,sBAAwB5xB,EAAM,yBACnC9rB,KAAK29C,wBAA0B7xB,EAAM,2BACrC9rB,KAAKy6C,kBAAoB3uB,EAAM,qBAC3BjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BASpC,GAPA/F,KAAK49C,cAAgB9xB,EAAM,iBAC3B9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK69C,QAAU/xB,EAAM,WACrB9rB,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACnFiF,MAAMC,QAAQgmB,EAAM,WAAY,CAChC9rB,KAAKk0B,OAAS,GAAU,IACQ,EADR,IACPpI,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0B,OAAQl3B,KAAK8gD,GAA0Bt5C,OAAOuB,KAAO,+BAElE,GAAIF,MAAMC,QAAQgmB,EAAM,cAAe,CACnC9rB,KAAK+9C,UAAY,GAAU,IACQ,EADR,IACVjyB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAK+9C,UAAW/gD,KAAK4M,GAAcpF,OAAOuB,KAAO,+BAEzD/F,KAAKg+C,aAAelyB,EAAM,mBAEjC,oBASD,SAAO5vB,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,mBAAqB8D,KAAKw9C,gBAAkBx9C,KAAKw9C,gBAAgB3tB,aAAY,QAAajvB,EAC/F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,yBAA2B8D,KAAK09C,sBACrCxhD,EAAK,2BAA6B8D,KAAK29C,wBACvCzhD,EAAK,qBAAuB8D,KAAKy6C,kBAC7B50C,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAStC,GAPA7J,EAAK,iBAAmB8D,KAAK49C,cAC7B1hD,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,WAAa8D,KAAK69C,QACvB3hD,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACnEiF,MAAMC,QAAQ9F,KAAKk0B,QAAS,CAC5Bh4B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKk0B,QAAM,IAA5B,2BACI,KADKnuB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,GAAI1mB,MAAMC,QAAQ9F,KAAK+9C,WAAY,CAC/B7hD,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAK+9C,WAAS,IAA/B,2BACI,KADKh4C,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAG9C,OADArwB,EAAK,gBAAkB8D,KAAKg+C,aACrB9hD,KACV,qBAxCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4gB,EAEjB,OADA5gB,EAAOivB,KAAKtwB,GACLqB,MACV,EArEkC,GAgI1BugD,GAAyB,WAUlC,WAAY5hD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKi+C,qBAAuBnyB,EAAM,wBAClC9rB,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKq0B,MAAQvI,EAAM,SACnB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKiI,WAAa6jB,EAAM,iBAE/B,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,wBAA0B8D,KAAKi+C,qBACpC/hD,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,SAAW8D,KAAKq0B,MACrBn4B,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,cAAgB8D,KAAKiI,WACnB/L,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIugD,EAEjB,OADAvgD,EAAOivB,KAAKtwB,GACLqB,MACV,EArCiC,GAgEzB2gD,GAAmB,WAG5B,WAAYhiD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgBnD,OAbA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKi+C,qBAAuBnyB,EAAM,2BAEzC,oBASD,SAAO5vB,GAGH,OAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,wBAA0B8D,KAAKi+C,qBAC7B/hD,KACV,qBAXD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2gD,EAEjB,OADA3gD,EAAOivB,KAAKtwB,GACLqB,MACV,EAvB2B,GAoCnBkhB,GAAsB,WAU/B,WAAYviB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKy6C,kBAAoB3uB,EAAM,qBAC/B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK8N,gBAAkBge,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC9rB,KAAKk0B,OAAS,GAAU,IACQ,EADR,IACPpI,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0B,OAAQl3B,KAAK8gD,GAA0Bt5C,OAAOuB,KAAO,kCAGzE,oBASD,SAAO7J,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACvE1E,EAAK,qBAAuB8D,KAAKy6C,kBACjCv+C,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,mBAAqB8D,KAAK8N,gBAC3BjI,MAAMC,QAAQ9F,KAAKk0B,QAAS,CAC5Bh4B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKk0B,QAAM,IAA5B,2BACI,KADKnuB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,OAAOrwB,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkhB,EAEjB,OADAlhB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzC8B,GAwEtB4gD,GAAyB,WAOlC,WAAYjiD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKg6B,KAAOlO,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC9rB,KAAKk0B,OAAS,GAAU,IACQ,EADR,IACPpI,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0B,OAAQl3B,KAAKohD,GAA+B55C,OAAOuB,KAAO,kCAG9E,oBASD,SAAO7J,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,QAAU8D,KAAKg6B,KAChBn0B,MAAMC,QAAQ9F,KAAKk0B,QAAS,CAC5Bh4B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKk0B,QAAM,IAA5B,2BACI,KADKnuB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,OAAOrwB,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4gD,EAEjB,OADA5gD,EAAOivB,KAAKtwB,GACLqB,MACV,EAnCiC,GA4DzB6gD,GAA8B,WAIvC,WAAYliD,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKq0B,MAAQvI,EAAM,YAE1B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,SAAW8D,KAAKq0B,MACdn4B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6gD,EAEjB,OADA7gD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBsC,GAwC9BuhB,GAA4B,WAoBrC,WAAY5iB,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAyCnD,OAtCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAUP,GATA9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKw9C,gBAAkB1xB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKy9C,YAAc3xB,EAAM,eACzB9rB,KAAK09C,sBAAwB5xB,EAAM,yBACnC9rB,KAAK29C,wBAA0B7xB,EAAM,2BACrC9rB,KAAKy6C,kBAAoB3uB,EAAM,qBAC3BjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BAOpC,GALA/F,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK69C,QAAU/xB,EAAM,WACrB9rB,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACnFiF,MAAMC,QAAQgmB,EAAM,WAAY,CAChC9rB,KAAKk0B,OAAS,GAAU,IACQ,EADR,IACPpI,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAKk0B,OAAQl3B,KAAK8gD,GAA0Bt5C,OAAOuB,KAAO,+BAElE/F,KAAKg+C,aAAelyB,EAAM,gBAC1B9rB,KAAKizB,WAAanH,EAAM,iBAE/B,oBASD,SAAO5vB,GAWH,GAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,mBAAqB8D,KAAKw9C,gBAAkBx9C,KAAKw9C,gBAAgB3tB,aAAY,QAAajvB,EAC/F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,eAAiB8D,KAAKy9C,YAC3BvhD,EAAK,yBAA2B8D,KAAK09C,sBACrCxhD,EAAK,2BAA6B8D,KAAK29C,wBACvCzhD,EAAK,qBAAuB8D,KAAKy6C,kBAC7B50C,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAOtC,GALA7J,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,WAAa8D,KAAK69C,QACvB3hD,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACnEiF,MAAMC,QAAQ9F,KAAKk0B,QAAS,CAC5Bh4B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAKk0B,QAAM,IAA5B,2BACI,KADKnuB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAI3C,OAFArwB,EAAK,gBAAkB8D,KAAKg+C,aAC5B9hD,EAAK,cAAgB8D,KAAKizB,WACnB/2B,KACV,qBApCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuhB,EAEjB,OADAvhB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjEoC,GAwH5B8W,GAAO,WAMhB,WAAYnY,GACR,GADuB,UACnBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKwjC,QAAU1X,EAAM,WACrB9rB,KAAKq4B,KAAOvM,EAAM,QAClB9rB,KAAKqjC,YAAcvX,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAKq+C,KAAOvyB,EAAM,WAEzB,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAKwjC,QACvBtnC,EAAK,QAAU8D,KAAKq4B,KACpBn8B,EAAK,eAAiB8D,KAAKqjC,YAAcrjC,KAAKqjC,YAAYxT,aAAY,QAAajvB,EACnF1E,EAAK,QAAU8D,KAAKq+C,KACbniD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8W,EAEjB,OADA9W,EAAOivB,KAAKtwB,GACLqB,MACV,EA7Be,GAgDP+gD,GAAoB,WAO7B,WAAYpiD,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKu+C,cAAgBzyB,EAAM,iBAC3B9rB,KAAKw+C,UAAY1yB,EAAM,aACvB9rB,KAAKw9B,oBAAsB1R,EAAM,uBACjC9rB,KAAKu9B,oBAAsBzR,EAAM,0BAExC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKu+C,cAC7BriD,EAAK,aAAe8D,KAAKw+C,UACzBtiD,EAAK,uBAAyB8D,KAAKw9B,oBACnCthC,EAAK,uBAAyB8D,KAAKu9B,oBAC5BrhC,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+gD,EAEjB,OADA/gD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B4B,GAoDpB4hB,GAAuB,WAchC,WAAYjjB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKof,WAAa0M,EAAM,cACxB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKy+C,cAAgB3yB,EAAM,iBAC3B9rB,KAAK0+C,gBAAkB5yB,EAAM,mBAC7B9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKwkB,WAAasH,EAAM,cACxB9rB,KAAK2+C,aAAe7yB,EAAM,gBAC1B9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKw9C,gBAAkB1xB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK4+C,gBAAkB9yB,EAAM,sBAEpC,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKof,WAC1BljB,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKy+C,cAC7BviD,EAAK,mBAAqB8D,KAAK0+C,gBAC/BxiD,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,cAAgB8D,KAAKwkB,WAC1BtoB,EAAK,gBAAkB8D,KAAK2+C,aAC5BziD,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,mBAAqB8D,KAAKw9C,gBAAkBx9C,KAAKw9C,gBAAgB3tB,aAAY,QAAajvB,EAC/F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,mBAAqB8D,KAAK4+C,gBACxB1iD,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4hB,EAEjB,OADA5hB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7C+B,GAgFvB+hB,GAAiB,WAc1B,WAAYpjB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAK6+C,MAAQ/yB,EAAM,SACnB9rB,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK8+C,MAAQhzB,EAAM,SACnB9rB,KAAKsnC,WAAaxb,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKiE,OAAS6nB,EAAM,aAE3B,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,SAAW8D,KAAK6+C,MACrB3iD,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,SAAW8D,KAAK8+C,MACrB5iD,EAAK,cAAgB8D,KAAKsnC,WAC1BprC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,UAAY8D,KAAKiE,OACf/H,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+hB,EAEjB,OADA/hB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7CyB,GAgFjBwhD,GAAuB,WAWhC,WAAY7iD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKs9C,MAAQxxB,EAAM,SAAWyxB,GAAuB/4C,OAAOsnB,EAAM,eAAiBlrB,EACnFZ,KAAKg/C,iBAAmBlzB,EAAM,oBAAsBmzB,GAAkCz6C,OAAOsnB,EAAM,0BAA4BlrB,EAC/HZ,KAAKijC,SAAWnX,EAAM,YAAcozB,GAA0B16C,OAAOsnB,EAAM,kBAAoBlrB,EAC/FZ,KAAKm/C,UAAYrzB,EAAM,aAAeszB,GAA2B56C,OAAOsnB,EAAM,mBAAqBlrB,EACnGZ,KAAKq/C,eAAiBvzB,EAAM,kBAAoBwzB,GAAgC96C,OAAOsnB,EAAM,wBAA0BlrB,EACvHZ,KAAKu/C,aAAezzB,EAAM,gBAAkB5I,GAA2B1e,OAAOsnB,EAAM,sBAAwBlrB,EAC5GZ,KAAKw/C,aAAe1zB,EAAM,gBAAkB2zB,GAAkCj7C,OAAOsnB,EAAM,sBAAwBlrB,EACnHZ,KAAK0/C,gBAAkB5zB,EAAM,mBAAqB1I,GAA4B5e,OAAOsnB,EAAM,yBAA2BlrB,EACtHZ,KAAKo3B,UAAYtL,EAAM,aAAe6zB,GAA2Bn7C,OAAOsnB,EAAM,mBAAqBlrB,KAE1G,oBASD,SAAO1E,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKs9C,MAAQt9C,KAAKs9C,MAAM/wB,cAAgB3rB,EACxD1E,EAAK,oBAAsB8D,KAAKg/C,iBAAmBh/C,KAAKg/C,iBAAiBzyB,cAAgB3rB,EACzF1E,EAAK,YAAc8D,KAAKijC,SAAWjjC,KAAKijC,SAAS1W,cAAgB3rB,EACjE1E,EAAK,aAAe8D,KAAKm/C,UAAYn/C,KAAKm/C,UAAU5yB,cAAgB3rB,EACpE1E,EAAK,kBAAoB8D,KAAKq/C,eAAiBr/C,KAAKq/C,eAAe9yB,cAAgB3rB,EACnF1E,EAAK,gBAAkB8D,KAAKu/C,aAAev/C,KAAKu/C,aAAahzB,cAAgB3rB,EAC7E1E,EAAK,gBAAkB8D,KAAKw/C,aAAex/C,KAAKw/C,aAAajzB,cAAgB3rB,EAC7E1E,EAAK,mBAAqB8D,KAAK0/C,gBAAkB1/C,KAAK0/C,gBAAgBnzB,cAAgB3rB,EACtF1E,EAAK,aAAe8D,KAAKo3B,UAAYp3B,KAAKo3B,UAAU7K,cAAgB3rB,EAC7D1E,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwhD,EAEjB,OADAxhD,EAAOivB,KAAKtwB,GACLqB,MACV,EAvC+B,GAoEvBqiD,GAAoB,8BAG7B,WAAY1jD,GAA2B,6BAC7BA,GAeT,OAdA,uBAED,SAAK4vB,GACD,wCAAWA,GACPA,IACA9rB,KAAK6/C,cAAgB/zB,EAAM,iBAAmBg0B,GAAwBt7C,OAAOsnB,EAAM,uBAAyBlrB,KAEnH,oBASD,SAAO1E,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmB8D,KAAK6/C,cAAgB7/C,KAAK6/C,cAActzB,cAAgB3rB,EAChF,0CAAa1E,GACNA,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqiD,EAEjB,OADAriD,EAAOivB,KAAKtwB,GACLqB,MACV,EAnB4B,CAAQwhD,IAiC5Be,GAAuB,WAMhC,WAAY5jD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKq7B,aAAevP,EAAM,gBAC1B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK6J,UAAYiiB,EAAM,gBAE9B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,gBAAkB8D,KAAKq7B,aAC5Bn/B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK6J,UAClB3N,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuiD,EAEjB,OADAviD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B+B,GAgDvB0hD,GAAiC,WAI1C,WAAY/iD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK+/C,aAAej0B,EAAM,gBAC1B9rB,KAAKggD,eAAiBl0B,EAAM,qBAEnC,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkB8D,KAAK+/C,aAC5B7jD,EAAK,kBAAoB8D,KAAKggD,eACvB9jD,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0hD,EAEjB,OADA1hD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzByC,GAwCjC2hD,GAAyB,WAMlC,WAAYhjD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKksC,iBAAmBpgB,EAAM,oBAC9B9rB,KAAKigD,oBAAsBn0B,EAAM,uBACjC9rB,KAAKmsC,mBAAqBrgB,EAAM,sBAChC9rB,KAAKkgD,sBAAwBp0B,EAAM,4BAE1C,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAKksC,iBAChChwC,EAAK,uBAAyB8D,KAAKigD,oBACnC/jD,EAAK,sBAAwB8D,KAAKmsC,mBAClCjwC,EAAK,yBAA2B8D,KAAKkgD,sBAC9BhkD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2hD,EAEjB,OADA3hD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BiC,GAgDzB6hD,GAA0B,WAMnC,WAAYljD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKwkB,WAAasH,EAAM,cACxB9rB,KAAKmgD,gBAAkBr0B,EAAM,mBAC7B9rB,KAAKogD,YAAct0B,EAAM,kBAEhC,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,cAAgB8D,KAAKwkB,WAC1BtoB,EAAK,mBAAqB8D,KAAKmgD,gBAC/BjkD,EAAK,eAAiB8D,KAAKogD,YACpBlkD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6hD,EAEjB,OADA7hD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BkC,GAgD1B+hD,GAA+B,WAkBxC,WAAYpjD,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKo6B,YAActO,EAAM,eACzB9rB,KAAKqgD,KAAOv0B,EAAM,QAClB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKm7B,gBAAkBrP,EAAM,mBAC7B9rB,KAAKs6B,OAASxO,EAAM,UACpB9rB,KAAKu6B,OAASzO,EAAM,UACpB9rB,KAAKw6B,SAAW1O,EAAM,YACtB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK87B,YAAchQ,EAAM,eACzB9rB,KAAK29B,WAAa7R,EAAM,cACxB9rB,KAAK06B,WAAa5O,EAAM,cACxB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKs9B,SAAWxR,EAAM,YACtB9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKy8B,UAAY3Q,EAAM,gBAE9B,oBASD,SAAO5vB,GAkBH,OAjBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,eAAiB8D,KAAKo6B,YAC3Bl+B,EAAK,QAAU8D,KAAKqgD,KACpBnkD,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,mBAAqB8D,KAAKm7B,gBAC/Bj/B,EAAK,UAAY8D,KAAKs6B,OACtBp+B,EAAK,UAAY8D,KAAKu6B,OACtBr+B,EAAK,YAAc8D,KAAKw6B,SACxBt+B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,eAAiB8D,KAAK87B,YAC3B5/B,EAAK,cAAgB8D,KAAK29B,WAC1BzhC,EAAK,cAAgB8D,KAAK06B,WAC1Bx+B,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,YAAc8D,KAAKs9B,SACxBphC,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,aAAe8D,KAAKy8B,UAClBvgC,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+hD,EAEjB,OADA/hD,EAAOivB,KAAKtwB,GACLqB,MACV,EArDuC,GAgG/B2lB,GAA0B,WAInC,WAAYhnB,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C9rB,KAAKm+B,mBAAqB,GAAU,IACQ,EADR,IACnBrS,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACT/F,KAAKm+B,mBAAoBnhC,KAAKsjD,GAAe97C,OAAOuB,KAAO,+BAEnE,GAAIF,MAAMC,QAAQgmB,EAAM,yBAA0B,CAC9C9rB,KAAKo+B,qBAAuB,GAAU,IACQ,EADR,IACrBtS,EAAM,yBAAuB,IAA9C,2BACI,KADK/lB,EAAI,QACT/F,KAAKo+B,qBAAsBphC,KAAKsjD,GAAe97C,OAAOuB,KAAO,mCAG5E,oBASD,SAAO7J,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKm+B,oBAAqB,CACxCjiC,EAAK,sBAAwB,GAAG,IACQ,EADR,IACf8D,KAAKm+B,oBAAkB,IAAxC,2BACI,KADKp4B,EAAI,QACT7J,EAAK,sBAAsBc,KAAK+I,EAAKwmB,WAAU,+BAEvD,GAAI1mB,MAAMC,QAAQ9F,KAAKo+B,sBAAuB,CAC1CliC,EAAK,wBAA0B,GAAG,IACQ,EADR,IACjB8D,KAAKo+B,sBAAoB,IAA1C,2BACI,KADKr4B,EAAI,QACT7J,EAAK,wBAAwBc,KAAK+I,EAAKwmB,WAAU,+BAEzD,OAAOrwB,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2lB,EAEjB,OADA3lB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCkC,GAwD1B+iD,GAAc,WAMvB,WAAYpkD,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0T,WAAaoY,EAAM,cACxB9rB,KAAK2V,QAAUmW,EAAM,WACrB9rB,KAAKqpB,QAAUyC,EAAM,WACrB9rB,KAAKugD,4BAA8Bz0B,EAAM,kCAEhD,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAK0T,WAC1BxX,EAAK,WAAa8D,KAAK2V,QACvBzZ,EAAK,WAAa8D,KAAKqpB,QACvBntB,EAAK,+BAAiC8D,KAAKugD,4BACpCrkD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+iD,EAEjB,OADA/iD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BsB,GAgDdkiD,GAAiC,WAI1C,WAAYvjD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,YAAa,CACjC9rB,KAAKu/B,QAAU,GAAU,IACQ,EADR,IACRzT,EAAM,YAAU,IAAjC,2BACI,KADK/lB,EAAI,QACT/F,KAAKu/B,QAASviC,KAAK+I,IAAM,+BAEjC,GAAIF,MAAMC,QAAQgmB,EAAM,aAAc,CAClC9rB,KAAKs5B,SAAW,GAAU,IACQ,EADR,IACTxN,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACT/F,KAAKs5B,SAAUt8B,KAAK+I,IAAM,mCAGzC,oBASD,SAAO7J,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKu/B,SAAU,CAC7BrjC,EAAK,WAAa,GAAG,IACQ,EADR,IACJ8D,KAAKu/B,SAAO,IAA7B,2BACI,KADKx5B,EAAI,QACT7J,EAAK,WAAWc,KAAK+I,IAAM,+BAEnC,GAAIF,MAAMC,QAAQ9F,KAAKs5B,UAAW,CAC9Bp9B,EAAK,YAAc,GAAG,IACQ,EADR,IACL8D,KAAKs5B,UAAQ,IAA9B,2BACI,KADKvzB,EAAI,QACT7J,EAAK,YAAYc,KAAK+I,IAAM,+BAEpC,OAAO7J,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkiD,EAEjB,OADAliD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCyC,GAwDjC6lB,GAA2B,WAiBpC,WAAYlnB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkCnD,OA/BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAUP,GATA9rB,KAAKi9B,UAAYnR,EAAM,aACvB9rB,KAAKwgD,WAAa10B,EAAM,cACxB9rB,KAAKygD,QAAU30B,EAAM,WACrB9rB,KAAK0gD,cAAgB50B,EAAM,iBAC3B9rB,KAAK48B,IAAM9Q,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,EAC3EZ,KAAKk9B,IAAMpR,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,EAC3EZ,KAAK08B,eAAiB5Q,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAK68B,iBAAmB/Q,EAAM,oBAC9B9rB,KAAK28B,SAAW7Q,EAAM,YAClBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKsnC,WAAa,GAAU,IACQ,EADR,IACXxb,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsnC,WAAYtqC,KAAK2jD,GAAan8C,OAAOuB,KAAO,+BAEzD/F,KAAK4gD,YAAc90B,EAAM,eACzB9rB,KAAK6gD,UAAY/0B,EAAM,aACvB9rB,KAAK8gD,UAAYh1B,EAAM,aACvB9rB,KAAK+gD,SAAWj1B,EAAM,YACtB9rB,KAAKghD,YAAcl1B,EAAM,kBAEhC,oBASD,SAAO5vB,GAWH,GAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAKi9B,UACzB/gC,EAAK,cAAgB8D,KAAKwgD,WAC1BtkD,EAAK,WAAa8D,KAAKygD,QACvBvkD,EAAK,iBAAmB8D,KAAK0gD,cAC7BxkD,EAAK,OAAS8D,KAAK48B,IAAM58B,KAAK48B,IAAI/M,aAAY,QAAajvB,EAC3D1E,EAAK,OAAS8D,KAAKk9B,IAAMl9B,KAAKk9B,IAAIrN,aAAY,QAAajvB,EAC3D1E,EAAK,kBAAoB8D,KAAK08B,eAAiB18B,KAAK08B,eAAe7M,aAAY,QAAajvB,EAC5F1E,EAAK,oBAAsB8D,KAAK68B,iBAChC3gC,EAAK,YAAc8D,KAAK28B,SACpB92B,MAAMC,QAAQ9F,KAAKsnC,YAAa,CAChCprC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKsnC,YAAU,IAAhC,2BACI,KADKvhC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,EAAKwmB,WAAU,+BAO/C,OALArwB,EAAK,eAAiB8D,KAAK4gD,YAC3B1kD,EAAK,aAAe8D,KAAK6gD,UACzB3kD,EAAK,aAAe8D,KAAK8gD,UACzB5kD,EAAK,YAAc8D,KAAK+gD,SACxB7kD,EAAK,eAAiB8D,KAAKghD,YACpB9kD,KACV,qBA7BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6lB,EAEjB,OADA7lB,EAAOivB,KAAKtwB,GACLqB,MACV,EAvDmC,GAoG3BojD,GAAY,WAUrB,WAAYzkD,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKihD,YAAcn1B,EAAM,eACzB9rB,KAAKkhD,OAASp1B,EAAM,UACpB9rB,KAAKu6B,OAASzO,EAAM,UACpB9rB,KAAKs6B,OAASxO,EAAM,UACpB9rB,KAAKw6B,SAAW1O,EAAM,YACtB9rB,KAAKmhD,OAASr1B,EAAM,UACpB9rB,KAAKohD,oBAAsBt1B,EAAM,0BAExC,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,eAAiB8D,KAAKihD,YAC3B/kD,EAAK,UAAY8D,KAAKkhD,OACtBhlD,EAAK,UAAY8D,KAAKu6B,OACtBr+B,EAAK,UAAY8D,KAAKs6B,OACtBp+B,EAAK,YAAc8D,KAAKw6B,SACxBt+B,EAAK,UAAY8D,KAAKmhD,OACtBjlD,EAAK,uBAAyB8D,KAAKohD,oBAC5BllD,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIojD,EAEjB,OADApjD,EAAOivB,KAAKtwB,GACLqB,MACV,EArCoB,GAgEZoiD,GAA0B,WAGnC,WAAYzjD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACD,GAAIA,GACIjmB,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAKglB,YAAc,GAAU,IACQ,EADR,IACZ8G,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAKglB,YAAahoB,KAAK+I,IAAM,kCAG5C,oBASD,SAAO7J,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKglB,aAAc,CACjC9oB,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAKglB,aAAW,IAAjC,2BACI,KADKjf,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAEvC,OAAO7J,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoiD,EAEjB,OADApiD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BkC,GA4C1BqiB,GAAsB,WAU/B,WAAY1jB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,oBAElC,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cACtBljC,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqiB,EAEjB,OADAriB,EAAOivB,KAAKtwB,GACLqB,MACV,EArC8B,GAgEtB8jD,GAAmB,WAI5B,WAAYnlD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKk7C,OAASpvB,EAAM,aAE3B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,UAAY8D,KAAKk7C,OACfh/C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8jD,EAEjB,OADA9jD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB2B,GAwCnByiB,GAAyB,WAalC,WAAY9jB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKshD,eAAiBx1B,EAAM,kBAC5B9rB,KAAKuhD,iBAAmBz1B,EAAM,uBAErC,oBASD,SAAO5vB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,kBAAoB8D,KAAKshD,eAC9BplD,EAAK,oBAAsB8D,KAAKuhD,iBACzBrlD,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyiB,EAEjB,OADAziB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CiC,GA4EzB2iB,GAAuB,WAchC,WAAYhkB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK46B,WAAa9O,EAAM,cACxB9rB,KAAK66B,kBAAoB/O,EAAM,qBAC/B9rB,KAAK+6B,iBAAmBjP,EAAM,oBAC9B9rB,KAAKwhD,eAAiB11B,EAAM,kBAC5B9rB,KAAKyhD,cAAgB31B,EAAM,iBAC3B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK0hD,iBAAmB51B,EAAM,oBAC9B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,oBAElC,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAK46B,WAC1B1+B,EAAK,qBAAuB8D,KAAK66B,kBACjC3+B,EAAK,oBAAsB8D,KAAK+6B,iBAChC7+B,EAAK,kBAAoB8D,KAAKwhD,eAC9BtlD,EAAK,iBAAmB8D,KAAKyhD,cAC7BvlD,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,oBAAsB8D,KAAK0hD,iBAChCxlD,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cACtBljC,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2iB,EAEjB,OADA3iB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7C+B,GAgFvBokD,GAAgB,WAOzB,WAAYzlD,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK46B,WAAa9O,EAAM,cACxB9rB,KAAK66B,kBAAoB/O,EAAM,qBAC/B9rB,KAAK+6B,iBAAmBjP,EAAM,oBAC9B9rB,KAAKwhD,eAAiB11B,EAAM,kBAC5B9rB,KAAKyhD,cAAgB31B,EAAM,oBAElC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAK46B,WAC1B1+B,EAAK,qBAAuB8D,KAAK66B,kBACjC3+B,EAAK,oBAAsB8D,KAAK+6B,iBAChC7+B,EAAK,kBAAoB8D,KAAKwhD,eAC9BtlD,EAAK,iBAAmB8D,KAAKyhD,cACtBvlD,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIokD,EAEjB,OADApkD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BwB,GAoDhBqkD,GAAW,WAKpB,WAAY1lD,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK+7B,WAAajQ,EAAM,cAAgBhZ,GAAOC,UAAU+Y,EAAM,cAAcyD,iBAAmB3uB,EAChGZ,KAAK6hD,MAAQ/1B,EAAM,YAE1B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAK+7B,WAAa/7B,KAAK+7B,WAAWlM,aAAY,QAAajvB,EAChF1E,EAAK,SAAW8D,KAAK6hD,MACd3lD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqkD,EAEjB,OADArkD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BmB,GA4CXgjB,GAAuB,WAUhC,WAAYrkB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,oBAElC,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cACtBljC,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgjB,EAEjB,OADAhjB,EAAOivB,KAAKtwB,GACLqB,MACV,EArC+B,GAgEvBukD,GAAS,WAIlB,WAAY5lD,GACR,GADyB,UACrBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKk7C,OAASpvB,EAAM,aAE3B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,UAAY8D,KAAKk7C,OACfh/C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIukD,EAEjB,OADAvkD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBiB,GAwCTojB,GAAwB,WAejC,WAAYzkB,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKq7B,aAAevP,EAAM,gBAC1B9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKy9C,YAAc3xB,EAAM,eACzB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,oBAElC,oBASD,SAAO5vB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,gBAAkB8D,KAAKq7B,aAC5Bn/B,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,eAAiB8D,KAAKy9C,YAC3BvhD,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cACtBljC,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIojB,EAEjB,OADApjB,EAAOivB,KAAKtwB,GACLqB,MACV,EA/CgC,GAoFxBwkD,GAAc,WAQvB,WAAY7lD,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKq7B,aAAevP,EAAM,gBAC1B9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,KAEnH,oBASD,SAAO1E,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,gBAAkB8D,KAAKq7B,aAC5Bn/B,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EACrF1E,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwkD,EAEjB,OADAxkD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCsB,GAwDdujB,GAAoB,WAc7B,WAAY5kB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAUP,GATA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKof,WAAa0M,EAAM,cACxB9rB,KAAKgiD,oBAAsBl2B,EAAM,uBAAyBm2B,GAAqCz9C,OAAOsnB,EAAM,6BAA+BlrB,EAC3IZ,KAAKs9C,MAAQxxB,EAAM,SAAWyxB,GAAuB/4C,OAAOsnB,EAAM,eAAiBlrB,EACnFZ,KAAKg/C,iBAAmBlzB,EAAM,oBAAsBmzB,GAAkCz6C,OAAOsnB,EAAM,0BAA4BlrB,EAC/HZ,KAAKijC,SAAWnX,EAAM,YAAcozB,GAA0B16C,OAAOsnB,EAAM,kBAAoBlrB,EAC/FZ,KAAKm/C,UAAYrzB,EAAM,aAAeszB,GAA2B56C,OAAOsnB,EAAM,mBAAqBlrB,EACnGZ,KAAKq/C,eAAiBvzB,EAAM,kBAAoBwzB,GAAgC96C,OAAOsnB,EAAM,wBAA0BlrB,EACvHZ,KAAK6/C,cAAgB/zB,EAAM,iBAAmBg0B,GAAwBt7C,OAAOsnB,EAAM,uBAAyBlrB,EACxGiF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAKkiD,YAAc,GAAU,IACQ,EADR,IACZp2B,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAKkiD,YAAallD,KAAKmlD,GAAuB39C,OAAOuB,KAAO,+BAEpE/F,KAAKoiD,UAAYt2B,EAAM,aAAeu2B,GAAwB79C,OAAOsnB,EAAM,mBAAqBlrB,EAChGZ,KAAKsiD,oBAAsBx2B,EAAM,0BAExC,oBASD,SAAO5vB,GAWH,GAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAKof,WAC1BljB,EAAK,uBAAyB8D,KAAKgiD,oBAAsBhiD,KAAKgiD,oBAAoBz1B,cAAgB3rB,EAClG1E,EAAK,SAAW8D,KAAKs9C,MAAQt9C,KAAKs9C,MAAM/wB,cAAgB3rB,EACxD1E,EAAK,oBAAsB8D,KAAKg/C,iBAAmBh/C,KAAKg/C,iBAAiBzyB,cAAgB3rB,EACzF1E,EAAK,YAAc8D,KAAKijC,SAAWjjC,KAAKijC,SAAS1W,cAAgB3rB,EACjE1E,EAAK,aAAe8D,KAAKm/C,UAAYn/C,KAAKm/C,UAAU5yB,cAAgB3rB,EACpE1E,EAAK,kBAAoB8D,KAAKq/C,eAAiBr/C,KAAKq/C,eAAe9yB,cAAgB3rB,EACnF1E,EAAK,iBAAmB8D,KAAK6/C,cAAgB7/C,KAAK6/C,cAActzB,cAAgB3rB,EAC5EiF,MAAMC,QAAQ9F,KAAKkiD,aAAc,CACjChmD,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAKkiD,aAAW,IAAjC,2BACI,KADKn8C,EAAI,QACT7J,EAAK,eAAec,KAAK+I,EAAKwmB,WAAU,+BAIhD,OAFArwB,EAAK,aAAe8D,KAAKoiD,UAAYpiD,KAAKoiD,UAAU71B,cAAgB3rB,EACpE1E,EAAK,uBAAyB8D,KAAKsiD,oBAC5BpmD,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIujB,EAEjB,OADAvjB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjD4B,GAwFpB0kD,GAAoC,WAQ7C,WAAY/lD,GACR,GADoD,UAChDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKy7B,iBAAmB3P,EAAM,oBAC9B9rB,KAAKi+B,mBAAqBnS,EAAM,sBAChC9rB,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKy9C,YAAc3xB,EAAM,kBAEhC,oBASD,SAAO5vB,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,oBAAsB8D,KAAKy7B,iBAChCv/B,EAAK,sBAAwB8D,KAAKi+B,mBAClC/hC,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,eAAiB8D,KAAKy9C,YACpBvhD,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0kD,EAEjB,OADA1kD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjC4C,GAwDpC4kD,GAAsB,WAM/B,WAAYjmD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKuiD,eAAiBz2B,EAAM,kBAC5B9rB,KAAKmtB,QAAUrB,EAAM,WACrB9rB,KAAK0+B,QAAU5S,EAAM,cAE5B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,kBAAoB8D,KAAKuiD,eAC9BrmD,EAAK,WAAa8D,KAAKmtB,QACvBjxB,EAAK,WAAa8D,KAAK0+B,QAChBxiC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4kD,EAEjB,OADA5kD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B8B,IAgDnC,SAAYy/C,GACRA,8CACAA,8CACAA,kDACAA,kDACAA,sCACAA,8BACAA,8BACAA,0CACAA,yBATJ,CAAYA,QAAmB,KAYxB,IAqsBKwF,GAMAC,GAeAC,GA1tBCL,GAAuB,WAQhC,WAAYnmD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKqnC,gBAAkBvb,EAAM,mBAC7B9rB,KAAKonC,eAAiBtb,EAAM,kBAC5B9rB,KAAK46B,WAAa9O,EAAM,cACxB9rB,KAAKy4C,aAAe3sB,EAAM,gBAC1B9rB,KAAK86B,eAAiBhP,EAAM,kBAC5B9rB,KAAKi7B,cAAgBnP,EAAM,oBAElC,oBASD,SAAO5vB,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,mBAAqB8D,KAAKqnC,gBAC/BnrC,EAAK,kBAAoB8D,KAAKonC,eAC9BlrC,EAAK,cAAgB8D,KAAK46B,WAC1B1+B,EAAK,gBAAkB8D,KAAKy4C,aAC5Bv8C,EAAK,kBAAoB8D,KAAK86B,eAC9B5+B,EAAK,iBAAmB8D,KAAKi7B,cACtB/+B,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8kD,EAEjB,OADA9kD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjC+B,GAwDvBolD,GAAkB,8BAI3B,WAAYzmD,GAAyB,6BAC3BA,GAgBT,OAfA,uBAED,SAAK4vB,GACD,wCAAWA,GACPA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKgiD,oBAAsBl2B,EAAM,uBAAyBm2B,GAAqCz9C,OAAOsnB,EAAM,6BAA+BlrB,KAElJ,oBASD,SAAO1E,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,uBAAyB8D,KAAKgiD,oBAAsBhiD,KAAKgiD,oBAAoBz1B,cAAgB3rB,EAClG,0CAAa1E,GACNA,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIolD,EAEjB,OADAplD,EAAOivB,KAAKtwB,GACLqB,MACV,EArB0B,CAAQwhD,IAqC1B99B,GAAqB,WAoB9B,WAAY/kB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK4iD,UAAY92B,EAAM,aACvB9rB,KAAKof,WAAa0M,EAAM,cACxB9rB,KAAK0+C,gBAAkB5yB,EAAM,mBAC7B9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK+7B,WAAajQ,EAAM,cAAgBhZ,GAAOC,UAAU+Y,EAAM,cAAcyD,iBAAmB3uB,EAChGZ,KAAKm8B,aAAerQ,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAK6hD,MAAQ/1B,EAAM,YAE1B,oBASD,SAAO5vB,GAoBH,OAnBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,aAAe8D,KAAK4iD,UACzB1mD,EAAK,cAAgB8D,KAAKof,WAC1BljB,EAAK,mBAAqB8D,KAAK0+C,gBAC/BxiD,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,cAAgB8D,KAAK+7B,WAAa/7B,KAAK+7B,WAAWlM,aAAY,QAAajvB,EAChF1E,EAAK,gBAAkB8D,KAAKm8B,aAAen8B,KAAKm8B,aAAatM,aAAY,QAAajvB,EACtF1E,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,SAAW8D,KAAK6hD,MACd3lD,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0jB,EAEjB,OADA1jB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzD6B,GAwGrB6jB,GAAoB,WAI7B,WAAYllB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,WAAW,CAC/B9rB,KAAKwf,MAAQ,GAAU,IACQ,EADR,IACNsM,EAAM,UAAQ,IAA/B,2BACI,KADK/lB,EAAI,QACT/F,KAAKwf,MAAOxiB,KAAK6lD,GAAYr+C,OAAOuB,KAAO,kCAG1D,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKwf,OAAQ,CAC3BtjB,EAAK,SAAW,GAAG,IACQ,EADR,IACF8D,KAAKwf,OAAK,IAA3B,2BACI,KADKzZ,EAAI,QACT7J,EAAK,SAASc,KAAK+I,EAAKwmB,WAAU,+BAE1C,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6jB,EAEjB,OADA7jB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B4B,GAgDpBslD,GAAW,WAkDpB,WAAY3mD,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmEnD,OAhEA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKiE,OAAS6nB,EAAM,UACpB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK26B,aAAe7O,EAAM,gBAC1B9rB,KAAK06B,WAAa5O,EAAM,cACxB9rB,KAAK49B,aAAe9R,EAAM,gBAC1B9rB,KAAK29B,WAAa7R,EAAM,cACxB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAK8iD,gBAAkBh3B,EAAM,mBAC7B9rB,KAAKq7B,aAAevP,EAAM,gBAC1B9rB,KAAK+iD,uBAAyBj3B,EAAM,0BACpC9rB,KAAKgjD,SAAWl3B,EAAM,YACtB9rB,KAAKonC,eAAiBtb,EAAM,kBAC5B9rB,KAAKqnC,gBAAkBvb,EAAM,mBAC7B9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKk7B,YAAcpP,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAK+7B,WAAajQ,EAAM,cAAgBhZ,GAAOC,UAAU+Y,EAAM,cAAcyD,iBAAmB3uB,EAChGZ,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm8B,aAAerQ,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKijD,kBAAoBn3B,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKm3B,UAAYrL,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKkjD,sBAAwBp3B,EAAM,yBAA2BhZ,GAAOC,UAAU+Y,EAAM,yBAAyByD,iBAAmB3uB,EACjIZ,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK87B,YAAchQ,EAAM,eACzB9rB,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAK6hD,MAAQ/1B,EAAM,SACnB9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKszB,cAAgBxH,EAAM,iBAC3B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAKyzB,gBAAkB3H,EAAM,mBAC7B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKmjD,wBAA0Br3B,EAAM,2BACrC9rB,KAAKojD,0BAA4Bt3B,EAAM,6BACvC9rB,KAAKy7B,iBAAmB3P,EAAM,oBAC1BjmB,MAAMC,QAAQgmB,EAAM,gCAAgC,CACpD9rB,KAAKqjD,2BAA6B,GAAU,IACQ,EADR,IAC3Bv3B,EAAM,+BAA6B,IAApD,2BACI,KADK/lB,EAAI,QACT/F,KAAKqjD,2BAA4BrmD,KAAKsmD,GAA0B9+C,OAAOuB,KAAO,kCAG7F,oBASD,SAAO7J,GAiDH,GAhDAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,UAAY8D,KAAKiE,OACtB/H,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,gBAAkB8D,KAAK26B,aAC5Bz+B,EAAK,cAAgB8D,KAAK06B,WAC1Bx+B,EAAK,gBAAkB8D,KAAK49B,aAC5B1hC,EAAK,cAAgB8D,KAAK29B,WAC1BzhC,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,mBAAqB8D,KAAK8iD,gBAC/B5mD,EAAK,gBAAkB8D,KAAKq7B,aAC5Bn/B,EAAK,0BAA4B8D,KAAK+iD,uBACtC7mD,EAAK,YAAc8D,KAAKgjD,SACxB9mD,EAAK,kBAAoB8D,KAAKonC,eAC9BlrC,EAAK,mBAAqB8D,KAAKqnC,gBAC/BnrC,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,eAAiB8D,KAAKk7B,YAAcl7B,KAAKk7B,YAAYrL,aAAY,QAAajvB,EACnF1E,EAAK,cAAgB8D,KAAK+7B,WAAa/7B,KAAK+7B,WAAWlM,aAAY,QAAajvB,EAChF1E,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,gBAAkB8D,KAAKm8B,aAAen8B,KAAKm8B,aAAatM,aAAY,QAAajvB,EACtF1E,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,qBAAuB8D,KAAKijD,kBAAoBjjD,KAAKijD,kBAAkBpzB,aAAY,QAAajvB,EACrG1E,EAAK,aAAe8D,KAAKm3B,UAAYn3B,KAAKm3B,UAAUtH,aAAY,QAAajvB,EAC7E1E,EAAK,yBAA2B8D,KAAKkjD,sBAAwBljD,KAAKkjD,sBAAsBrzB,aAAY,QAAajvB,EACjH1E,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,eAAiB8D,KAAK87B,YAC3B5/B,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,SAAW8D,KAAK6hD,MACrB3lD,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKszB,cAC7Bp3B,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAKyzB,gBAC/Bv3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,2BAA6B8D,KAAKmjD,wBACvCjnD,EAAK,6BAA+B8D,KAAKojD,0BACzClnD,EAAK,oBAAsB8D,KAAKy7B,iBAC5B51B,MAAMC,QAAQ9F,KAAKqjD,4BAA6B,CAChDnnD,EAAK,8BAAgC,GAAG,IACQ,EADR,IACvB8D,KAAKqjD,4BAA0B,IAAhD,2BACI,KADKt9C,EAAI,QACT7J,EAAK,8BAA8Bc,KAAK+I,EAAKwmB,WAAU,+BAE/D,OAAOrwB,KACV,qBA9DD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIslD,EAEjB,OADAtlD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzHmB,GAwOX+lD,GAAyB,WAKlC,WAAYpnD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKq0B,MAAQvI,EAAM,SACnB9rB,KAAK0jB,UAAYoI,EAAM,gBAE9B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,SAAW8D,KAAKq0B,MACrBn4B,EAAK,aAAe8D,KAAK0jB,UAClBxnB,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+lD,EAEjB,OADA/lD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BiC,GA4CzBgmD,GAA8B,WAOvC,WAAYrnD,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKwjD,mBAAqB13B,EAAM,sBAAwB23B,GAAsBj/C,OAAOsnB,EAAM,4BAA8BlrB,EACzHZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,sBAAwB8D,KAAKwjD,mBAAqBxjD,KAAKwjD,mBAAmBj3B,cAAgB3rB,EAC/F1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgmD,EAEjB,OADAhmD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BsC,GAoD9BkmD,GAAqB,WAwB9B,WAAYvnD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6CnD,OA1CA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAMP,GALA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK87B,YAAchQ,EAAM,eACzB9rB,KAAK6hD,MAAQ/1B,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,aAAc,CAClC9rB,KAAK0jD,SAAW,GAAU,IACQ,EADR,IACT53B,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACT/F,KAAK0jD,SAAU1mD,KAAK+I,IAAM,+BAMlC,GAJA/F,KAAK2jD,qBAAuB73B,EAAM,wBAClC9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK29B,WAAa7R,EAAM,cACxB9rB,KAAK06B,WAAa5O,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,cAAe,CACnC9rB,KAAK0jB,UAAY,GAAU,IACQ,EADR,IACVoI,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAK0jB,UAAW1mB,KAAK+I,IAAM,+BAEnC/F,KAAKq5C,qBAAuBvtB,EAAM,wBAClC9rB,KAAKu5C,sBAAwBztB,EAAM,yBACnC9rB,KAAK4jD,wBAA0B93B,EAAM,2BACrC9rB,KAAKs5C,uBAAyBxtB,EAAM,0BACpC9rB,KAAKw5C,wBAA0B1tB,EAAM,2BACrC9rB,KAAK6jD,0BAA4B/3B,EAAM,6BACvC9rB,KAAK8jD,eAAiBh4B,EAAM,kBAC5B9rB,KAAK+jD,mBAAqBj4B,EAAM,sBAChC9rB,KAAKgkD,sBAAwBl4B,EAAM,yBACnC9rB,KAAKikD,cAAgBn4B,EAAM,iBAC3B9rB,KAAKkkD,cAAgBp4B,EAAM,oBAElC,oBASD,SAAO5vB,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,eAAiB8D,KAAK87B,YAC3B5/B,EAAK,SAAW8D,KAAK6hD,MACjBh8C,MAAMC,QAAQ9F,KAAK0jD,UAAW,CAC9BxnD,EAAK,YAAc,GAAG,IACQ,EADR,IACL8D,KAAK0jD,UAAQ,IAA9B,2BACI,KADK39C,EAAI,QACT7J,EAAK,YAAYc,KAAK+I,IAAM,+BAMpC,GAJA7J,EAAK,wBAA0B8D,KAAK2jD,qBACpCznD,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,cAAgB8D,KAAK29B,WAC1BzhC,EAAK,cAAgB8D,KAAK06B,WACtB70B,MAAMC,QAAQ9F,KAAK0jB,WAAY,CAC/BxnB,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAK0jB,WAAS,IAA/B,2BACI,KADK3d,EAAI,QACT7J,EAAK,aAAac,KAAK+I,IAAM,+BAarC,OAXA7J,EAAK,wBAA0B8D,KAAKq5C,qBACpCn9C,EAAK,yBAA2B8D,KAAKu5C,sBACrCr9C,EAAK,2BAA6B8D,KAAK4jD,wBACvC1nD,EAAK,0BAA4B8D,KAAKs5C,uBACtCp9C,EAAK,2BAA6B8D,KAAKw5C,wBACvCt9C,EAAK,6BAA+B8D,KAAK6jD,0BACzC3nD,EAAK,kBAAoB8D,KAAK8jD,eAC9B5nD,EAAK,sBAAwB8D,KAAK+jD,mBAClC7nD,EAAK,yBAA2B8D,KAAKgkD,sBACrC9nD,EAAK,iBAAmB8D,KAAKikD,cAC7B/nD,EAAK,iBAAmB8D,KAAKkkD,cACtBhoD,KACV,qBAxCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkmD,EAEjB,OADAlmD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzE6B,IAwIlC,SAAYilD,GACRA,wCACAA,4CACAA,+BAHJ,CAAYA,QAAoB,KAMhC,SAAYC,GACRA,4BACAA,0CACAA,kCACAA,kCACAA,oCACAA,sCACAA,8CACAA,0CACAA,8CACAA,mDACAA,iDACAA,iCAZJ,CAAYA,QAAkB,KAe9B,SAAYC,GACRA,kBACAA,oCACAA,kCACAA,wCACAA,kCACAA,sCACAA,sCACAA,sCACAA,sBACAA,qCACAA,yCACAA,2CACAA,6CACAA,iCACAA,yBACAA,iCACAA,iDACAA,iDACAA,iEACAA,uDACAA,yDACAA,yDACAA,6DACAA,2DACAA,6DACAA,6DACAA,iEACAA,6BACAA,6CACAA,2CACAA,2DACAA,uCACAA,uDACAA,+CACAA,+DACAA,2CACAA,2DACAA,qCACAA,qDACAA,mCACAA,mDACAA,+CACAA,+DACAA,uCACAA,uDACAA,mDACAA,mEACAA,+CACAA,yDACAA,6CAlDJ,CAAYA,QAAW,KAqDhB,IA4FKyB,GA5FC7iC,GAAgC,WAIzC,WAAYplB,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKsO,OAASwd,EAAM,UAChBjmB,MAAMC,QAAQgmB,EAAM,oBAAoB,CACxC9rB,KAAKokD,eAAiB,GAAU,IACQ,EADR,IACft4B,EAAM,mBAAiB,IAAxC,2BACI,KADK/lB,EAAI,QACT/F,KAAKokD,eAAgBpnD,KAAKqnD,GAAwB7/C,OAAOuB,KAAO,kCAG/E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OAClBzI,MAAMC,QAAQ9F,KAAKokD,gBAAiB,CACpCloD,EAAK,kBAAoB,GAAG,IACQ,EADR,IACX8D,KAAKokD,gBAAc,IAApC,2BACI,KADKr+C,EAAI,QACT7J,EAAK,kBAAkBc,KAAK+I,EAAKwmB,WAAU,+BAEnD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+jB,EAEjB,OADA/jB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BwC,GAgDhC8mD,GAAuB,WAKhC,WAAYnoD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKskD,QAAUx4B,EAAM,WACrB9rB,KAAKukD,WAAaz4B,EAAM,cACxB9rB,KAAKwkD,OAAS14B,EAAM,aAE3B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAKskD,QACvBpoD,EAAK,cAAgB8D,KAAKukD,WAC1BroD,EAAK,UAAY8D,KAAKwkD,OACftoD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8mD,EAEjB,OADA9mD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3B+B,IA4CpC,SAAY4mD,GACRA,kCACAA,sBACAA,sBACAA,4BACAA,0BACAA,wBACAA,4BACAA,8CACAA,0CACAA,+CACAA,mDACAA,2BACAA,uCACAA,uBACAA,6BACAA,iCACAA,6CACAA,yCACAA,6CACAA,6CACAA,0DArBJ,CAAYA,QAAoB,KAwBzB,IA4CKM,GA5CCjjC,GAAW,WAKpB,WAAYtlB,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK0kD,WAAa54B,EAAM,cACxB9rB,KAAKgsC,YAAclgB,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAK0kD,WAC1BxoD,EAAK,eAAiB8D,KAAKgsC,YACpB9vC,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIikB,EAEjB,OADAjkB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BmB,IA4CxB,SAAYknD,GACRA,8BACAA,kCACAA,qDAHJ,CAAYA,QAAU,KAMf,IA4iBKE,GA5iBCC,GAAW,WAepB,WAAY1oD,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKy7B,iBAAmB3P,EAAM,oBAC9B9rB,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKi+B,mBAAqBnS,EAAM,sBAChC9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKs9B,SAAWxR,EAAM,YACtB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAK29B,WAAa7R,EAAM,cACxB9rB,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAKoiD,UAAYt2B,EAAM,aAAe61B,GAAiBn9C,OAAOsnB,EAAM,mBAAqBlrB,EACzFZ,KAAKq6B,QAAUvO,EAAM,cAE5B,oBASD,SAAO5vB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,oBAAsB8D,KAAKy7B,iBAChCv/B,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,sBAAwB8D,KAAKi+B,mBAClC/hC,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,YAAc8D,KAAKs9B,SACxBphC,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,cAAgB8D,KAAK29B,WAC1BzhC,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,aAAe8D,KAAKoiD,UAAYpiD,KAAKoiD,UAAU71B,cAAgB3rB,EACpE1E,EAAK,WAAa8D,KAAKq6B,QAChBn+B,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqnD,EAEjB,OADArnD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/CmB,GAoFXukB,GAAqB,WA4B9B,WAAY5lB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiDnD,OA9CA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAgBP,GAfA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAK29B,WAAa7R,EAAM,cACxB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKshD,eAAiBx1B,EAAM,kBAC5B9rB,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKuhD,iBAAmBz1B,EAAM,oBAC9B9rB,KAAKm9B,0BAA4BrR,EAAM,6BACvC9rB,KAAKg+B,4BAA8BlS,EAAM,+BACrCjmB,MAAMC,QAAQgmB,EAAM,cAAe,CACnC9rB,KAAK+9C,UAAY,GAAU,IACQ,EADR,IACVjyB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAK+9C,UAAW/gD,KAAK6nD,GAAkBrgD,OAAOuB,KAAO,+BAE7D,GAAIF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAKkiD,YAAc,GAAU,IACQ,EADR,IACZp2B,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAKkiD,YAAallD,KAAKmlD,GAAuB39C,OAAOuB,KAAO,+BAEpE/F,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKs9B,SAAWxR,EAAM,YACtB9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKsiD,oBAAsBx2B,EAAM,uBACjC9rB,KAAKy8B,UAAY3Q,EAAM,gBAE9B,oBASD,SAAO5vB,GAiBH,GAhBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,cAAgB8D,KAAK29B,WAC1BzhC,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,kBAAoB8D,KAAKshD,eAC9BplD,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,oBAAsB8D,KAAKuhD,iBAChCrlD,EAAK,6BAA+B8D,KAAKm9B,0BACzCjhC,EAAK,+BAAiC8D,KAAKg+B,4BACvCn4B,MAAMC,QAAQ9F,KAAK+9C,WAAY,CAC/B7hD,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAK+9C,WAAS,IAA/B,2BACI,KADKh4C,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAE9C,GAAI1mB,MAAMC,QAAQ9F,KAAKkiD,aAAc,CACjChmD,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAKkiD,aAAW,IAAjC,2BACI,KADKn8C,EAAI,QACT7J,EAAK,eAAec,KAAK+I,EAAKwmB,WAAU,+BAWhD,OATArwB,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,YAAc8D,KAAKs9B,SACxBphC,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,uBAAyB8D,KAAKsiD,oBACnCpmD,EAAK,aAAe8D,KAAKy8B,UAClBvgC,KACV,qBA5CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIukB,EAEjB,OADAvkB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjF6B,GAwJrBsnD,GAAiB,WAM1B,WAAY3oD,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK8kD,qBAAuBh5B,EAAM,wBAClC9rB,KAAK+kD,kBAAoBj5B,EAAM,qBAC/B9rB,KAAKglD,mBAAqBl5B,EAAM,yBAEvC,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,wBAA0B8D,KAAK8kD,qBACpC5oD,EAAK,qBAAuB8D,KAAK+kD,kBACjC7oD,EAAK,sBAAwB8D,KAAKglD,mBAC3B9oD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsnD,EAEjB,OADAtnD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7ByB,GAgDjB0nD,GAAc,WAKvB,WAAY/oD,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKklD,YAAcp5B,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAK2jB,SAAWmI,EAAM,eAE7B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKklD,YAAcllD,KAAKklD,YAAYr1B,aAAY,QAAajvB,EACnF1E,EAAK,YAAc8D,KAAK2jB,SACjBznB,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0nD,EAEjB,OADA1nD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BsB,GA4Cd0kB,GAAwB,WAajC,WAAY/lB,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA8BnD,OA3BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAKP,GAJA9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAK+7B,WAAajQ,EAAM,cAAgBhZ,GAAOC,UAAU+Y,EAAM,cAAcyD,iBAAmB3uB,EAC5FiF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAKkiD,YAAc,GAAU,IACQ,EADR,IACZp2B,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAKkiD,YAAallD,KAAKmlD,GAAuB39C,OAAOuB,KAAO,+BAEpE/F,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKuhD,iBAAmBz1B,EAAM,uBAErC,oBASD,SAAO5vB,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,cAAgB8D,KAAK+7B,WAAa/7B,KAAK+7B,WAAWlM,aAAY,QAAajvB,EAC5EiF,MAAMC,QAAQ9F,KAAKkiD,aAAc,CACjChmD,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAKkiD,aAAW,IAAjC,2BACI,KADKn8C,EAAI,QACT7J,EAAK,eAAec,KAAK+I,EAAKwmB,WAAU,+BAQhD,OANArwB,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,oBAAsB8D,KAAKuhD,iBACzBrlD,KACV,qBAzBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0kB,EAEjB,OADA1kB,EAAOivB,KAAKtwB,GACLqB,MACV,EA/CgC,GAoFxB6kB,GAAyB,WAMlC,WAAYlmB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKm8B,aAAerQ,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKw+C,UAAY1yB,EAAM,aACvB9rB,KAAKmlD,IAAMr5B,EAAM,OACjB9rB,KAAKolD,IAAMt5B,EAAM,UAExB,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkB8D,KAAKm8B,aAAen8B,KAAKm8B,aAAatM,aAAY,QAAajvB,EACtF1E,EAAK,aAAe8D,KAAKw+C,UACzBtiD,EAAK,OAAS8D,KAAKmlD,IACnBjpD,EAAK,OAAS8D,KAAKolD,IACZlpD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6kB,EAEjB,OADA7kB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BiC,GAgDzB+kB,GAAe,WAIxB,WAAYpmB,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAKqlD,YAAc,GAAU,IACQ,EADR,IACZv5B,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAKqlD,YAAaroD,KAAKikB,GAAsBzc,OAAOuB,KAAO,+BAEnE,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKslD,WAAa,GAAU,IACQ,EADR,IACXx5B,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKslD,WAAYtoD,KAAKikB,GAAsBzc,OAAOuB,KAAO,mCAGzE,oBASD,SAAO7J,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKqlD,aAAc,CACjCnpD,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAKqlD,aAAW,IAAjC,2BACI,KADKt/C,EAAI,QACT7J,EAAK,eAAec,KAAK+I,EAAKwmB,WAAU,+BAEhD,GAAI1mB,MAAMC,QAAQ9F,KAAKslD,YAAa,CAChCppD,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKslD,YAAU,IAAhC,2BACI,KADKv/C,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,EAAKwmB,WAAU,+BAE/C,OAAOrwB,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+kB,EAEjB,OADA/kB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCuB,GAwDfilB,GAAmB,WAI5B,WAAYtmB,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK2F,KAAOmmB,EAAM,WAEzB,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,QAAU8D,KAAK2F,KACbzJ,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIilB,EAEjB,OADAjlB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB2B,IAwChC,SAAYonD,GACRA,oCACAA,yCAFJ,CAAYA,QAAgB,KAKrB,IAqCKY,GArCC5iC,GAAY,8BAIrB,WAAYzmB,GAAmB,6BACrBA,GAgBT,OAfA,uBAED,SAAK4vB,GACD,wCAAWA,GACPA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKwlD,KAAO15B,EAAM,WAEzB,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,QAAU8D,KAAKwlD,KACpB,0CAAatpD,GACNA,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIolB,EAEjB,OADAplB,EAAOivB,KAAKtwB,GACLqB,MACV,EArBoB,CAAQilB,KAqCjC,SAAY+iC,GACRA,oBACAA,wBACAA,qBAHJ,CAAYA,QAAc,KAMnB,IAwzBKE,GAxzBCziC,GAAmB,WAS5B,WAAY9mB,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKiE,OAAS6nB,EAAM,UACpB9rB,KAAK4iD,UAAY92B,EAAM,aACvB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKy8B,UAAY3Q,EAAM,gBAE9B,oBASD,SAAO5vB,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,UAAY8D,KAAKiE,OACtB/H,EAAK,aAAe8D,KAAK4iD,UACzB1mD,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAKy8B,UAClBvgC,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIylB,EAEjB,OADAzlB,EAAOivB,KAAKtwB,GACLqB,MACV,EAnC2B,GA4DnB+lB,GAAqB,WAW9B,WAAYpnB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKsH,KAAOwkB,EAAM,QAClB9rB,KAAKmyB,SAAWrG,EAAM,YACtB9rB,KAAK0lD,UAAY55B,EAAM,aACvB9rB,KAAKosB,UAAYN,EAAM,aACvB9rB,KAAKwkD,OAAS14B,EAAM,UACpB9rB,KAAK2lD,UAAY75B,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKywB,YAAc3E,EAAM,eACzB9rB,KAAKu+B,IAAMzS,EAAM,UAExB,oBASD,SAAO5vB,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,QAAU8D,KAAKsH,KACpBpL,EAAK,YAAc8D,KAAKmyB,SACxBj2B,EAAK,aAAe8D,KAAK0lD,UACzBxpD,EAAK,aAAe8D,KAAKosB,UACzBlwB,EAAK,UAAY8D,KAAKwkD,OACtBtoD,EAAK,aAAe8D,KAAK2lD,UAAY3lD,KAAK2lD,UAAU91B,aAAY,QAAajvB,EAC7E1E,EAAK,eAAiB8D,KAAKywB,YAC3Bv0B,EAAK,OAAS8D,KAAKu+B,IACZriC,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+lB,EAEjB,OADA/lB,EAAOivB,KAAKtwB,GACLqB,MACV,EAvC6B,GAoErBimB,GAAc,WAOvB,WAAYtnB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK4lD,SAAW95B,EAAM,YACtB9rB,KAAK6lD,YAAc/5B,EAAM,eACzB9rB,KAAK8lD,aAAeh6B,EAAM,gBAC1B9rB,KAAK+lD,UAAYj6B,EAAM,aACvB9rB,KAAKgmD,YAAcl6B,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,KAE1G,oBASD,SAAO1E,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAK4lD,SACxB1pD,EAAK,eAAiB8D,KAAK6lD,YAC3B3pD,EAAK,gBAAkB8D,KAAK8lD,aAC5B5pD,EAAK,aAAe8D,KAAK+lD,UACzB7pD,EAAK,eAAiB8D,KAAKgmD,YAAchmD,KAAKgmD,YAAYn2B,aAAY,QAAajvB,EAC5E1E,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIimB,EAEjB,OADAjmB,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BsB,GAoDdkmB,GAAc,WAUvB,WAAYvnB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKof,WAAa0M,EAAM,cACxB9rB,KAAKimD,WAAan6B,EAAM,cAAgBo6B,GAAyB1hD,OAAOsnB,EAAM,oBAAsBlrB,EACpGZ,KAAKs9C,MAAQxxB,EAAM,SAAWq6B,GAAoB3hD,OAAOsnB,EAAM,eAAiBlrB,EAChFZ,KAAKomD,aAAet6B,EAAM,gBAAkBu6B,GAA2B7hD,OAAOsnB,EAAM,sBAAwBlrB,EAC5GZ,KAAKsmD,QAAUx6B,EAAM,WAAay6B,GAAsB/hD,OAAOsnB,EAAM,iBAAmBlrB,EACxFZ,KAAKoiD,UAAYt2B,EAAM,aAAeu2B,GAAwB79C,OAAOsnB,EAAM,mBAAqBlrB,EAChGZ,KAAKsiD,oBAAsBx2B,EAAM,0BAExC,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,cAAgB8D,KAAKof,WAC1BljB,EAAK,cAAgB8D,KAAKimD,WAAajmD,KAAKimD,WAAW15B,cAAgB3rB,EACvE1E,EAAK,SAAW8D,KAAKs9C,MAAQt9C,KAAKs9C,MAAM/wB,cAAgB3rB,EACxD1E,EAAK,gBAAkB8D,KAAKomD,aAAepmD,KAAKomD,aAAa75B,cAAgB3rB,EAC7E1E,EAAK,WAAa8D,KAAKsmD,QAAUtmD,KAAKsmD,QAAQ/5B,cAAgB3rB,EAC9D1E,EAAK,aAAe8D,KAAKoiD,UAAYpiD,KAAKoiD,UAAU71B,cAAgB3rB,EACpE1E,EAAK,uBAAyB8D,KAAKsiD,oBAC5BpmD,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkmB,EAEjB,OADAlmB,EAAOivB,KAAKtwB,GACLqB,MACV,EArCsB,GAgEd2oD,GAAwB,WAmBjC,WAAYhqD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKwN,eAAiBse,EAAM,kBAC5B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKqgC,cAAgBvU,EAAM,iBAC3B9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKy+C,cAAgB3yB,EAAM,iBAC3B9rB,KAAKwkB,WAAasH,EAAM,cACxB9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAK0+C,gBAAkB5yB,EAAM,mBAC7B9rB,KAAK2+C,aAAe7yB,EAAM,gBAC1B9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKwmD,SAAW16B,EAAM,YACtB9rB,KAAKq7B,aAAevP,EAAM,gBAC1B9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKymD,oBAAsB36B,EAAM,uBACjC9rB,KAAKw0B,aAAe1I,EAAM,gBAC1B9rB,KAAKy4C,aAAe3sB,EAAM,mBAEjC,oBASD,SAAO5vB,GAmBH,OAlBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,kBAAoB8D,KAAKwN,eAC9BtR,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,iBAAmB8D,KAAKqgC,cAC7BnkC,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,iBAAmB8D,KAAKy+C,cAC7BviD,EAAK,cAAgB8D,KAAKwkB,WAC1BtoB,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,mBAAqB8D,KAAK0+C,gBAC/BxiD,EAAK,gBAAkB8D,KAAK2+C,aAC5BziD,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,YAAc8D,KAAKwmD,SACxBtqD,EAAK,gBAAkB8D,KAAKq7B,aAC5Bn/B,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,uBAAyB8D,KAAKymD,oBACnCvqD,EAAK,gBAAkB8D,KAAKw0B,aAC5Bt4B,EAAK,gBAAkB8D,KAAKy4C,aACrBv8C,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2oD,EAEjB,OADA3oD,EAAOivB,KAAKtwB,GACLqB,MACV,EAvDgC,GAoGxB4oD,GAAmB,WAkB5B,WAAYjqD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmCnD,OAhCA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKw9C,gBAAkB1xB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKk7B,YAAcpP,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAKi1B,OAASnJ,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKk1B,UAAYpJ,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAK+/C,aAAej0B,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKggD,eAAiBl0B,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAK09C,sBAAwB5xB,EAAM,yBACnC9rB,KAAK29C,wBAA0B7xB,EAAM,2BACrC9rB,KAAKy7B,iBAAmB3P,EAAM,oBAC9B9rB,KAAKi+B,mBAAqBnS,EAAM,sBAChC9rB,KAAKkjD,sBAAwBp3B,EAAM,yBAA2BhZ,GAAOC,UAAU+Y,EAAM,yBAAyByD,iBAAmB3uB,EAC7HiF,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC9rB,KAAK0mD,aAAe,GAAU,IACQ,EADR,IACb56B,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAK0mD,aAAc1pD,KAAK2pD,GAA0BniD,OAAOuB,KAAO,kCAG/E,oBASD,SAAO7J,GAiBH,GAhBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,mBAAqB8D,KAAKw9C,gBAAkBx9C,KAAKw9C,gBAAgB3tB,aAAY,QAAajvB,EAC/F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,eAAiB8D,KAAKk7B,YAAcl7B,KAAKk7B,YAAYrL,aAAY,QAAajvB,EACnF1E,EAAK,UAAY8D,KAAKi1B,OAASj1B,KAAKi1B,OAAOpF,aAAY,QAAajvB,EACpE1E,EAAK,aAAe8D,KAAKk1B,UAAYl1B,KAAKk1B,UAAUrF,aAAY,QAAajvB,EAC7E1E,EAAK,gBAAkB8D,KAAK+/C,aAAe//C,KAAK+/C,aAAalwB,aAAY,QAAajvB,EACtF1E,EAAK,kBAAoB8D,KAAKggD,eAAiBhgD,KAAKggD,eAAenwB,aAAY,QAAajvB,EAC5F1E,EAAK,yBAA2B8D,KAAK09C,sBACrCxhD,EAAK,2BAA6B8D,KAAK29C,wBACvCzhD,EAAK,oBAAsB8D,KAAKy7B,iBAChCv/B,EAAK,sBAAwB8D,KAAKi+B,mBAClC/hC,EAAK,yBAA2B8D,KAAKkjD,sBAAwBljD,KAAKkjD,sBAAsBrzB,aAAY,QAAajvB,EAC7GiF,MAAMC,QAAQ9F,KAAK0mD,cAAe,CAClCxqD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAK0mD,cAAY,IAAlC,2BACI,KADK3gD,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,EAAKwmB,WAAU,+BAEjD,OAAOrwB,KACV,qBA9BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4oD,EAEjB,OADA5oD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzD2B,GAwGnBopD,GAAyB,WAKlC,WAAYzqD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK4mD,UAAY96B,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAK6mD,QAAU/6B,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAK8mD,gBAAkBh7B,EAAM,sBAEpC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK4mD,UAAY5mD,KAAK4mD,UAAU/2B,aAAY,QAAajvB,EAC7E1E,EAAK,WAAa8D,KAAK6mD,QAAU7mD,KAAK6mD,QAAQh3B,aAAY,QAAajvB,EACvE1E,EAAK,mBAAqB8D,KAAK8mD,gBACxB5qD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIopD,EAEjB,OADAppD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BiC,GA4CzB8oD,GAA0B,WAsBnC,WAAYnqD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmCnD,OAhCA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAK0vB,aAAe5D,EAAM,gBAC1B9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAK26B,aAAe7O,EAAM,gBAC1B9rB,KAAK06B,WAAa5O,EAAM,cACxB9rB,KAAK49B,aAAe9R,EAAM,gBAC1B9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKo6B,YAActO,EAAM,eACzB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKm7B,gBAAkBrP,EAAM,mBAC7B9rB,KAAK67B,KAAO/P,EAAM,QAClB9rB,KAAK87B,YAAchQ,EAAM,eACzB9rB,KAAKqgD,KAAOv0B,EAAM,QAClB9rB,KAAKs9B,SAAWxR,EAAM,YACtB9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK+mD,eAAiBj7B,EAAM,kBAC5B9rB,KAAKwoB,QAAUsD,EAAM,WACrB9rB,KAAKy8B,UAAY3Q,EAAM,gBAE9B,oBASD,SAAO5vB,GAsBH,OArBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,gBAAkB8D,KAAK0vB,aAC5BxzB,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,gBAAkB8D,KAAK26B,aAC5Bz+B,EAAK,cAAgB8D,KAAK06B,WAC1Bx+B,EAAK,gBAAkB8D,KAAK49B,aAC5B1hC,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,eAAiB8D,KAAKo6B,YAC3Bl+B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,mBAAqB8D,KAAKm7B,gBAC/Bj/B,EAAK,QAAU8D,KAAK67B,KACpB3/B,EAAK,eAAiB8D,KAAK87B,YAC3B5/B,EAAK,QAAU8D,KAAKqgD,KACpBnkD,EAAK,YAAc8D,KAAKs9B,SACxBphC,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,kBAAoB8D,KAAK+mD,eAC9B7qD,EAAK,WAAa8D,KAAKwoB,QACvBtsB,EAAK,aAAe8D,KAAKy8B,UAClBvgC,KACV,qBA9BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8oD,EAEjB,OADA9oD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7DkC,GAgH1BgpD,GAAqB,WAM9B,WAAYrqD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKs6B,OAASxO,EAAM,UACpB9rB,KAAKu6B,OAASzO,EAAM,UACpB9rB,KAAKw6B,SAAW1O,EAAM,YACtB9rB,KAAKogD,YAAct0B,EAAM,kBAEhC,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKs6B,OACtBp+B,EAAK,UAAY8D,KAAKu6B,OACtBr+B,EAAK,YAAc8D,KAAKw6B,SACxBt+B,EAAK,eAAiB8D,KAAKogD,YACpBlkD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgpD,EAEjB,OADAhpD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B6B,GAgDrBumB,GAAW,WA0BpB,WAAY5nB,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK46B,WAAa9O,EAAM,cACxB9rB,KAAK++B,UAAYjT,EAAM,aACvB9rB,KAAKg/B,aAAelT,EAAM,gBAC1B9rB,KAAKw0B,aAAe1I,EAAM,gBAC1B9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAKi0B,WAAanI,EAAM,cACxB9rB,KAAKi/B,YAAcnT,EAAM,eACzB9rB,KAAKk/B,WAAapT,EAAM,cACxB9rB,KAAKm/B,WAAarT,EAAM,cACxB9rB,KAAKs9B,SAAWxR,EAAM,YACtB9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKshC,QAAUxV,EAAM,WACrB9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKs/B,UAAYxT,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAKm3B,UAAYrL,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,KAEpG,oBASD,SAAO1E,GA0BH,OAzBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,cAAgB8D,KAAK46B,WAC1B1+B,EAAK,aAAe8D,KAAK++B,UACzB7iC,EAAK,gBAAkB8D,KAAKg/B,aAC5B9iC,EAAK,gBAAkB8D,KAAKw0B,aAC5Bt4B,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,cAAgB8D,KAAKi0B,WAC1B/3B,EAAK,eAAiB8D,KAAKi/B,YAC3B/iC,EAAK,cAAgB8D,KAAKk/B,WAC1BhjC,EAAK,cAAgB8D,KAAKm/B,WAC1BjjC,EAAK,YAAc8D,KAAKs9B,SACxBphC,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,WAAa8D,KAAKshC,QACvBplC,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,aAAe8D,KAAKs/B,UAAYt/B,KAAKs/B,UAAUzP,aAAY,QAAajvB,EAC7E1E,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EACzF1E,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,aAAe8D,KAAKm3B,UAAYn3B,KAAKm3B,UAAUtH,aAAY,QAAajvB,EACtE1E,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIumB,EAEjB,OADAvmB,EAAOivB,KAAKtwB,GACLqB,MACV,EArEmB,GAgIXymB,GAAc,WAKvB,WAAY9nB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKgnD,YAAcl7B,EAAM,eACzB9rB,KAAKinD,UAAYn7B,EAAM,aACvB9rB,KAAK0E,QAAUonB,EAAM,cAE5B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAKgnD,YAC3B9qD,EAAK,aAAe8D,KAAKinD,UACzB/qD,EAAK,WAAa8D,KAAK0E,QAChBxI,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIymB,EAEjB,OADAzmB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BsB,IA4C3B,SAAYkoD,GACRA,wBACAA,qBAFJ,CAAYA,QAAW,KAKhB,IAwcKyB,GAxcCC,GAAa,WAItB,WAAYjrD,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKywB,YAAc3E,EAAM,kBAEhC,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKywB,YACpBv0B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4pD,EAEjB,OADA5pD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBqB,GAwCbgnB,GAAuB,WAUhC,WAAYroB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKw1B,cAAgB1J,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,oBAElC,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,iBAAmB8D,KAAKw1B,cAAgBx1B,KAAKw1B,cAAc3F,aAAY,QAAajvB,EACzF1E,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cACtBljC,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgnB,EAEjB,OADAhnB,EAAOivB,KAAKtwB,GACLqB,MACV,EArC+B,GAgEvB6pD,GAAmB,WAU5B,WAAYlrD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKy7B,iBAAmB3P,EAAM,oBAC9B9rB,KAAKi+B,mBAAqBnS,EAAM,sBAChC9rB,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAK6hD,MAAQ/1B,EAAM,SACnB9rB,KAAKqnD,YAAcv7B,EAAM,eAAiBtI,GAAehf,OAAOsnB,EAAM,qBAAuBlrB,KAEpG,oBASD,SAAO1E,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,oBAAsB8D,KAAKy7B,iBAChCv/B,EAAK,sBAAwB8D,KAAKi+B,mBAClC/hC,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,SAAW8D,KAAK6hD,MACrB3lD,EAAK,eAAiB8D,KAAKqnD,YAAcrnD,KAAKqnD,YAAY96B,cAAgB3rB,EACnE1E,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6pD,EAEjB,OADA7pD,EAAOivB,KAAKtwB,GACLqB,MACV,EArC2B,GAgEnBonB,GAA6B,WA8BtC,WAAYzoB,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2CnD,OAxCA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKk6B,iBAAmBpO,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKy9C,YAAc3xB,EAAM,eACzB9rB,KAAKy7B,iBAAmB3P,EAAM,oBAC9B9rB,KAAKi+B,mBAAqBnS,EAAM,sBAChC9rB,KAAKg+B,4BAA8BlS,EAAM,+BACzC9rB,KAAKm9B,0BAA4BrR,EAAM,6BACvC9rB,KAAK+9B,mBAAqBjS,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,EACxHZ,KAAKw7B,iBAAmB1P,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKsnD,0BAA4Bx7B,EAAM,6BACvC9rB,KAAKunD,0BAA4Bz7B,EAAM,6BACvC9rB,KAAKwnD,wBAA0B17B,EAAM,2BACrC9rB,KAAKynD,wBAA0B37B,EAAM,2BACrC9rB,KAAK0nD,aAAe57B,EAAM,gBAC1B9rB,KAAK6hD,MAAQ/1B,EAAM,SACnB9rB,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAK2nD,SAAW77B,EAAM,YACtB9rB,KAAKq9B,eAAiBvR,EAAM,kBAC5B9rB,KAAKq/B,cAAgBvT,EAAM,iBAC3B9rB,KAAKo/B,cAAgBtT,EAAM,iBAC3B9rB,KAAKsiD,oBAAsBx2B,EAAM,uBACjC9rB,KAAKqnD,YAAcv7B,EAAM,eAAiBtI,GAAehf,OAAOsnB,EAAM,qBAAuBlrB,KAEpG,oBASD,SAAO1E,GA8BH,OA7BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,oBAAsB8D,KAAKk6B,iBAAmBl6B,KAAKk6B,iBAAiBrK,aAAY,QAAajvB,EAClG1E,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,eAAiB8D,KAAKy9C,YAC3BvhD,EAAK,oBAAsB8D,KAAKy7B,iBAChCv/B,EAAK,sBAAwB8D,KAAKi+B,mBAClC/hC,EAAK,+BAAiC8D,KAAKg+B,4BAC3C9hC,EAAK,6BAA+B8D,KAAKm9B,0BACzCjhC,EAAK,sBAAwB8D,KAAK+9B,mBAAqB/9B,KAAK+9B,mBAAmBlO,aAAY,QAAajvB,EACxG1E,EAAK,oBAAsB8D,KAAKw7B,iBAAmBx7B,KAAKw7B,iBAAiB3L,aAAY,QAAajvB,EAClG1E,EAAK,6BAA+B8D,KAAKsnD,0BACzCprD,EAAK,6BAA+B8D,KAAKunD,0BACzCrrD,EAAK,2BAA6B8D,KAAKwnD,wBACvCtrD,EAAK,2BAA6B8D,KAAKynD,wBACvCvrD,EAAK,gBAAkB8D,KAAK0nD,aAC5BxrD,EAAK,SAAW8D,KAAK6hD,MACrB3lD,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,YAAc8D,KAAK2nD,SACxBzrD,EAAK,kBAAoB8D,KAAKq9B,eAC9BnhC,EAAK,iBAAmB8D,KAAKq/B,cAC7BnjC,EAAK,iBAAmB8D,KAAKo/B,cAC7BljC,EAAK,uBAAyB8D,KAAKsiD,oBACnCpmD,EAAK,eAAiB8D,KAAKqnD,YAAcrnD,KAAKqnD,YAAY96B,cAAgB3rB,EACnE1E,KACV,qBAtCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIonB,EAEjB,OADApnB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7EqC,GAgJ7BsnB,GAA4B,WAgBrC,WAAY3oB,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAK48B,IAAM9Q,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,EAC3EZ,KAAKk9B,IAAMpR,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,EAC3EZ,KAAK08B,eAAiB5Q,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKosC,WAAatgB,EAAM,cACxB9rB,KAAKqsC,aAAevgB,EAAM,gBAC1B9rB,KAAK29B,WAAa7R,EAAM,cACxB9rB,KAAK68B,iBAAmB/Q,EAAM,oBAC9B9rB,KAAK28B,SAAW7Q,EAAM,YACtB9rB,KAAKqgD,KAAOv0B,EAAM,QAClB9rB,KAAK+gD,SAAWj1B,EAAM,YACtB9rB,KAAKghD,YAAcl1B,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC9rB,KAAKsnC,WAAa,GAAU,IACQ,EADR,IACXxb,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsnC,WAAYtqC,KAAK2jD,GAAan8C,OAAOuB,KAAO,kCAGhE,oBASD,SAAO7J,GAeH,GAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,OAAS8D,KAAK48B,IAAM58B,KAAK48B,IAAI/M,aAAY,QAAajvB,EAC3D1E,EAAK,OAAS8D,KAAKk9B,IAAMl9B,KAAKk9B,IAAIrN,aAAY,QAAajvB,EAC3D1E,EAAK,kBAAoB8D,KAAK08B,eAAiB18B,KAAK08B,eAAe7M,aAAY,QAAajvB,EAC5F1E,EAAK,cAAgB8D,KAAKosC,WAC1BlwC,EAAK,gBAAkB8D,KAAKqsC,aAC5BnwC,EAAK,cAAgB8D,KAAK29B,WAC1BzhC,EAAK,oBAAsB8D,KAAK68B,iBAChC3gC,EAAK,YAAc8D,KAAK28B,SACxBzgC,EAAK,QAAU8D,KAAKqgD,KACpBnkD,EAAK,YAAc8D,KAAK+gD,SACxB7kD,EAAK,eAAiB8D,KAAKghD,YACvBn7C,MAAMC,QAAQ9F,KAAKsnC,YAAa,CAChCprC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKsnC,YAAU,IAAhC,2BACI,KADKvhC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,EAAKwmB,WAAU,+BAE/C,OAAOrwB,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsnB,EAEjB,OADAtnB,EAAOivB,KAAKtwB,GACLqB,MACV,EArDoC,GAgG5B4nB,GAAiB,WAM1B,WAAYjpB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKwwB,QAAU1E,EAAM,WACrB9rB,KAAKq4B,KAAOvM,EAAM,QAClB9rB,KAAK4nD,WAAa97B,EAAM,iBAE/B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAKwwB,QACvBt0B,EAAK,QAAU8D,KAAKq4B,KACpBn8B,EAAK,cAAgB8D,KAAK4nD,WACnB1rD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4nB,EAEjB,OADA5nB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7ByB,IAgD9B,SAAY2pD,GACRA,sBACAA,kCACAA,4CACAA,oCACAA,mDALJ,CAAYA,QAAkB,KAQvB,IAwdKW,GAxdCxiC,GAA+B,WAYxC,WAAYnpB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqCnD,OAlCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAQP,GAPA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKwwB,QAAU1E,EAAM,WACrB9rB,KAAKq4B,KAAOvM,EAAM,QAClB9rB,KAAK4nD,WAAa97B,EAAM,cACxB9rB,KAAK8nD,gBAAkBh8B,EAAM,mBAC7B9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAK+nD,WAAaj8B,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,iCAAkC,CACtD9rB,KAAKgoD,6BAA+B,GAAU,IACQ,EADR,IAC7Bl8B,EAAM,iCAA+B,IAAtD,2BACI,KADK/lB,EAAI,QACT/F,KAAKgoD,6BAA8BhrD,KAAKirD,GAAyBzjD,OAAOuB,KAAO,+BAEvF,GAAIF,MAAMC,QAAQgmB,EAAM,+BAAgC,CACpD9rB,KAAKkoD,2BAA6B,GAAU,IACQ,EADR,IAC3Bp8B,EAAM,+BAA6B,IAApD,2BACI,KADK/lB,EAAI,QACT/F,KAAKkoD,2BAA4BlrD,KAAKirD,GAAyBzjD,OAAOuB,KAAO,+BAErF,GAAIF,MAAMC,QAAQgmB,EAAM,uCAAwC,CAC5D9rB,KAAKmoD,mCAAqC,GAAU,IACQ,EADR,IACnCr8B,EAAM,uCAAqC,IAA5D,2BACI,KADK/lB,EAAI,QACT/F,KAAKmoD,mCAAoCnrD,KAAKirD,GAAyBzjD,OAAOuB,KAAO,mCAGpG,oBASD,SAAO7J,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAKwwB,QACvBt0B,EAAK,QAAU8D,KAAKq4B,KACpBn8B,EAAK,cAAgB8D,KAAK4nD,WAC1B1rD,EAAK,mBAAqB8D,KAAK8nD,gBAC/B5rD,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,cAAgB8D,KAAK+nD,WACtBliD,MAAMC,QAAQ9F,KAAKgoD,8BAA+B,CAClD9rD,EAAK,gCAAkC,GAAG,IACQ,EADR,IACzB8D,KAAKgoD,8BAA4B,IAAlD,2BACI,KADKjiD,EAAI,QACT7J,EAAK,gCAAgCc,KAAK+I,EAAKwmB,WAAU,+BAEjE,GAAI1mB,MAAMC,QAAQ9F,KAAKkoD,4BAA6B,CAChDhsD,EAAK,8BAAgC,GAAG,IACQ,EADR,IACvB8D,KAAKkoD,4BAA0B,IAAhD,2BACI,KADKniD,EAAI,QACT7J,EAAK,8BAA8Bc,KAAK+I,EAAKwmB,WAAU,+BAE/D,GAAI1mB,MAAMC,QAAQ9F,KAAKmoD,oCAAqC,CACxDjsD,EAAK,sCAAwC,GAAG,IACQ,EADR,IAC/B8D,KAAKmoD,oCAAkC,IAAxD,2BACI,KADKpiD,EAAI,QACT7J,EAAK,sCAAsCc,KAAK+I,EAAKwmB,WAAU,+BAEvE,OAAOrwB,KACV,qBAhCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8nB,EAEjB,OADA9nB,EAAOivB,KAAKtwB,GACLqB,MACV,EArDuC,GAgG/B0qD,GAAwB,WAKjC,WAAY/rD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK25B,UAAY7N,EAAM,aACvB9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKooD,cAAgBt8B,EAAM,oBAElC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK25B,UACzBz9B,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,iBAAmB8D,KAAKooD,cACtBlsD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0qD,EAEjB,OADA1qD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BgC,GA4CxBqoB,GAAuB,WAYhC,WAAY1pB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAQP,GAPA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKizB,WAAanH,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,kBAAmB,CACvC9rB,KAAKqoD,cAAgB,GAAU,IACQ,EADR,IACdv8B,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACT/F,KAAKqoD,cAAerrD,KAAKsrD,GAAgB9jD,OAAOuB,KAAO,+BAE/D/F,KAAKof,WAAa0M,EAAM,cACxB9rB,KAAKuoD,SAAWz8B,EAAM,YAAchZ,GAAOC,UAAU+Y,EAAM,YAAYyD,iBAAmB3uB,KAEjG,oBASD,SAAO1E,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,cAAgB8D,KAAKizB,WACtBptB,MAAMC,QAAQ9F,KAAKqoD,eAAgB,CACnCnsD,EAAK,iBAAmB,GAAG,IACQ,EADR,IACV8D,KAAKqoD,eAAa,IAAnC,2BACI,KADKtiD,EAAI,QACT7J,EAAK,iBAAiBc,KAAK+I,EAAKwmB,WAAU,+BAIlD,OAFArwB,EAAK,cAAgB8D,KAAKof,WAC1BljB,EAAK,YAAc8D,KAAKuoD,SAAWvoD,KAAKuoD,SAAS14B,aAAY,QAAajvB,EACnE1E,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqoB,EAEjB,OADAroB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7C+B,GAgFvB+qD,GAAe,WAUxB,WAAYpsD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAOP,GANA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKu1B,eAAiBzJ,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKi6B,aAAenO,EAAM,gBAAkBhZ,GAAOC,UAAU+Y,EAAM,gBAAgByD,iBAAmB3uB,EACtGZ,KAAKwoD,QAAU18B,EAAM,WACrB9rB,KAAKyoD,UAAY38B,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,mBAAoB,CACxC9rB,KAAK0oD,eAAiB,GAAU,IACQ,EADR,IACf58B,EAAM,mBAAiB,IAAxC,2BACI,KADK/lB,EAAI,QACT/F,KAAK0oD,eAAgB1rD,KAAK+I,IAAM,+BAExC,GAAIF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C9rB,KAAK2oD,iBAAmB,GAAU,IACQ,EADR,IACjB78B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACT/F,KAAK2oD,iBAAkB3rD,KAAK+I,IAAM,mCAGjD,oBASD,SAAO7J,GAQH,GAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,kBAAoB8D,KAAKu1B,eAAiBv1B,KAAKu1B,eAAe1F,aAAY,QAAajvB,EAC5F1E,EAAK,gBAAkB8D,KAAKi6B,aAAej6B,KAAKi6B,aAAapK,aAAY,QAAajvB,EACtF1E,EAAK,WAAa8D,KAAKwoD,QACvBtsD,EAAK,aAAe8D,KAAKyoD,UACrB5iD,MAAMC,QAAQ9F,KAAK0oD,gBAAiB,CACpCxsD,EAAK,kBAAoB,GAAG,IACQ,EADR,IACX8D,KAAK0oD,gBAAc,IAApC,2BACI,KADK3iD,EAAI,QACT7J,EAAK,kBAAkBc,KAAK+I,IAAM,+BAE1C,GAAIF,MAAMC,QAAQ9F,KAAK2oD,kBAAmB,CACtCzsD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACb8D,KAAK2oD,kBAAgB,IAAtC,2BACI,KADK5iD,EAAI,QACT7J,EAAK,oBAAoBc,KAAK+I,IAAM,+BAE5C,OAAO7J,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+qD,EAEjB,OADA/qD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7CuB,GAgFfuoB,GAAc,WAMvB,WAAY5pB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAK1B,KAAOwtB,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC9rB,KAAK0mD,aAAe,GAAU,IACQ,EADR,IACb56B,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAK0mD,aAAc1pD,KAAK4rD,GAAepkD,OAAOuB,KAAO,kCAGpE,oBASD,SAAO7J,GAKH,GAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,QAAU8D,KAAK1B,KAChBuH,MAAMC,QAAQ9F,KAAK0mD,cAAe,CAClCxqD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAK0mD,cAAY,IAAlC,2BACI,KADK3gD,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,EAAKwmB,WAAU,+BAEjD,OAAOrwB,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuoB,EAEjB,OADAvoB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCsB,GAwDdqrD,GAAc,WAqBvB,WAAY1sD,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsCnD,OAnCA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAkBP,GAjBA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK2F,KAAOmmB,EAAM,QAClB9rB,KAAK6oD,eAAiB/8B,EAAM,kBAC5B9rB,KAAK8oD,cAAgBh9B,EAAM,iBAC3B9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAK+oD,cAAgBj9B,EAAM,iBAC3B9rB,KAAKgpD,mBAAqBl9B,EAAM,sBAChC9rB,KAAKipD,UAAYn9B,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKyoD,UAAY38B,EAAM,aACvB9rB,KAAKkpD,gBAAkBp9B,EAAM,mBAC7B9rB,KAAKmpD,eAAiBr9B,EAAM,kBAC5B9rB,KAAKm3B,UAAYrL,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKy8B,UAAY3Q,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,aAAc,CAClC9rB,KAAKopD,SAAW,GAAU,IACQ,EADR,IACTt9B,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACT/F,KAAKopD,SAAUpsD,KAAK+I,IAAM,+BAElC/F,KAAKqpD,oBAAsBv9B,EAAM,0BAExC,oBASD,SAAO5vB,GAmBH,GAlBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,QAAU8D,KAAK2F,KACpBzJ,EAAK,kBAAoB8D,KAAK6oD,eAC9B3sD,EAAK,iBAAmB8D,KAAK8oD,cAC7B5sD,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,iBAAmB8D,KAAK+oD,cAC7B7sD,EAAK,sBAAwB8D,KAAKgpD,mBAClC9sD,EAAK,aAAe8D,KAAKipD,UAAYjpD,KAAKipD,UAAUp5B,aAAY,QAAajvB,EAC7E1E,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACvE1E,EAAK,aAAe8D,KAAKyoD,UACzBvsD,EAAK,mBAAqB8D,KAAKkpD,gBAC/BhtD,EAAK,kBAAoB8D,KAAKmpD,eAC9BjtD,EAAK,aAAe8D,KAAKm3B,UAAYn3B,KAAKm3B,UAAUtH,aAAY,QAAajvB,EAC7E1E,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,aAAe8D,KAAKy8B,UACrB52B,MAAMC,QAAQ9F,KAAKopD,UAAW,CAC9BltD,EAAK,YAAc,GAAG,IACQ,EADR,IACL8D,KAAKopD,UAAQ,IAA9B,2BACI,KADKrjD,EAAI,QACT7J,EAAK,YAAYc,KAAK+I,IAAM,+BAGpC,OADA7J,EAAK,uBAAyB8D,KAAKqpD,oBAC5BntD,KACV,qBAjCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqrD,EAEjB,OADArrD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/DsB,IAoH3B,SAAYsqD,GACRA,0CACAA,sCACAA,4BACAA,uBAJJ,CAAYA,QAAe,KAOpB,IAs0BKyB,GAt0BCC,GAAkC,WAQ3C,WAAYrtD,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAIP,GAHA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAKwpD,mBAAqB19B,EAAM,sBAAwBw8B,GAAgB9jD,OAAOsnB,EAAM,4BAA8BlrB,EAC/GiF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C9rB,KAAKypD,iBAAmB,GAAU,IACQ,EADR,IACjB39B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACT/F,KAAKypD,iBAAkBzsD,KAAK4rD,GAAepkD,OAAOuB,KAAO,+BAEjE,GAAIF,MAAMC,QAAQgmB,EAAM,gCAAiC,CACrD9rB,KAAK0pD,4BAA8B,GAAU,IACQ,EADR,IAC5B59B,EAAM,gCAA8B,IAArD,2BACI,KADK/lB,EAAI,QACT/F,KAAK0pD,4BAA6B1sD,KAAK+I,IAAM,+BAErD/F,KAAK2pD,IAAM79B,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,KAElF,oBASD,SAAO1E,GAKH,GAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EAC9D1E,EAAK,sBAAwB8D,KAAKwpD,mBAAqBxpD,KAAKwpD,mBAAmBj9B,cAAgB3rB,EAC3FiF,MAAMC,QAAQ9F,KAAKypD,kBAAmB,CACtCvtD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACb8D,KAAKypD,kBAAgB,IAAtC,2BACI,KADK1jD,EAAI,QACT7J,EAAK,oBAAoBc,KAAK+I,EAAKwmB,WAAU,+BAErD,GAAI1mB,MAAMC,QAAQ9F,KAAK0pD,6BAA8B,CACjDxtD,EAAK,+BAAiC,GAAG,IACQ,EADR,IACxB8D,KAAK0pD,6BAA2B,IAAjD,2BACI,KADK3jD,EAAI,QACT7J,EAAK,+BAA+Bc,KAAK+I,IAAM,+BAGvD,OADA7J,EAAK,OAAS8D,KAAK2pD,IAAM3pD,KAAK2pD,IAAI95B,aAAY,QAAajvB,EACpD1E,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgsD,EAEjB,OADAhsD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzC0C,GAwElCqsD,GAA4C,8BAGrD,WAAY1tD,GAAmD,6BACrDA,GAeT,OAdA,uBAED,SAAK4vB,GACD,wCAAWA,GACPA,IACA9rB,KAAKkf,cAAgB4M,EAAM,oBAElC,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmB8D,KAAKkf,cAC7B,0CAAahjB,GACNA,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqsD,EAEjB,OADArsD,EAAOivB,KAAKtwB,GACLqB,MACV,EAnBoD,CAAQgsD,IAiCpDM,GAA2B,WAQpC,WAAY3tD,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK2pD,IAAM79B,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,EACvEiF,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC9rB,KAAK0mD,aAAe,GAAU,IACQ,EADR,IACb56B,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAK0mD,aAAc1pD,KAAK8sD,GAAmBtlD,OAAOuB,KAAO,kCAGxE,oBASD,SAAO7J,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,OAAS8D,KAAK2pD,IAAM3pD,KAAK2pD,IAAI95B,aAAY,QAAajvB,EACvDiF,MAAMC,QAAQ9F,KAAK0mD,cAAe,CAClCxqD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAK0mD,cAAY,IAAlC,2BACI,KADK3gD,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,EAAKwmB,WAAU,+BAEjD,OAAOrwB,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIssD,EAEjB,OADAtsD,EAAOivB,KAAKtwB,GACLqB,MACV,EArCmC,GAgE3BwsD,GAAqC,8BAG9C,WAAY7tD,GAA4C,6BAC9CA,GAeT,OAdA,uBAED,SAAK4vB,GACD,wCAAWA,GACPA,IACA9rB,KAAKkf,cAAgB4M,EAAM,oBAElC,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmB8D,KAAKkf,cAC7B,0CAAahjB,GACNA,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwsD,EAEjB,OADAxsD,EAAOivB,KAAKtwB,GACLqB,MACV,EAnB6C,CAAQssD,IAiC7CC,GAAkB,WAO3B,WAAY5tD,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6oD,eAAiB/8B,EAAM,kBAC5B9rB,KAAK8oD,cAAgBh9B,EAAM,iBAC3B9rB,KAAKipD,UAAYn9B,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKyoD,UAAY38B,EAAM,gBAE9B,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAK6oD,eAC9B3sD,EAAK,iBAAmB8D,KAAK8oD,cAC7B5sD,EAAK,aAAe8D,KAAKipD,UAAYjpD,KAAKipD,UAAUp5B,aAAY,QAAajvB,EAC7E1E,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACvE1E,EAAK,aAAe8D,KAAKyoD,UAClBvsD,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIusD,EAEjB,OADAvsD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B0B,GAoDlB6oB,GAAkB,WAkB3B,WAAYlqB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKsO,OAASwd,EAAM,UACpB9rB,KAAKg1B,OAASlJ,EAAM,UACpB9rB,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,oBAC9B9rB,KAAKq6B,QAAUvO,EAAM,WACrB9rB,KAAKo1B,YAActJ,EAAM,eACzB9rB,KAAKm6B,eAAiBrO,EAAM,kBAAoBhZ,GAAOC,UAAU+Y,EAAM,kBAAkByD,iBAAmB3uB,EAC5GZ,KAAKy8B,UAAY3Q,EAAM,aACvB9rB,KAAKgqD,QAAUl+B,EAAM,WACrB9rB,KAAKyoD,UAAY38B,EAAM,aACvB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK8mD,gBAAkBh7B,EAAM,mBAC7B9rB,KAAKipD,UAAYn9B,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK0vB,aAAe5D,EAAM,mBAEjC,oBASD,SAAO5vB,GAkBH,OAjBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAKsO,OACtBpS,EAAK,UAAY8D,KAAKg1B,OACtB94B,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBAChCp5B,EAAK,WAAa8D,KAAKq6B,QACvBn+B,EAAK,eAAiB8D,KAAKo1B,YAC3Bl5B,EAAK,kBAAoB8D,KAAKm6B,eAAiBn6B,KAAKm6B,eAAetK,aAAY,QAAajvB,EAC5F1E,EAAK,aAAe8D,KAAKy8B,UACzBvgC,EAAK,WAAa8D,KAAKgqD,QACvB9tD,EAAK,aAAe8D,KAAKyoD,UACzBvsD,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,mBAAqB8D,KAAK8mD,gBAC/B5qD,EAAK,aAAe8D,KAAKipD,UAAYjpD,KAAKipD,UAAUp5B,aAAY,QAAajvB,EAC7E1E,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACvE1E,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,gBAAkB8D,KAAK0vB,aACrBxzB,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6oB,EAEjB,OADA7oB,EAAOivB,KAAKtwB,GACLqB,MACV,EArD0B,GAgGlB0sD,GAAe,WAQxB,WAAY/tD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKyoD,UAAY38B,EAAM,aACvB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAK8oD,cAAgBh9B,EAAM,iBAC3B9rB,KAAKipD,UAAYn9B,EAAM,aAAehZ,GAAOC,UAAU+Y,EAAM,aAAayD,iBAAmB3uB,EAC7FZ,KAAKq9C,QAAUvxB,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAK2pD,IAAM79B,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,KAElF,oBASD,SAAO1E,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAKyoD,UACzBvsD,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,iBAAmB8D,KAAK8oD,cAC7B5sD,EAAK,aAAe8D,KAAKipD,UAAYjpD,KAAKipD,UAAUp5B,aAAY,QAAajvB,EAC7E1E,EAAK,WAAa8D,KAAKq9C,QAAUr9C,KAAKq9C,QAAQxtB,aAAY,QAAajvB,EACvE1E,EAAK,OAAS8D,KAAK2pD,IAAM3pD,KAAK2pD,IAAI95B,aAAY,QAAajvB,EACpD1E,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0sD,EAEjB,OADA1sD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjCuB,GAwDf2sD,GAAiB,WAI1B,WAAYhuD,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6oD,eAAiB/8B,EAAM,kBAC5B9rB,KAAK2pD,IAAM79B,EAAM,OAAShZ,GAAOC,UAAU+Y,EAAM,OAAOyD,iBAAmB3uB,KAElF,oBASD,SAAO1E,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoB8D,KAAK6oD,eAC9B3sD,EAAK,OAAS8D,KAAK2pD,IAAM3pD,KAAK2pD,IAAI95B,aAAY,QAAajvB,EACpD1E,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2sD,EAEjB,OADA3sD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzByB,GAwCjBkR,GAA8B,WAMvC,WAAYvS,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAGP,GAFA9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAKizB,WAAanH,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C9rB,KAAKmqD,iBAAmB,GAAU,IACQ,EADR,IACjBr+B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACT/F,KAAKmqD,iBAAkBntD,KAAKotD,GAA4B5lD,OAAOuB,KAAO,+BAE9E,GAAIF,MAAMC,QAAQgmB,EAAM,yBAA0B,CAC9C9rB,KAAKqqD,qBAAuB,GAAU,IACQ,EADR,IACrBv+B,EAAM,yBAAuB,IAA9C,2BACI,KADK/lB,EAAI,QACT/F,KAAKqqD,qBAAsBrtD,KAAK6Q,GAAiBrJ,OAAOuB,KAAO,mCAG9E,oBASD,SAAO7J,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,cAAgB8D,KAAKizB,WACtBptB,MAAMC,QAAQ9F,KAAKmqD,kBAAmB,CACtCjuD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACb8D,KAAKmqD,kBAAgB,IAAtC,2BACI,KADKpkD,EAAI,QACT7J,EAAK,oBAAoBc,KAAK+I,EAAKwmB,WAAU,+BAErD,GAAI1mB,MAAMC,QAAQ9F,KAAKqqD,sBAAuB,CAC1CnuD,EAAK,wBAA0B,GAAG,IACQ,EADR,IACjB8D,KAAKqqD,sBAAoB,IAA1C,2BACI,KADKtkD,EAAI,QACT7J,EAAK,wBAAwBc,KAAK+I,EAAKwmB,WAAU,+BAEzD,OAAOrwB,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkR,EAEjB,OADAlR,EAAOivB,KAAKtwB,GACLqB,MACV,EArCsC,GAgE9B6sD,GAA2B,WAIpC,WAAYluD,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK23B,cAAgB7L,EAAM,iBAAmBje,GAAiBrJ,OAAOsnB,EAAM,uBAAyBlrB,EACjGiF,MAAMC,QAAQgmB,EAAM,YAAY,CAChC9rB,KAAK43B,OAAS,GAAU,IACQ,EADR,IACP9L,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACT/F,KAAK43B,OAAQ56B,KAAKstD,GAAyB9lD,OAAOuB,KAAO,kCAGxE,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmB8D,KAAK23B,cAAgB33B,KAAK23B,cAAcpL,cAAgB3rB,EAC5EiF,MAAMC,QAAQ9F,KAAK43B,QAAS,CAC5B17B,EAAK,UAAY,GAAG,IACQ,EADR,IACH8D,KAAK43B,QAAM,IAA5B,2BACI,KADK7xB,EAAI,QACT7J,EAAK,UAAUc,KAAK+I,EAAKwmB,WAAU,+BAE3C,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6sD,EAEjB,OADA7sD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BmC,GAgD3B+sD,GAAwB,WAMjC,WAAYpuD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK83B,KAAOhM,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK+3B,GAAKjM,EAAM,MAAQhZ,GAAOC,UAAU+Y,EAAM,MAAMyD,iBAAmB3uB,EACxEZ,KAAKq1B,eAAiBvJ,EAAM,kBAC5B9rB,KAAKs1B,iBAAmBxJ,EAAM,uBAErC,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK83B,KAAO93B,KAAK83B,KAAKjI,aAAY,QAAajvB,EAC9D1E,EAAK,MAAQ8D,KAAK+3B,GAAK/3B,KAAK+3B,GAAGlI,aAAY,QAAajvB,EACxD1E,EAAK,kBAAoB8D,KAAKq1B,eAC9Bn5B,EAAK,oBAAsB8D,KAAKs1B,iBACzBp5B,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+sD,EAEjB,OADA/sD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BgC,GAgDxBgtD,GAAoB,WAO7B,WAAYruD,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKmO,QAAU2d,EAAM,WACrB9rB,KAAKywB,YAAc3E,EAAM,eACzB9rB,KAAKi3B,OAASnL,EAAM,UAChBjmB,MAAMC,QAAQgmB,EAAM,eAAe,CACnC9rB,KAAKo3B,UAAY,GAAU,IACQ,EADR,IACVtL,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAKo3B,UAAWp6B,KAAKwtD,GAAgBhmD,OAAOuB,KAAO,kCAGlE,oBASD,SAAO7J,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAKmO,QACvBjS,EAAK,eAAiB8D,KAAKywB,YAC3Bv0B,EAAK,UAAY8D,KAAKi3B,OAClBpxB,MAAMC,QAAQ9F,KAAKo3B,WAAY,CAC/Bl7B,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAKo3B,WAAS,IAA/B,2BACI,KADKrxB,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAE9C,OAAOrwB,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgtD,EAEjB,OADAhtD,EAAOivB,KAAKtwB,GACLqB,MACV,EAnC4B,GA4DpBitD,GAAe,WAKxB,WAAYtuD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK0E,QAAUonB,EAAM,WACrB9rB,KAAKw3B,SAAW1L,EAAM,YACtB9rB,KAAK03B,YAAc5L,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAK0E,QACvBxI,EAAK,YAAc8D,KAAKw3B,SACxBt7B,EAAK,eAAiB8D,KAAK03B,YACpBx7B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIitD,EAEjB,OADAjtD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BuB,GA4CfuR,GAAe,WASxB,WAAY5S,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKyqD,MAAQ3+B,EAAM,SACnB9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKosB,UAAYN,EAAM,aACvB9rB,KAAK03B,YAAc5L,EAAM,eACzB9rB,KAAKw3B,SAAW1L,EAAM,YACtB9rB,KAAKy3B,WAAa3L,EAAM,cACxB9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,KAE9F,oBASD,SAAO1E,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKyqD,MACrBvuD,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,aAAe8D,KAAKosB,UACzBlwB,EAAK,eAAiB8D,KAAK03B,YAC3Bx7B,EAAK,YAAc8D,KAAKw3B,SACxBt7B,EAAK,cAAgB8D,KAAKy3B,WAC1Bv7B,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EAChE1E,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuR,EAEjB,OADAvR,EAAOivB,KAAKtwB,GACLqB,MACV,EAnCuB,GA4DfmtD,GAAsB,WAO/B,WAAYxuD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAGP,GAFA9rB,KAAKwwB,QAAU1E,EAAM,WACrB9rB,KAAKq4B,KAAOvM,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAKglB,YAAc,GAAU,IACQ,EADR,IACZ8G,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAKglB,YAAahoB,KAAK+I,IAAM,+BAErC,GAAIF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC9rB,KAAK+c,YAAc,GAAU,IACQ,EADR,IACZ+O,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACT/F,KAAK+c,YAAa/f,KAAK+I,IAAM,+BAErC/F,KAAK6mB,YAAciF,EAAM,kBAEhC,oBASD,SAAO5vB,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAKwwB,QACvBt0B,EAAK,QAAU8D,KAAKq4B,KAChBxyB,MAAMC,QAAQ9F,KAAKglB,aAAc,CACjC9oB,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAKglB,aAAW,IAAjC,2BACI,KADKjf,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAEvC,GAAIF,MAAMC,QAAQ9F,KAAK+c,aAAc,CACjC7gB,EAAK,eAAiB,GAAG,IACQ,EADR,IACR8D,KAAK+c,aAAW,IAAjC,2BACI,KADKhX,EAAI,QACT7J,EAAK,eAAec,KAAK+I,IAAM,+BAGvC,OADA7J,EAAK,eAAiB8D,KAAK6mB,YACpB3qB,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImtD,EAEjB,OADAntD,EAAOivB,KAAKtwB,GACLqB,MACV,EAvC8B,IAoEnC,SAAY+rD,GACRA,4BACAA,kCACAA,yBAHJ,CAAYA,QAAW,KAMhB,IA4vCKqB,GA5vCC3jC,GAAY,WAQrB,WAAY9qB,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAGP,GAFA9rB,KAAKgH,QAAU8kB,EAAM,WACrB9rB,KAAKosB,UAAYN,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAK2xB,WAAa,GAAU,IACQ,EADR,IACX7F,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAK2xB,WAAY30B,KAAK+I,IAAM,+BAIpC,GAFA/F,KAAK2V,QAAUmW,EAAM,WACrB9rB,KAAK4qD,SAAW9+B,EAAM,YAClBjmB,MAAMC,QAAQgmB,EAAM,4BAA6B,CACjD9rB,KAAK6qD,wBAA0B,GAAU,IACQ,EADR,IACxB/+B,EAAM,4BAA0B,IAAjD,2BACI,KADK/lB,EAAI,QACT/F,KAAK6qD,wBAAyB7tD,KAAK+I,IAAM,mCAGxD,oBASD,SAAO7J,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAKgH,QACvB9K,EAAK,aAAe8D,KAAKosB,UACrBvmB,MAAMC,QAAQ9F,KAAK2xB,YAAa,CAChCz1B,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAK2xB,YAAU,IAAhC,2BACI,KADK5rB,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAItC,GAFA7J,EAAK,WAAa8D,KAAK2V,QACvBzZ,EAAK,YAAc8D,KAAK4qD,SACpB/kD,MAAMC,QAAQ9F,KAAK6qD,yBAA0B,CAC7C3uD,EAAK,2BAA6B,GAAG,IACQ,EADR,IACpB8D,KAAK6qD,yBAAuB,IAA7C,2BACI,KADK9kD,EAAI,QACT7J,EAAK,2BAA2Bc,KAAK+I,IAAM,+BAEnD,OAAO7J,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIypB,EAEjB,OADAzpB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzCoB,GAwEZ0pB,GAAgB,WAYzB,WAAY/qB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAQP,GAPA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKwwB,QAAU1E,EAAM,WACrB9rB,KAAKq4B,KAAOvM,EAAM,QAClB9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAK8qD,gBAAkBh/B,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,cAAe,CACnC9rB,KAAKo3B,UAAY,GAAU,IACQ,EADR,IACVtL,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAKo3B,UAAWp6B,KAAK+tD,GAA2BvmD,OAAOuB,KAAO,+BAEtE,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKgrD,WAAa,GAAU,IACQ,EADR,IACXl/B,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKgrD,WAAYhuD,KAAK+I,IAAM,+BAEpC/F,KAAKirD,OAASn/B,EAAM,aAE3B,oBASD,SAAO5vB,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAKwwB,QACvBt0B,EAAK,QAAU8D,KAAKq4B,KACpBn8B,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,mBAAqB8D,KAAK8qD,gBAC3BjlD,MAAMC,QAAQ9F,KAAKo3B,WAAY,CAC/Bl7B,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAKo3B,WAAS,IAA/B,2BACI,KADKrxB,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAE9C,GAAI1mB,MAAMC,QAAQ9F,KAAKgrD,YAAa,CAChC9uD,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKgrD,YAAU,IAAhC,2BACI,KADKjlD,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAGtC,OADA7J,EAAK,UAAY8D,KAAKirD,OACf/uD,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0pB,EAEjB,OADA1pB,EAAOivB,KAAKtwB,GACLqB,MACV,EAjDwB,GAwFhBwtD,GAA0B,WAKnC,WAAY7uD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKw3B,SAAW1L,EAAM,YACtB9rB,KAAKy3B,WAAa3L,EAAM,cACxB9rB,KAAK03B,YAAc5L,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKw3B,SACxBt7B,EAAK,cAAgB8D,KAAKy3B,WAC1Bv7B,EAAK,eAAiB8D,KAAK03B,YACpBx7B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwtD,EAEjB,OADAxtD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BkC,GA4C1BgqB,GAAgB,WAMzB,WAAYrrB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKof,WAAa0M,EAAM,cACxB9rB,KAAKkrD,UAAYp/B,EAAM,aACvB9rB,KAAK+0B,iBAAmBjJ,EAAM,oBAC9B9rB,KAAK+iD,uBAAyBj3B,EAAM,6BAE3C,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKof,WAC1BljB,EAAK,aAAe8D,KAAKkrD,UACzBhvD,EAAK,oBAAsB8D,KAAK+0B,iBAChC74B,EAAK,0BAA4B8D,KAAK+iD,uBAC/B7mD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgqB,EAEjB,OADAhqB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BwB,GAgDhBkqB,GAAuB,WAIhC,WAAYvrB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,uBAAuB,CAC3C9rB,KAAKmrD,kBAAoB,GAAU,IACQ,EADR,IAClBr/B,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACT/F,KAAKmrD,kBAAmBnuD,KAAKouD,GAAoB5mD,OAAOuB,KAAO,kCAG9E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACrBhE,MAAMC,QAAQ9F,KAAKmrD,mBAAoB,CACvCjvD,EAAK,qBAAuB,GAAG,IACQ,EADR,IACd8D,KAAKmrD,mBAAiB,IAAvC,2BACI,KADKplD,EAAI,QACT7J,EAAK,qBAAqBc,KAAK+I,EAAKwmB,WAAU,+BAEtD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkqB,EAEjB,OADAlqB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B+B,GAgDvB6tD,GAAmB,WAI5B,WAAYlvD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKgwB,KAAOlE,EAAM,QAClB9rB,KAAKg7C,OAASlvB,EAAM,aAE3B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAKgwB,KACpB9zB,EAAK,UAAY8D,KAAKg7C,OACf9+C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6tD,EAEjB,OADA7tD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB2B,GAwCnBoqB,GAAsB,WAI/B,WAAYzrB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKgwB,KAAOlE,EAAM,QAClB9rB,KAAKg7C,OAASlvB,EAAM,aAE3B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAKgwB,KACpB9zB,EAAK,UAAY8D,KAAKg7C,OACf9+C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoqB,EAEjB,OADApqB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB8B,GAwCtBwqB,GAAmB,WAa5B,WAAY7rB,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkCnD,OA/BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAUP,GATA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKq+B,mBAAqBvS,EAAM,sBAChC9rB,KAAKqrD,kBAAoBv/B,EAAM,qBAC/B9rB,KAAKy4C,aAAe3sB,EAAM,gBAC1B9rB,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAK2gC,cAAgB7U,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK4gC,YAAc9U,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKmyC,cAAgBrmB,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C9rB,KAAK86C,mBAAqB,GAAU,IACQ,EADR,IACnBhvB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACT/F,KAAK86C,mBAAoB99C,KAAKsuD,GAAsB9mD,OAAOuB,KAAO,+BAE1E,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAKmrB,GAAqB3jB,OAAOuB,KAAO,mCAGxE,oBASD,SAAO7J,GAWH,GAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,sBAAwB8D,KAAKq+B,mBAClCniC,EAAK,qBAAuB8D,KAAKqrD,kBACjCnvD,EAAK,gBAAkB8D,KAAKy4C,aAC5Bv8C,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,iBAAmB8D,KAAK2gC,cAAgB3gC,KAAK2gC,cAAc9Q,aAAY,QAAajvB,EACzF1E,EAAK,eAAiB8D,KAAK4gC,YAAc5gC,KAAK4gC,YAAY/Q,aAAY,QAAajvB,EACnF1E,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EACzF1E,EAAK,iBAAmB8D,KAAKmyC,cACzBtsC,MAAMC,QAAQ9F,KAAK86C,oBAAqB,CACxC5+C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACf8D,KAAK86C,oBAAkB,IAAxC,2BACI,KADK/0C,EAAI,QACT7J,EAAK,sBAAsBc,KAAK+I,EAAKwmB,WAAU,+BAEvD,GAAI1mB,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,EAAKwmB,WAAU,+BAE/C,OAAOrwB,KACV,qBA7BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwqB,EAEjB,OADAxqB,EAAOivB,KAAKtwB,GACLqB,MACV,EAnD2B,GA4FnB+tD,GAAqB,WAI9B,WAAYpvD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK83B,KAAOhM,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK+3B,GAAKjM,EAAM,MAAQhZ,GAAOC,UAAU+Y,EAAM,MAAMyD,iBAAmB3uB,KAE/E,oBASD,SAAO1E,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK83B,KAAO93B,KAAK83B,KAAKjI,aAAY,QAAajvB,EAC9D1E,EAAK,MAAQ8D,KAAK+3B,GAAK/3B,KAAK+3B,GAAGlI,aAAY,QAAajvB,EACjD1E,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+tD,EAEjB,OADA/tD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB6B,GAwCrBguD,GAAiC,WAK1C,WAAYrvD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAK45B,YAAc9N,EAAM,eACzB9rB,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,KAEhH,oBASD,SAAO1E,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,eAAiB8D,KAAK45B,YAC3B19B,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EAClF1E,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIguD,EAEjB,OADAhuD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3ByC,GA4CjC8qB,GAAyB,WAIlC,WAAYnsB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKwrD,iBAAmB1/B,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAKyrD,mBAAqB3/B,EAAM,sBAAwBhZ,GAAOC,UAAU+Y,EAAM,sBAAsByD,iBAAmB3uB,KAE/H,oBASD,SAAO1E,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAKwrD,iBAAmBxrD,KAAKwrD,iBAAiB37B,aAAY,QAAajvB,EAClG1E,EAAK,sBAAwB8D,KAAKyrD,mBAAqBzrD,KAAKyrD,mBAAmB57B,aAAY,QAAajvB,EACjG1E,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8qB,EAEjB,OADA9qB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBiC,GAwCzBgrB,GAAyB,WAIlC,WAAYrsB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2V,QAAUmW,EAAM,WACjBjmB,MAAMC,QAAQgmB,EAAM,sBAAsB,CAC1C9rB,KAAK0rD,iBAAmB,GAAU,IACQ,EADR,IACjB5/B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACT/F,KAAK0rD,iBAAkB1uD,KAAK2uD,GAAmBnnD,OAAOuB,KAAO,kCAG5E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAK2V,QACnB9P,MAAMC,QAAQ9F,KAAK0rD,kBAAmB,CACtCxvD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACb8D,KAAK0rD,kBAAgB,IAAtC,2BACI,KADK3lD,EAAI,QACT7J,EAAK,oBAAoBc,KAAK+I,EAAKwmB,WAAU,+BAErD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgrB,EAEjB,OADAhrB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BiC,GAgDzBouD,GAAkB,WAI3B,WAAYzvD,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK24B,OAAS7M,EAAM,UAAYhZ,GAAOC,UAAU+Y,EAAM,UAAUyD,iBAAmB3uB,EACpFZ,KAAKq2B,MAAQvK,EAAM,YAE1B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAY8D,KAAK24B,OAAS34B,KAAK24B,OAAO9I,aAAY,QAAajvB,EACpE1E,EAAK,SAAW8D,KAAKq2B,MACdn6B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIouD,EAEjB,OADApuD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzB0B,GAwClBquD,GAAuB,WAOhC,WAAY1vD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAK2gC,cAAgB7U,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAK4gC,YAAc9U,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EAC/FiF,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC9rB,KAAKsM,cAAgB,GAAU,IACQ,EADR,IACdwf,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsM,cAAetP,KAAK6uD,GAA2BrnD,OAAOuB,KAAO,kCAGjF,oBASD,SAAO7J,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,iBAAmB8D,KAAK2gC,cAAgB3gC,KAAK2gC,cAAc9Q,aAAY,QAAajvB,EACzF1E,EAAK,eAAiB8D,KAAK4gC,YAAc5gC,KAAK4gC,YAAY/Q,aAAY,QAAajvB,EAC/EiF,MAAMC,QAAQ9F,KAAKsM,eAAgB,CACnCpQ,EAAK,iBAAmB,GAAG,IACQ,EADR,IACV8D,KAAKsM,eAAa,IAAnC,2BACI,KADKvG,EAAI,QACT7J,EAAK,iBAAiBc,KAAK+I,EAAKwmB,WAAU,+BAElD,OAAOrwB,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIquD,EAEjB,OADAruD,EAAOivB,KAAKtwB,GACLqB,MACV,EAnC+B,GA4DvBsuD,GAA0B,WAMnC,WAAY3vD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKiI,WAAa6jB,EAAM,cACxB9rB,KAAKwoB,QAAUsD,EAAM,WACrB9rB,KAAK45B,YAAc9N,EAAM,eACzB9rB,KAAKyjC,YAAc3X,EAAM,kBAEhC,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgB8D,KAAKiI,WAC1B/L,EAAK,WAAa8D,KAAKwoB,QACvBtsB,EAAK,eAAiB8D,KAAK45B,YAC3B19B,EAAK,eAAiB8D,KAAKyjC,YACpBvnC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsuD,EAEjB,OADAtuD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BkC,GAgD1BurB,GAAiB,WAU1B,WAAY5sB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2+B,KAAO7S,EAAM,QAClB9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAKq0B,MAAQvI,EAAM,SACnB9rB,KAAK8rD,KAAOhgC,EAAM,QAClB9rB,KAAK0+B,QAAU5S,EAAM,WACrB9rB,KAAKy4C,aAAe3sB,EAAM,gBAC1B9rB,KAAKg1B,OAASlJ,EAAM,UACpB9rB,KAAK+rD,SAAWjgC,EAAM,eAE7B,oBASD,SAAO5vB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK2+B,KACpBziC,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,SAAW8D,KAAKq0B,MACrBn4B,EAAK,QAAU8D,KAAK8rD,KACpB5vD,EAAK,WAAa8D,KAAK0+B,QACvBxiC,EAAK,gBAAkB8D,KAAKy4C,aAC5Bv8C,EAAK,UAAY8D,KAAKg1B,OACtB94B,EAAK,YAAc8D,KAAK+rD,SACjB7vD,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIurB,EAEjB,OADAvrB,EAAOivB,KAAKtwB,GACLqB,MACV,EArCyB,GAgEjByuD,GAAqB,WAO9B,WAAY9vD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAK4sC,cAAgB9gB,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,EACzGZ,KAAKq7B,aAAevP,EAAM,gBAC1B9rB,KAAKsO,OAASwd,EAAM,aAE3B,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,iBAAmB8D,KAAK4sC,cAAgB5sC,KAAK4sC,cAAc/c,aAAY,QAAajvB,EACzF1E,EAAK,gBAAkB8D,KAAKq7B,aAC5Bn/B,EAAK,UAAY8D,KAAKsO,OACfpS,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyuD,EAEjB,OADAzuD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/B6B,GAoDrB0uD,GAAsC,WAG/C,WAAY/vD,GACR,GADsD,UAClDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAgBnD,OAbA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,KAErF,oBASD,SAAO1E,GAGH,OAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EACvD1E,KACV,qBAXD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0uD,EAEjB,OADA1uD,EAAOivB,KAAKtwB,GACLqB,MACV,EAvB8C,GAoCtC0rB,GAA6B,WAItC,WAAY/sB,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKq2B,MAAQvK,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC9rB,KAAKsM,cAAgB,GAAU,IACQ,EADR,IACdwf,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACT/F,KAAKsM,cAAetP,KAAKkvD,GAAwB1nD,OAAOuB,KAAO,kCAG9E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAW8D,KAAKq2B,MACjBxwB,MAAMC,QAAQ9F,KAAKsM,eAAgB,CACnCpQ,EAAK,iBAAmB,GAAG,IACQ,EADR,IACV8D,KAAKsM,eAAa,IAAnC,2BACI,KADKvG,EAAI,QACT7J,EAAK,iBAAiBc,KAAK+I,EAAKwmB,WAAU,+BAElD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0rB,EAEjB,OADA1rB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BqC,GAgD7B2uD,GAAuB,WA8BhC,WAAYhwD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2CnD,OAxCA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK2M,YAAcmf,EAAM,eACzB9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAK45C,iBAAmB9tB,EAAM,oBAC9B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAK65C,mBAAqB/tB,EAAM,sBAChC9rB,KAAKu4C,gBAAkBzsB,EAAM,mBAC7B9rB,KAAKw4C,cAAgB1sB,EAAM,iBAC3B9rB,KAAK85C,kBAAoBhuB,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAK+5C,gBAAkBjuB,EAAM,mBAAqBhZ,GAAOC,UAAU+Y,EAAM,mBAAmByD,iBAAmB3uB,EAC/GZ,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAKqgC,cAAgBvU,EAAM,iBAC3B9rB,KAAKy4C,aAAe3sB,EAAM,gBAC1B9rB,KAAKizB,WAAanH,EAAM,cACxB9rB,KAAK++B,UAAYjT,EAAM,aACvB9rB,KAAK84C,cAAgBhtB,EAAM,iBAC3B9rB,KAAKw0B,aAAe1I,EAAM,gBAC1B9rB,KAAK+zB,UAAYjI,EAAM,aACvB9rB,KAAKi0B,WAAanI,EAAM,cACxB9rB,KAAKg0B,WAAalI,EAAM,cACxB9rB,KAAKi/B,YAAcnT,EAAM,eACzB9rB,KAAKohC,MAAQtV,EAAM,SACnB9rB,KAAKg6B,KAAOlO,EAAM,QAClB9rB,KAAKwoB,QAAUsD,EAAM,WACrB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKmyC,cAAgBrmB,EAAM,iBAC3B9rB,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,KAEhH,oBASD,SAAO1E,GA8BH,OA7BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,eAAiB8D,KAAK2M,YAC3BzQ,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,oBAAsB8D,KAAK45C,iBAChC19C,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,sBAAwB8D,KAAK65C,mBAClC39C,EAAK,mBAAqB8D,KAAKu4C,gBAC/Br8C,EAAK,iBAAmB8D,KAAKw4C,cAC7Bt8C,EAAK,qBAAuB8D,KAAK85C,kBAAoB95C,KAAK85C,kBAAkBjqB,aAAY,QAAajvB,EACrG1E,EAAK,mBAAqB8D,KAAK+5C,gBAAkB/5C,KAAK+5C,gBAAgBlqB,aAAY,QAAajvB,EAC/F1E,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,iBAAmB8D,KAAKqgC,cAC7BnkC,EAAK,gBAAkB8D,KAAKy4C,aAC5Bv8C,EAAK,cAAgB8D,KAAKizB,WAC1B/2B,EAAK,aAAe8D,KAAK++B,UACzB7iC,EAAK,iBAAmB8D,KAAK84C,cAC7B58C,EAAK,gBAAkB8D,KAAKw0B,aAC5Bt4B,EAAK,aAAe8D,KAAK+zB,UACzB73B,EAAK,cAAgB8D,KAAKi0B,WAC1B/3B,EAAK,cAAgB8D,KAAKg0B,WAC1B93B,EAAK,eAAiB8D,KAAKi/B,YAC3B/iC,EAAK,SAAW8D,KAAKohC,MACrBllC,EAAK,QAAU8D,KAAKg6B,KACpB99B,EAAK,WAAa8D,KAAKwoB,QACvBtsB,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,iBAAmB8D,KAAKmyC,cAC7Bj2C,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EAClF1E,KACV,qBAtCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2uD,EAEjB,OADA3uD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7E+B,GAgJvB4uD,GAAwC,WAOjD,WAAYjwD,GACR,GADwD,UACpDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6nB,wBAA0BiE,EAAM,2BAA6BsgC,GAAgC5nD,OAAOsnB,EAAM,iCAAmClrB,EAClJZ,KAAK42B,aAAe9K,EAAM,gBAC1B9rB,KAAK62B,WAAa/K,EAAM,cACxB9rB,KAAK82B,QAAUhL,EAAM,WACrB9rB,KAAK+2B,YAAcjL,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,2BAA6B8D,KAAK6nB,wBAA0B7nB,KAAK6nB,wBAAwB0E,cAAgB3rB,EAC9G1E,EAAK,gBAAkB8D,KAAK42B,aAC5B16B,EAAK,cAAgB8D,KAAK62B,WAC1B36B,EAAK,WAAa8D,KAAK82B,QACvB56B,EAAK,eAAiB8D,KAAK+2B,YACpB76B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4uD,EAEjB,OADA5uD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BgD,GAoDxC6uD,GAA+B,WAgBxC,WAAYlwD,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAKouC,aAAetiB,EAAM,gBAC1B9rB,KAAK0jB,UAAYoI,EAAM,aACvB9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKq5C,qBAAuBvtB,EAAM,wBAClC9rB,KAAKs5C,uBAAyBxtB,EAAM,0BACpC9rB,KAAKu5C,sBAAwBztB,EAAM,yBACnC9rB,KAAKw5C,wBAA0B1tB,EAAM,2BACrC9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK84C,cAAgBhtB,EAAM,iBAC3B9rB,KAAK20C,kBAAoB7oB,EAAM,qBAAuBhZ,GAAOC,UAAU+Y,EAAM,qBAAqByD,iBAAmB3uB,EACrHZ,KAAKo0B,cAAgBtI,EAAM,iBAAmBhZ,GAAOC,UAAU+Y,EAAM,iBAAiByD,iBAAmB3uB,KAEhH,oBASD,SAAO1E,GAgBH,OAfAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,gBAAkB8D,KAAKouC,aAC5BlyC,EAAK,aAAe8D,KAAK0jB,UACzBxnB,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,wBAA0B8D,KAAKq5C,qBACpCn9C,EAAK,0BAA4B8D,KAAKs5C,uBACtCp9C,EAAK,yBAA2B8D,KAAKu5C,sBACrCr9C,EAAK,2BAA6B8D,KAAKw5C,wBACvCt9C,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EAC9D1E,EAAK,iBAAmB8D,KAAK84C,cAC7B58C,EAAK,qBAAuB8D,KAAK20C,kBAAoB30C,KAAK20C,kBAAkB9kB,aAAY,QAAajvB,EACrG1E,EAAK,iBAAmB8D,KAAKo0B,cAAgBp0B,KAAKo0B,cAAcvE,aAAY,QAAajvB,EAClF1E,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6uD,EAEjB,OADA7uD,EAAOivB,KAAKtwB,GACLqB,MACV,EAjDuC,IAwF5C,SAAYotD,GACRA,0CACAA,8CACAA,4CACAA,8BACAA,8BACAA,gCACAA,wBACAA,4BACAA,yCATJ,CAAYA,QAAwB,KAY7B,IAwQK0B,GAxQC9iC,GAAa,WAMtB,WAAYrtB,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKqpB,QAAUyC,EAAM,WACrB9rB,KAAKopB,QAAU0C,EAAM,WACrB9rB,KAAKmpB,OAAS2C,EAAM,aAE3B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAKqpB,QACvBntB,EAAK,WAAa8D,KAAKopB,QACvBltB,EAAK,UAAY8D,KAAKmpB,OACfjtB,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgsB,EAEjB,OADAhsB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BqB,GAgDb0sB,GAAY,WAKrB,WAAY/tB,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKssD,cAAgBxgC,EAAM,iBAC3B9rB,KAAKusD,YAAczgC,EAAM,kBAEhC,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,iBAAmB8D,KAAKssD,cAC7BpwD,EAAK,eAAiB8D,KAAKusD,YACpBrwD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0sB,EAEjB,OADA1sB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BoB,GA4CZ4sB,GAAiB,WA+B1B,WAAYjuB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAwDnD,OArDA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAaP,GAZA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK05B,QAAU5N,EAAM,WACrB9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKw4C,cAAgB1sB,EAAM,iBAC3B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKu4C,gBAAkBzsB,EAAM,mBAC7B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAKsiD,oBAAsBx2B,EAAM,uBACjC9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKg0C,IAAMloB,EAAM,OACbjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C9rB,KAAK86C,mBAAqB,GAAU,IACQ,EADR,IACnBhvB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACT/F,KAAK86C,mBAAoB99C,KAAK4rB,GAAmBpkB,OAAOuB,KAAO,+BAEvE,GAAIF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C9rB,KAAKwsD,iBAAmB,GAAU,IACQ,EADR,IACjB1gC,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACT/F,KAAKwsD,iBAAkBxvD,KAAK4rB,GAAmBpkB,OAAOuB,KAAO,+BAOrE,GALA/F,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAKysD,6BAA+B3gC,EAAM,gCAC1C9rB,KAAKiE,OAAS6nB,EAAM,UACpB9rB,KAAK+/B,iBAAmBjU,EAAM,oBAAsBhZ,GAAOC,UAAU+Y,EAAM,oBAAoByD,iBAAmB3uB,EAClHZ,KAAK0sD,gBAAkB5gC,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BAEpC/F,KAAKm9B,0BAA4BrR,EAAM,6BACvC9rB,KAAKg+B,4BAA8BlS,EAAM,+BACzC9rB,KAAKmgC,aAAerU,EAAM,gBAC1B9rB,KAAKogC,kBAAoBtU,EAAM,qBAC/B9rB,KAAKkgC,qBAAuBpU,EAAM,wBAClC9rB,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAKwkB,WAAasH,EAAM,cACxB9rB,KAAKmgD,gBAAkBr0B,EAAM,mBAC7B9rB,KAAK2sD,4BAA8B7gC,EAAM,kCAEhD,oBASD,SAAO5vB,GAcH,GAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAK05B,QACvBx9B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKw4C,cAC7Bt8C,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,mBAAqB8D,KAAKu4C,gBAC/Br8C,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,uBAAyB8D,KAAKsiD,oBACnCpmD,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,OAAS8D,KAAKg0C,IACfnuC,MAAMC,QAAQ9F,KAAK86C,oBAAqB,CACxC5+C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACf8D,KAAK86C,oBAAkB,IAAxC,2BACI,KADK/0C,EAAI,QACT7J,EAAK,sBAAsBc,KAAK+I,EAAKwmB,WAAU,+BAEvD,GAAI1mB,MAAMC,QAAQ9F,KAAKwsD,kBAAmB,CACtCtwD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACb8D,KAAKwsD,kBAAgB,IAAtC,2BACI,KADKzmD,EAAI,QACT7J,EAAK,oBAAoBc,KAAK+I,EAAKwmB,WAAU,+BAOrD,GALArwB,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,gCAAkC8D,KAAKysD,6BAC5CvwD,EAAK,UAAY8D,KAAKiE,OACtB/H,EAAK,oBAAsB8D,KAAK+/B,iBAAmB//B,KAAK+/B,iBAAiBlQ,aAAY,QAAajvB,EAClG1E,EAAK,mBAAqB8D,KAAK0sD,gBAC3B7mD,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAWtC,OATA7J,EAAK,6BAA+B8D,KAAKm9B,0BACzCjhC,EAAK,+BAAiC8D,KAAKg+B,4BAC3C9hC,EAAK,gBAAkB8D,KAAKmgC,aAC5BjkC,EAAK,qBAAuB8D,KAAKogC,kBACjClkC,EAAK,wBAA0B8D,KAAKkgC,qBACpChkC,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,cAAgB8D,KAAKwkB,WAC1BtoB,EAAK,mBAAqB8D,KAAKmgD,gBAC/BjkD,EAAK,+BAAiC8D,KAAK2sD,4BACpCzwD,KACV,qBAnDD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4sB,EAEjB,OADA5sB,EAAOivB,KAAKtwB,GACLqB,MACV,EA3FyB,IA4K9B,SAAY8uD,GACRA,kCACAA,kCACAA,yCAHJ,CAAYA,QAA2B,KAMhC,IAmiCKO,GAniCCviC,GAA+B,WAexC,WAAYnuB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAK05B,QAAU5N,EAAM,WACrB9rB,KAAKqzB,aAAevH,EAAM,gBAC1B9rB,KAAKw4C,cAAgB1sB,EAAM,iBAC3B9rB,KAAKuzB,cAAgBzH,EAAM,iBAC3B9rB,KAAKwzB,eAAiB1H,EAAM,kBAC5B9rB,KAAK0zB,gBAAkB5H,EAAM,mBAC7B9rB,KAAKu4C,gBAAkBzsB,EAAM,mBAC7B9rB,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK4gC,YAAc9U,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAK4/B,mBAAqB9T,EAAM,sBAChC9rB,KAAKk+B,oBAAsBpS,EAAM,uBACjC9rB,KAAKg0C,IAAMloB,EAAM,UAExB,oBASD,SAAO5vB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,WAAa8D,KAAK05B,QACvBx9B,EAAK,gBAAkB8D,KAAKqzB,aAC5Bn3B,EAAK,iBAAmB8D,KAAKw4C,cAC7Bt8C,EAAK,iBAAmB8D,KAAKuzB,cAC7Br3B,EAAK,kBAAoB8D,KAAKwzB,eAC9Bt3B,EAAK,mBAAqB8D,KAAK0zB,gBAC/Bx3B,EAAK,mBAAqB8D,KAAKu4C,gBAC/Br8C,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,eAAiB8D,KAAK4gC,YAAc5gC,KAAK4gC,YAAY/Q,aAAY,QAAajvB,EACnF1E,EAAK,sBAAwB8D,KAAK4/B,mBAClC1jC,EAAK,uBAAyB8D,KAAKk+B,oBACnChiC,EAAK,OAAS8D,KAAKg0C,IACZ93C,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8sB,EAEjB,OADA9sB,EAAOivB,KAAKtwB,GACLqB,MACV,EA/CuC,GAoF/BsvD,GAAuB,WAgBhC,WAAY3wD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAEP,GADA9rB,KAAK6J,UAAYiiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,+BAEpC/F,KAAKsyB,SAAWxG,EAAM,YACtB9rB,KAAK4zC,SAAW9nB,EAAM,YACtB9rB,KAAK2jB,SAAWmI,EAAM,YACtB9rB,KAAKg0C,IAAMloB,EAAM,OACjB9rB,KAAKksC,iBAAmBpgB,EAAM,oBAC9B9rB,KAAKmsC,mBAAqBrgB,EAAM,sBAChC9rB,KAAKsiD,oBAAsBx2B,EAAM,uBACjC9rB,KAAKm9B,0BAA4BrR,EAAM,6BACvC9rB,KAAKg+B,4BAA8BlS,EAAM,+BACzC9rB,KAAKmgC,aAAerU,EAAM,gBAC1B9rB,KAAKogC,kBAAoBtU,EAAM,qBAC/B9rB,KAAKkgC,qBAAuBpU,EAAM,2BAEzC,oBASD,SAAO5vB,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACrBhE,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BActC,OAZA7J,EAAK,YAAc8D,KAAKsyB,SACxBp2B,EAAK,YAAc8D,KAAK4zC,SACxB13C,EAAK,YAAc8D,KAAK2jB,SACxBznB,EAAK,OAAS8D,KAAKg0C,IACnB93C,EAAK,oBAAsB8D,KAAKksC,iBAChChwC,EAAK,sBAAwB8D,KAAKmsC,mBAClCjwC,EAAK,uBAAyB8D,KAAKsiD,oBACnCpmD,EAAK,6BAA+B8D,KAAKm9B,0BACzCjhC,EAAK,+BAAiC8D,KAAKg+B,4BAC3C9hC,EAAK,gBAAkB8D,KAAKmgC,aAC5BjkC,EAAK,qBAAuB8D,KAAKogC,kBACjClkC,EAAK,wBAA0B8D,KAAKkgC,qBAC7BhkC,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsvD,EAEjB,OADAtvD,EAAOivB,KAAKtwB,GACLqB,MACV,EArD+B,GAgGvBuvD,GAAM,WAIf,WAAY5wD,GACR,GADsB,UAClBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKg0C,IAAMloB,EAAM,UAExB,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,OAAS8D,KAAKg0C,IACZ93C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuvD,EAEjB,OADAvvD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBc,GAwCNwvD,GAAmC,WAM5C,WAAY7wD,GACR,GADmD,UAC/CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKmgC,aAAerU,EAAM,gBAC1B9rB,KAAKogC,kBAAoBtU,EAAM,qBAC/B9rB,KAAKkgC,qBAAuBpU,EAAM,2BAEzC,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,gBAAkB8D,KAAKmgC,aAC5BjkC,EAAK,qBAAuB8D,KAAKogC,kBACjClkC,EAAK,wBAA0B8D,KAAKkgC,qBAC7BhkC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwvD,EAEjB,OADAxvD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B2C,GAgDnCyvD,GAAwB,WAMjC,WAAY9wD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKsiD,oBAAsBx2B,EAAM,uBACjC9rB,KAAKm9B,0BAA4BrR,EAAM,6BACvC9rB,KAAKg+B,4BAA8BlS,EAAM,kCAEhD,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,uBAAyB8D,KAAKsiD,oBACnCpmD,EAAK,6BAA+B8D,KAAKm9B,0BACzCjhC,EAAK,+BAAiC8D,KAAKg+B,4BACpC9hC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyvD,EAEjB,OADAzvD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BgC,GAgDxB0vD,GAAiC,WAI1C,WAAY/wD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,4BAA6B,CACjD9rB,KAAKktD,wBAA0B,GAAU,IACQ,EADR,IACxBphC,EAAM,4BAA0B,IAAjD,2BACI,KADK/lB,EAAI,QACT/F,KAAKktD,wBAAyBlwD,KAAKmwD,GAAU3oD,OAAOuB,KAAO,+BAEnE/F,KAAKotD,WAAathC,EAAM,iBAE/B,oBASD,SAAO5vB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrC2J,MAAMC,QAAQ9F,KAAKktD,yBAA0B,CAC7ChxD,EAAK,2BAA6B,GAAG,IACQ,EADR,IACpB8D,KAAKktD,yBAAuB,IAA7C,2BACI,KADKnnD,EAAI,QACT7J,EAAK,2BAA2Bc,KAAK+I,EAAKwmB,WAAU,+BAG5D,OADArwB,EAAK,cAAgB8D,KAAKotD,WACnBlxD,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0vD,EAEjB,OADA1vD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7ByC,GAgDjC4vD,GAAS,WAIlB,WAAYjxD,GACR,GADyB,UACrBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAKiE,OAAS6nB,EAAM,aAE3B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,UAAY8D,KAAKiE,OACf/H,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4vD,EAEjB,OADA5vD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBiB,GAwCT8vD,GAAsB,WAI/B,WAAYnxD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC1BjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC9rB,KAAKmpC,WAAa,GAAU,IACQ,EADR,IACXrd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmpC,WAAYnsC,KAAK+I,IAAM,kCAG3C,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAC5BhH,MAAMC,QAAQ9F,KAAKmpC,YAAa,CAChCjtC,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAKmpC,YAAU,IAAhC,2BACI,KADKpjC,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAEtC,OAAO7J,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8vD,EAEjB,OADA9vD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B8B,GAgDtB+vD,GAAW,WAIpB,WAAYpxD,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6M,iBAAmBif,EAAM,oBAC9B9rB,KAAK4zC,SAAW9nB,EAAM,eAE7B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsB8D,KAAK6M,iBAChC3Q,EAAK,YAAc8D,KAAK4zC,SACjB13C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+vD,EAEjB,OADA/vD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBmB,GAwCXguB,GAA+B,WAIxC,WAAYrvB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK05B,QAAU5N,EAAM,WACrB9rB,KAAK4zC,SAAW9nB,EAAM,eAE7B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAK05B,QACvBx9B,EAAK,YAAc8D,KAAK4zC,SACjB13C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIguB,EAEjB,OADAhuB,EAAOivB,KAAKtwB,GACLqB,MACV,EAzBuC,GAwC/BgwD,GAA0C,WAKnD,WAAYrxD,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACvB9rB,KAAK83B,KAAOhM,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAK+3B,GAAKjM,EAAM,MAAQhZ,GAAOC,UAAU+Y,EAAM,MAAMyD,iBAAmB3uB,KAE/E,oBASD,SAAO1E,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACzB3N,EAAK,QAAU8D,KAAK83B,KAAO93B,KAAK83B,KAAKjI,aAAY,QAAajvB,EAC9D1E,EAAK,MAAQ8D,KAAK+3B,GAAK/3B,KAAK+3B,GAAGlI,aAAY,QAAajvB,EACjD1E,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgwD,EAEjB,OADAhwD,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BkD,GA4C1CkuB,GAAoB,WAI7B,WAAYvvB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAK6J,UAAYiiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,eAAe,CACnC9rB,KAAKorB,UAAY,GAAU,IACQ,EADR,IACVU,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACT/F,KAAKorB,UAAWpuB,KAAKswD,GAAY9oD,OAAOuB,KAAO,kCAG9D,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAK6J,UACrBhE,MAAMC,QAAQ9F,KAAKorB,WAAY,CAC/BlvB,EAAK,aAAe,GAAG,IACQ,EADR,IACN8D,KAAKorB,WAAS,IAA/B,2BACI,KADKrlB,EAAI,QACT7J,EAAK,aAAac,KAAK+I,EAAKwmB,WAAU,+BAE9C,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkuB,EAEjB,OADAluB,EAAOivB,KAAKtwB,GACLqB,MACV,EA7B4B,GAgDpBiN,GAAY,WAWrB,WAAYtO,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKqsB,GACD,GAAIA,IACA9rB,KAAKgH,QAAU8kB,EAAM,WACrB9rB,KAAKosB,UAAYN,EAAM,aACvB9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAK6wB,MAAQ/E,EAAM,SACnB9rB,KAAK8xB,gBAAkBhG,EAAM,mBAC7B9rB,KAAKoxB,iBAAmBtF,EAAM,oBAC9B9rB,KAAKqxB,iBAAmBvF,EAAM,oBAC9B9rB,KAAK2V,QAAUmW,EAAM,WACjBjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC9rB,KAAK2xB,WAAa,GAAU,IACQ,EADR,IACX7F,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACT/F,KAAK2xB,WAAY30B,KAAK+I,IAAM,kCAG3C,oBASD,SAAO7J,GAUH,GATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAa8D,KAAKgH,QACvB9K,EAAK,aAAe8D,KAAKosB,UACzBlwB,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,SAAW8D,KAAK6wB,MACrB30B,EAAK,mBAAqB8D,KAAK8xB,gBAC/B51B,EAAK,oBAAsB8D,KAAKoxB,iBAChCl1B,EAAK,oBAAsB8D,KAAKqxB,iBAChCn1B,EAAK,WAAa8D,KAAK2V,QACnB9P,MAAMC,QAAQ9F,KAAK2xB,YAAa,CAChCz1B,EAAK,cAAgB,GAAG,IACQ,EADR,IACP8D,KAAK2xB,YAAU,IAAhC,2BACI,KADK5rB,EAAI,QACT7J,EAAK,cAAcc,KAAK+I,IAAM,+BAEtC,OAAO7J,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIiN,EAEjB,OADAjN,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CoB,GA4EZqN,GAAe,WAaxB,WAAY1O,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAK6wB,MAAQ/E,EAAM,SACnB9rB,KAAK8wB,QAAUhF,EAAM,WAAahZ,GAAOC,UAAU+Y,EAAM,WAAWyD,iBAAmB3uB,EACvFZ,KAAKwtD,YAAc1hC,EAAM,eAAiBhZ,GAAOC,UAAU+Y,EAAM,eAAeyD,iBAAmB3uB,EACnGZ,KAAK8xB,gBAAkBhG,EAAM,mBAC7B9rB,KAAKoxB,iBAAmBtF,EAAM,oBAC9B9rB,KAAKqxB,iBAAmBvF,EAAM,oBAC9B9rB,KAAK2V,QAAUmW,EAAM,WACrB9rB,KAAKyxB,gBAAkB3F,EAAM,mBAC7B9rB,KAAKytD,UAAY3hC,EAAM,aACvB9rB,KAAK0tD,aAAe5hC,EAAM,mBAEjC,oBASD,SAAO5vB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,SAAW8D,KAAK6wB,MACrB30B,EAAK,WAAa8D,KAAK8wB,QAAU9wB,KAAK8wB,QAAQjB,aAAY,QAAajvB,EACvE1E,EAAK,eAAiB8D,KAAKwtD,YAAcxtD,KAAKwtD,YAAY39B,aAAY,QAAajvB,EACnF1E,EAAK,mBAAqB8D,KAAK8xB,gBAC/B51B,EAAK,oBAAsB8D,KAAKoxB,iBAChCl1B,EAAK,oBAAsB8D,KAAKqxB,iBAChCn1B,EAAK,WAAa8D,KAAK2V,QACvBzZ,EAAK,mBAAqB8D,KAAKyxB,gBAC/Bv1B,EAAK,aAAe8D,KAAKytD,UACzBvxD,EAAK,gBAAkB8D,KAAK0tD,aACrBxxD,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqN,EAEjB,OADArN,EAAOivB,KAAKtwB,GACLqB,MACV,EA3CuB,GA4EfuN,GAAa,WAKtB,WAAY5O,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAKitB,SAAWnB,EAAM,YACtB9rB,KAAKgtB,MAAQlB,EAAM,YAE1B,oBASD,SAAO5vB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,YAAc8D,KAAKitB,SACxB/wB,EAAK,SAAW8D,KAAKgtB,MACd9wB,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuN,EAEjB,OADAvN,EAAOivB,KAAKtwB,GACLqB,MACV,EA3BqB,GA4CbyN,GAAe,WAcxB,WAAY9O,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK1B,KAAOwtB,EAAM,QAClB9rB,KAAK6wB,MAAQ/E,EAAM,SACnB9rB,KAAKyxB,gBAAkB3F,EAAM,mBAC7B9rB,KAAK2V,QAAUmW,EAAM,WACrB9rB,KAAK8xB,gBAAkBhG,EAAM,mBAC7B9rB,KAAKoxB,iBAAmBtF,EAAM,oBAC9B9rB,KAAKqxB,iBAAmBvF,EAAM,oBAC9B9rB,KAAKyyB,oBAAsB3G,EAAM,uBACjC9rB,KAAKwyB,qBAAuB1G,EAAM,wBAClC9rB,KAAKwxB,qBAAuB1F,EAAM,wBAClC9rB,KAAKytD,UAAY3hC,EAAM,aACvB9rB,KAAK0tD,aAAe5hC,EAAM,mBAEjC,oBASD,SAAO5vB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAU8D,KAAK1B,KACpBpC,EAAK,SAAW8D,KAAK6wB,MACrB30B,EAAK,mBAAqB8D,KAAKyxB,gBAC/Bv1B,EAAK,WAAa8D,KAAK2V,QACvBzZ,EAAK,mBAAqB8D,KAAK8xB,gBAC/B51B,EAAK,oBAAsB8D,KAAKoxB,iBAChCl1B,EAAK,oBAAsB8D,KAAKqxB,iBAChCn1B,EAAK,uBAAyB8D,KAAKyyB,oBACnCv2B,EAAK,wBAA0B8D,KAAKwyB,qBACpCt2B,EAAK,wBAA0B8D,KAAKwxB,qBACpCt1B,EAAK,aAAe8D,KAAKytD,UACzBvxD,EAAK,gBAAkB8D,KAAK0tD,aACrBxxD,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyN,EAEjB,OADAzN,EAAOivB,KAAKtwB,GACLqB,MACV,EA7CuB,GAoJf4N,GAAc,WAIvB,WAAYjP,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAG3CvD,IACD8D,KAAK2tD,gBAAkB,IAoB9B,OAlBA,uBAED,SAAK7hC,GACD,GAAIA,IACA9rB,KAAKkjC,UAAYpX,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,qBAAqB,CACzC9rB,KAAK2tD,gBAAkB,GAAU,IACQ,EADR,IAChB7hC,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACT/F,KAAK2tD,gBAAiB3wD,KAAK4wD,GAAkBppD,OAAOuB,KAAO,kCAG1E,oBASD,SAAO7J,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAe8D,KAAKkjC,UACrBr9B,MAAMC,QAAQ9F,KAAK2tD,iBAAkB,CACrCzxD,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZ8D,KAAK2tD,iBAAe,IAArC,2BACI,KADK5nD,EAAI,QACT7J,EAAK,mBAAmBc,KAAK+I,EAAKwmB,WAAU,+BAEpD,OAAOrwB,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4N,EAEjB,OADA5N,EAAOivB,KAAKtwB,GACLqB,MACV,EAhCsB,GAmDdqwD,GAAiB,WAI1B,WAAY1xD,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK6tD,gBAAkB/hC,EAAM,mBAC7B9rB,KAAK8tD,MAAQhiC,EAAM,YAE1B,oBASD,SAAO5vB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,mBAAqB8D,KAAK6tD,gBAC/B3xD,EAAK,SAAW8D,KAAK8tD,MACd5xD,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqwD,EAEjB,OADArwD,EAAOivB,KAAKtwB,GACLqB,MACV,EAzByB,IAwC9B,SAAYqvD,GACRA,sBACAA,8BACAA,gCACAA,8CACAA,gCACAA,6BANJ,CAAYA,QAAe,KASpB,IAgHKmB,GAhHCxiD,GAAiB,WAM1B,WAAYrP,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKqsB,GACD,GAAIA,EAAO,CAGP,GAFA9rB,KAAKiL,SAAW6gB,EAAM,YACtB9rB,KAAKguD,eAAiBliC,EAAM,kBACxBjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC9rB,KAAKiuD,aAAe,GAAU,IACQ,EADR,IACbniC,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACT/F,KAAKiuD,aAAcjxD,KAAKkxD,GAAgB1pD,OAAOuB,KAAO,+BAE9D,GAAIF,MAAMC,QAAQgmB,EAAM,aAAc,CAClC9rB,KAAKmuD,SAAW,GAAU,IACQ,EADR,IACTriC,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACT/F,KAAKmuD,SAAUnxD,KAAKoxD,GAAW5pD,OAAOuB,KAAO,mCAG5D,oBASD,SAAO7J,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAc8D,KAAKiL,SACxB/O,EAAK,kBAAoB8D,KAAKguD,eAC1BnoD,MAAMC,QAAQ9F,KAAKiuD,cAAe,CAClC/xD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACT8D,KAAKiuD,cAAY,IAAlC,2BACI,KADKloD,EAAI,QACT7J,EAAK,gBAAgBc,KAAK+I,EAAKwmB,WAAU,+BAEjD,GAAI1mB,MAAMC,QAAQ9F,KAAKmuD,UAAW,CAC9BjyD,EAAK,YAAc,GAAG,IACQ,EADR,IACL8D,KAAKmuD,UAAQ,IAA9B,2BACI,KADKpoD,EAAI,QACT7J,EAAK,YAAYc,KAAK+I,EAAKwmB,WAAU,+BAE7C,OAAOrwB,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgO,EAEjB,OADAhO,EAAOivB,KAAKtwB,GACLqB,MACV,EArCyB,GAgEjB2wD,GAAe,WAMxB,WAAYhyD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKquD,MAAQviC,EAAM,SAAWhZ,GAAOw7C,SAASxiC,EAAM,SAASyD,iBAAmB3uB,EAChFZ,KAAKuuD,KAAOziC,EAAM,QAAUhZ,GAAOw7C,SAASxiC,EAAM,QAAQyD,iBAAmB3uB,EAC7EZ,KAAKwuD,QAAU1iC,EAAM,cAE5B,oBASD,SAAO5vB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,SAAW8D,KAAKquD,MAAQruD,KAAKquD,MAAMI,OAAO,gBAAiB,CAAEC,MAAM,SAAgB9tD,EACxF1E,EAAK,QAAU8D,KAAKuuD,KAAOvuD,KAAKuuD,KAAKE,OAAO,gBAAiB,CAAEC,MAAM,SAAgB9tD,EACrF1E,EAAK,WAAa8D,KAAKwuD,QAChBtyD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2wD,EAEjB,OADA3wD,EAAOivB,KAAKtwB,GACLqB,MACV,EA7BuB,IAgD5B,SAAYwwD,GACRA,4BACAA,8BACAA,2BAHJ,CAAYA,QAAO,KAMZ,IAmGGj7C,GAnGGs7C,GAAU,WAOnB,WAAYlyD,GACR,GAD0B,UACtBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdO,KAAMP,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKqsB,GACGA,IACA9rB,KAAK2uB,GAAK7C,EAAM,MAChB9rB,KAAKy0B,KAAO3I,EAAM,QAAUhZ,GAAOC,UAAU+Y,EAAM,QAAQyD,iBAAmB3uB,EAC9EZ,KAAKquD,MAAQviC,EAAM,SAAWhZ,GAAOw7C,SAASxiC,EAAM,SAASyD,iBAAmB3uB,EAChFZ,KAAKuuD,KAAOziC,EAAM,QAAUhZ,GAAOw7C,SAASxiC,EAAM,QAAQyD,iBAAmB3uB,EAC7EZ,KAAKywB,YAAc3E,EAAM,kBAEhC,oBASD,SAAO5vB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQ8D,KAAK2uB,GAClBzyB,EAAK,QAAU8D,KAAKy0B,KAAOz0B,KAAKy0B,KAAK5E,aAAY,QAAajvB,EAC9D1E,EAAK,SAAW8D,KAAKquD,MAAQruD,KAAKquD,MAAMI,OAAO,gBAAiB,CAAEC,MAAM,SAAgB9tD,EACxF1E,EAAK,QAAU8D,KAAKuuD,KAAOvuD,KAAKuuD,KAAKE,OAAO,gBAAiB,CAAEC,MAAM,SAAgB9tD,EACrF1E,EAAK,eAAiB8D,KAAKywB,YACpBv0B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6wD,EAEjB,OADA7wD,EAAOivB,KAAKtwB,GACLqB,MACV,EA/BkB,GAgEVoxD,GAAa,8BAOtB,WAAYztD,EAAiB+C,EAAgBxB,EAAkBP,EAAkC3E,GAAW,MAOnF,OAPmF,UACxG,eASM,EAAAqxD,gBAAiB,EAPvB,EAAK1tD,QAAUA,EACf,EAAK+C,OAASA,EACd,EAAKxB,SAAWA,EAChB,EAAKP,QAAUA,EACf,EAAK3E,OAASA,EAAO,EAOxB,OANA,sCAID,SAAsBsxD,GAClB,OAA8B,IAAvBA,EAAID,mBACd,EArBqB,CAqBrB,EArB6BjqD,QAwBlC,SAASF,GAAevD,EAAiB+C,EAAgBxB,EAAkBP,EAAkC3E,GACzG,MAAe,OAAXA,QAA8BqD,IAAXrD,EACbA,EAEA,IAAIoxD,GAAaztD,EAAS+C,EAAQxB,EAAUP,EAAS,MAGnE,SAAS4B,GAAa+qD,GAClB,OAAOA,IAA4B,IAArBA,EAAI/qD,cAGtB,SAAUgP,GAGN,SAAgBw7C,EAASQ,GAAiB,OAAOC,GAAUC,QAAQF,GACnE,SAAgB/7C,EAAU+7C,GAAiB,OAAOG,GAAMC,cAAcJ,GADtDh8C,WAAQ,EACRA,YAAS,GAJ7B,CAAUA,QAAM,KCxx5CD,I,GAAA,YAACq8C,GACd,MAAM,IAAIxqD,MAAM,4DAAD,OAC+CwqD,EAAC,4HCClD,YAACA,GACd,OAAQA,GACN,KAAKriC,GAASsiC,OACZ,MAAO,UACT,KAAKtiC,GAASuiC,iBACZ,MAAO,mBACT,KAAKviC,GAASwiC,YACZ,MAAO,cACT,KAAKxiC,GAASyiC,gBACZ,MAAO,kBACT,KAAKziC,GAAS0iC,kBACZ,MAAO,oBACT,KAAK1iC,GAAS2iC,eACZ,MAAO,iBACT,KAAK3iC,GAAS4iC,iBACZ,MAAO,mBACT,KAAK5iC,GAAS6iC,YACZ,MAAO,cACT,KAAK7iC,GAAS8iC,cACZ,MAAO,gBACT,KAAK9iC,GAAS+iC,cACZ,MAAO,gBACT,KAAK/iC,GAASgjC,eACZ,MAAO,iBACT,KAAKhjC,GAASijC,YACZ,MAAO,cACT,KAAKjjC,GAASkjC,iBACZ,MAAO,mBACT,KAAKljC,GAASmjC,gBACZ,MAAO,kBACT,KAAKnjC,GAASojC,cACZ,MAAO,gBACT,KAAKpjC,GAASqjC,cACZ,MAAO,gBACT,KAAKrjC,GAASsjC,cACZ,MAAO,gBACT,KAAKtjC,GAASujC,gBACZ,MAAO,kBACT,KAAKvjC,GAASwjC,eACZ,MAAO,iBACT,KAAKxjC,GAASyjC,kBACZ,MAAO,oBACT,KAAKzjC,GAAS0jC,cACZ,MAAO,gBACT,KAAK1jC,GAAS2jC,cACZ,MAAO,gBACT,KAAK3jC,GAAS4jC,eACZ,MAAO,iBACT,KAAK5jC,GAAS6jC,WACZ,MAAO,aACT,KAAK7jC,GAAS8jC,cACZ,MAAO,gBACT,KAAK9jC,GAAS+jC,cACZ,MAAO,gBACT,KAAK/jC,GAASgkC,aACZ,MAAO,eACT,KAAKhkC,GAASikC,kBACZ,MAAO,oBACT,KAAKjkC,GAASkkC,cACZ,MAAO,gBACT,KAAKlkC,GAASmkC,iBACZ,MAAO,mBACT,KAAKnkC,GAASokC,gBACZ,MAAO,kBACT,KAAKpkC,GAASqkC,eACZ,MAAO,iBACT,KAAKrkC,GAASskC,gBACZ,MAAO,kBACT,KAAKtkC,GAASukC,6BACZ,MAAO,+BACT,KAAKvkC,GAASwkC,oBACZ,MAAO,sBACT,KAAKxkC,GAASykC,YACZ,MAAO,cACT,KAAKzkC,GAAS0kC,gBACZ,MAAO,kBACT,KAAK1kC,GAAS2kC,YACZ,MAAO,cACT,KAAK3kC,GAAS4kC,UACZ,MAAO,YACT,KAAK5kC,GAAS6kC,WACZ,MAAO,aACT,KAAK7kC,GAAS8kC,aACZ,MAAO,eACT,KAAK9kC,GAAS+kC,aACZ,MAAO,eACT,KAAK/kC,GAASglC,aACZ,MAAO,eACT,KAAKhlC,GAASilC,YACZ,MAAO,cACT,KAAKjlC,GAASklC,oBACZ,MAAO,sBACT,KAAKllC,GAASmlC,aACZ,MAAO,eACT,KAAKnlC,GAASolC,iBACZ,MAAO,mBACT,KAAKplC,GAASqlC,WACZ,MAAO,aACT,KAAKrlC,GAASslC,WACZ,MAAO,aACT,KAAKtlC,GAASulC,gBACZ,MAAO,kBACT,KAAKvlC,GAASwlC,YACZ,MAAO,cACT,KAAKxlC,GAASylC,kBACZ,MAAO,oBACT,KAAKzlC,GAAS0lC,aACZ,MAAO,eACT,KAAK1lC,GAAS2lC,gBACZ,MAAO,kBACT,KAAK3lC,GAAS4lC,aACZ,MAAO,eACT,KAAK5lC,GAAS6lC,aACZ,MAAO,eACT,KAAK7lC,GAAS8lC,gBACZ,MAAO,kBACT,KAAK9lC,GAAS+lC,eACZ,MAAO,iBACT,KAAK/lC,GAASgmC,cACZ,MAAO,gBACT,KAAKhmC,GAASimC,kBACZ,MAAO,oBACT,KAAKjmC,GAASkmC,aACZ,MAAO,eACT,KAAKlmC,GAASmmC,iBACZ,MAAO,mBACT,KAAKnmC,GAASomC,cACZ,MAAO,gBACT,KAAKpmC,GAASqmC,iBACZ,MAAO,mBACT,KAAKrmC,GAASsmC,iBACZ,MAAO,mBACT,KAAKtmC,GAASumC,gBACZ,MAAO,kBACT,KAAKvmC,GAASwmC,mBACZ,MAAO,qBACT,KAAKxmC,GAASymC,eACZ,MAAO,iBACT,KAAKzmC,GAAS0mC,aACZ,MAAO,eACT,KAAK1mC,GAAS2mC,cACZ,MAAO,gBACT,KAAK3mC,GAAS4mC,aACZ,MAAO,eACT,KAAK5mC,GAAS6mC,eACZ,MAAO,iBACT,KAAK7mC,GAAS8mC,WACZ,MAAO,aACT,KAAK9mC,GAAS+mC,gBACZ,MAAO,kBACT,KAAK/mC,GAASgnC,iBACZ,MAAO,mBACT,KAAKhnC,GAASinC,aACZ,MAAO,eACT,KAAKjnC,GAASknC,cACZ,MAAO,gBACT,KAAKlnC,GAASmnC,mBACZ,MAAO,qBACT,KAAKnnC,GAASonC,iBACZ,MAAO,mBACT,KAAKpnC,GAASqnC,iBACZ,MAAO,mBACT,KAAKrnC,GAASsnC,0BACZ,MAAO,4BACT,KAAKtnC,GAASunC,kBACZ,MAAO,oBACT,KAAKvnC,GAASwnC,kBACZ,MAAO,oBACT,KAAKxnC,GAASynC,mBACZ,MAAO,qBACT,KAAKznC,GAAS0nC,iBACZ,MAAO,mBACT,KAAK1nC,GAAS2nC,kBACZ,MAAO,oBACT,KAAK3nC,GAAS4nC,+BACZ,MAAO,iCACT,KAAK5nC,GAAS6nC,0BACZ,MAAO,4BACT,KAAK7nC,GAAS8nC,wBACZ,MAAO,0BACT,KAAK9nC,GAAS+nC,wBACZ,MAAO,0BACT,KAAK/nC,GAASgoC,0BACZ,MAAO,4BACT,KAAKhoC,GAASioC,4BACZ,MAAO,8BACT,KAAKjoC,GAASkoC,2BACZ,MAAO,6BACT,KAAKloC,GAASmoC,2BACZ,MAAO,6BACT,KAAKnoC,GAASooC,0BACZ,MAAO,4BACT,KAAKpoC,GAASqoC,2BACZ,MAAO,6BACT,KAAKroC,GAASsoC,+BACZ,MAAO,iCACT,KAAKtoC,GAASuoC,0BACZ,MAAO,4BACT,KAAKvoC,GAASwoC,kBACZ,MAAO,oBACT,KAAKxoC,GAASyoC,oBACZ,MAAO,sBACT,KAAKzoC,GAAS0oC,qBACZ,MAAO,uBACT,KAAK1oC,GAAS2oC,iBACZ,MAAO,mBACT,KAAK3oC,GAAS4oC,oBACZ,MAAO,sBACT,KAAK5oC,GAAS6oC,iBACZ,MAAO,mBACT,KAAK7oC,GAAS8oC,sBACZ,MAAO,wBACT,KAAK9oC,GAAS+oC,mBACZ,MAAO,qBACT,KAAK/oC,GAASgpC,mBACZ,MAAO,qBACT,KAAKhpC,GAASipC,mBACZ,MAAO,qBACT,KAAKjpC,GAASkpC,iBACZ,MAAO,mBACT,KAAKlpC,GAASmpC,gBACZ,MAAO,kBACT,KAAKnpC,GAASopC,gBACZ,MAAO,kBACT,KAAKppC,GAASqpC,cACZ,MAAO,gBACT,KAAKrpC,GAASspC,UACZ,MAAO,YACT,KAAKtpC,GAASupC,gBACZ,MAAO,kBACT,KAAKvpC,GAASwpC,iBACZ,MAAO,mBACT,KAAKxpC,GAASypC,WACZ,MAAO,aACT,KAAKzpC,GAAS0pC,mBACZ,MAAO,qBACT,KAAK1pC,GAAS2pC,aACZ,MAAO,eACT,KAAK3pC,GAAS4pC,iBACZ,MAAO,mBACT,KAAK5pC,GAAS6pC,kBACZ,MAAO,oBACT,KAAK7pC,GAAS8pC,sBACZ,MAAO,wBACT,KAAK9pC,GAAS+pC,iBACZ,MAAO,mBACT,KAAK/pC,GAASgqC,YACZ,MAAO,cACT,KAAKhqC,GAASiqC,eACZ,MAAO,iBACT,KAAKjqC,GAASkqC,mBACZ,MAAO,qBACT,KAAKlqC,GAASmqC,gBACZ,MAAO,kBACT,KAAKnqC,GAASoqC,cACZ,MAAO,gBACT,KAAKpqC,GAASqqC,kBACZ,MAAO,oBACT,KAAKrqC,GAASsqC,eACZ,MAAO,iBACT,KAAKtqC,GAASuqC,kBACZ,MAAO,oBACT,KAAKvqC,GAASwqC,eACZ,MAAO,iBACT,KAAKxqC,GAASyqC,cACZ,MAAO,gBACT,KAAKzqC,GAAS0qC,kBACZ,MAAO,oBACT,KAAK1qC,GAAS2qC,qBACZ,MAAO,uBACT,KAAK3qC,GAAS4qC,eACZ,MAAO,iBACT,KAAK5qC,GAAS6qC,iBACZ,MAAO,mBACT,KAAK7qC,GAAS8qC,oBACZ,MAAO,sBACT,KAAK9qC,GAAS+qC,kBACZ,MAAO,oBACT,KAAK/qC,GAASgrC,eACZ,MAAO,iBACT,KAAKhrC,GAASirC,iBACZ,MAAO,mBACT,KAAKjrC,GAASkrC,mBACZ,MAAO,qBACT,KAAKlrC,GAASmrC,eACZ,MAAO,iBACT,KAAKnrC,GAASorC,aACZ,MAAO,eACT,KAAKprC,GAASqrC,gBACZ,MAAO,kBACT,KAAKrrC,GAASsrC,aACZ,MAAO,eACT,KAAKtrC,GAASurC,eACZ,MAAO,iBACT,KAAKvrC,GAASwrC,iBACZ,MAAO,mBACT,KAAKxrC,GAASyrC,gBACZ,MAAO,kBACT,KAAKzrC,GAAS0rC,kBACZ,MAAO,oBACT,KAAK1rC,GAAS2rC,gBACZ,MAAO,kBACT,KAAK3rC,GAAS4rC,kBACZ,MAAO,oBACT,KAAK5rC,GAAS6rC,qBACZ,MAAO,uBACT,KAAK7rC,GAAS8rC,gBACZ,MAAO,kBACT,KAAK9rC,GAAS+rC,gBACZ,MAAO,kBACT,KAAK/rC,GAASgsC,iBACZ,MAAO,mBACT,KAAKhsC,GAASisC,iBACZ,MAAO,mBACT,KAAKjsC,GAASksC,iBACZ,MAAO,mBACT,KAAKlsC,GAASmsC,qBACZ,MAAO,uBACT,KAAKnsC,GAASosC,eACZ,MAAO,iBACT,KAAKpsC,GAASqsC,sBACZ,MAAO,wBACT,KAAKrsC,GAASssC,iBACZ,MAAO,mBACT,KAAKtsC,GAASusC,sBACZ,MAAO,wBACT,KAAKvsC,GAASwsC,eACZ,MAAO,iBACT,KAAKxsC,GAASysC,gBACZ,MAAO,kBACT,KAAKzsC,GAAS0sC,qBACZ,MAAO,uBACT,KAAK1sC,GAAS2sC,oBACZ,MAAO,sBACT,KAAK3sC,GAAS4sC,mBACZ,MAAO,qBACT,KAAK5sC,GAAS6sC,eACZ,MAAO,iBACT,KAAK7sC,GAAS8sC,kBACZ,MAAO,oBACT,KAAK9sC,GAAS+sC,aACZ,MAAO,eACT,KAAK/sC,GAASgtC,gBACZ,MAAO,kBACT,KAAKhtC,GAASitC,kBACZ,MAAO,oBACT,KAAKjtC,GAASktC,cACZ,MAAO,gBACT,KAAKltC,GAASmtC,mBACZ,MAAO,qBACT,KAAKntC,GAASotC,kBACZ,MAAO,oBACT,KAAKptC,GAASqtC,iBACZ,MAAO,mBACT,KAAKrtC,GAASstC,qBACZ,MAAO,uBACT,KAAKttC,GAASutC,eACZ,MAAO,iBACT,KAAKvtC,GAASwtC,cACZ,MAAO,gBACT,KAAKxtC,GAASytC,eACZ,MAAO,iBACT,KAAKztC,GAAS0tC,mBACZ,MAAO,qBACT,KAAK1tC,GAAS2tC,eACZ,MAAO,iBACT,KAAK3tC,GAAS4tC,gBACZ,MAAO,kBACT,KAAK5tC,GAAS6tC,iBACZ,MAAO,mBACT,KAAK7tC,GAAS8tC,eACZ,MAAO,iBACT,KAAK9tC,GAAS+tC,gBACZ,MAAO,kBACT,KAAK/tC,GAASguC,gBACZ,MAAO,kBACT,KAAKhuC,GAASiuC,iBACZ,MAAO,mBACT,KAAKjuC,GAASkuC,sBACZ,MAAO,wBACT,KAAKluC,GAASmuC,eACZ,MAAO,iBACT,KAAKnuC,GAASouC,kBACZ,MAAO,oBACT,KAAKpuC,GAASquC,kBACZ,MAAO,oBACT,KAAKruC,GAASsuC,aACZ,MAAO,eACT,KAAKtuC,GAASuuC,gBACZ,MAAO,kBACT,KAAKvuC,GAASwuC,cACZ,MAAO,gBACT,KAAKxuC,GAASyuC,aACZ,MAAO,eACT,KAAKzuC,GAAS0uC,gBACZ,MAAO,kBACT,KAAK1uC,GAAS2uC,mBACZ,MAAO,qBACT,KAAK3uC,GAAS4uC,aACZ,MAAO,eACT,KAAK5uC,GAAS6uC,iBACZ,MAAO,mBACT,KAAK7uC,GAAS8uC,cACZ,MAAO,gBACT,KAAK9uC,GAAS+uC,gBACZ,MAAO,kBACT,KAAK/uC,GAASgvC,eACZ,MAAO,iBACT,KAAKhvC,GAASivC,eACZ,MAAO,iBACT,KAAKjvC,GAASkvC,kBACZ,MAAO,oBACT,KAAKlvC,GAASmvC,gBACZ,MAAO,kBACT,KAAKnvC,GAASovC,gBACZ,MAAO,kBACT,KAAKpvC,GAASqvC,gBACZ,MAAO,kBACT,KAAKrvC,GAASsvC,aACZ,MAAO,eACT,KAAKtvC,GAASuvC,iBACZ,MAAO,mBACT,KAAKvvC,GAASwvC,aACZ,MAAO,eACT,KAAKxvC,GAASyvC,qBACZ,MAAO,uBACT,KAAKzvC,GAAS0vC,qBACZ,MAAO,uBACT,KAAK1vC,GAAS2vC,cACZ,MAAO,gBACT,KAAK3vC,GAAS4vC,cACZ,MAAO,gBACT,KAAK5vC,GAAS6vC,eACZ,MAAO,iBACT,KAAK7vC,GAAS8vC,mBACZ,MAAO,qBACT,KAAK9vC,GAAS+vC,cACZ,MAAO,gBACT,KAAK/vC,GAASgwC,uBACZ,MAAO,yBACT,KAAKhwC,GAASiwC,kBACZ,MAAO,oBACT,KAAKjwC,GAASkwC,aACZ,MAAO,eACT,KAAKlwC,GAASmwC,cACZ,MAAO,gBACT,KAAKnwC,GAASowC,eACZ,MAAO,iBACT,KAAKpwC,GAASqwC,oBACZ,MAAO,sBACT,KAAKrwC,GAASswC,cACZ,MAAO,gBACT,KAAKtwC,GAASuwC,uBACZ,MAAO,yBACT,KAAKvwC,GAASwwC,eACZ,MAAO,iBACT,KAAKxwC,GAASywC,cACZ,MAAO,gBACT,KAAKzwC,GAAS0wC,cACZ,MAAO,gBACT,KAAK1wC,GAAS2wC,mBACZ,MAAO,qBACT,KAAK3wC,GAAS4wC,cACZ,MAAO,gBACT,KAAK5wC,GAAS6wC,aACZ,MAAO,eACT,KAAK7wC,GAAS8wC,YACZ,MAAO,cACT,KAAK9wC,GAAS+wC,cACZ,MAAO,gBACT,KAAK/wC,GAASgxC,gBACZ,MAAO,kBACT,KAAKhxC,GAASixC,eACZ,MAAO,iBACT,KAAKjxC,GAASkxC,aACZ,MAAO,eACT,KAAKlxC,GAASmxC,eACZ,MAAO,iBACT,KAAKnxC,GAASoxC,mBACZ,MAAO,qBACT,KAAKpxC,GAASqxC,cACZ,MAAO,gBACT,KAAKrxC,GAASsxC,iBACZ,MAAO,mBACT,KAAKtxC,GAASuxC,eACZ,MAAO,iBACT,KAAKvxC,GAASwxC,YACZ,MAAO,cACT,KAAKxxC,GAASyxC,eACZ,MAAO,iBACT,KAAKzxC,GAAS0xC,YACZ,MAAO,cACT,KAAK1xC,GAAS2xC,eACZ,MAAO,iBACT,KAAK3xC,GAAS4xC,cACZ,MAAO,gBACT,KAAK5xC,GAAS6xC,YACZ,MAAO,cACT,KAAK7xC,GAAS8xC,WACZ,MAAO,aACT,KAAK9xC,GAAS+xC,YACZ,MAAO,cACT,KAAK/xC,GAASgyC,UACZ,MAAO,YACT,KAAKhyC,GAASiyC,eACZ,MAAO,iBACT,KAAKjyC,GAASkyC,iBACZ,MAAO,mBACT,KAAKlyC,GAASmyC,aACZ,MAAO,eACT,KAAKnyC,GAASoyC,gBACZ,MAAO,kBACT,KAAKpyC,GAASqyC,cACZ,MAAO,gBACT,KAAKryC,GAASsyC,eACZ,MAAO,iBACT,KAAKtyC,GAASuyC,cACZ,MAAO,gBACT,KAAKvyC,GAASwyC,gBACZ,MAAO,kBACT,KAAKxyC,GAASyyC,iBACZ,MAAO,mBACT,KAAKzyC,GAAS0yC,gBACZ,MAAO,kBACT,KAAK1yC,GAAS2yC,oBACZ,MAAO,sBACT,KAAK3yC,GAAS4yC,eACZ,MAAO,iBACT,KAAK5yC,GAAS6yC,kBACZ,MAAO,oBACT,KAAK7yC,GAAS8yC,cACZ,MAAO,gBACT,KAAK9yC,GAAS+yC,cACZ,MAAO,gBACT,KAAK/yC,GAASgzC,YACZ,MAAO,cACT,KAAKhzC,GAASizC,iBACZ,MAAO,mBACT,KAAKjzC,GAASkzC,UACZ,MAAO,YACT,KAAKlzC,GAASmzC,WACZ,MAAO,aACT,KAAKnzC,GAASozC,eACZ,MAAO,iBACT,KAAKpzC,GAASqzC,mBACZ,MAAO,qBACT,KAAKrzC,GAASszC,kBACZ,MAAO,oBACT,KAAKtzC,GAASuzC,mBACZ,MAAO,qBACT,KAAKvzC,GAASwzC,aACZ,MAAO,eACT,KAAKxzC,GAASyzC,iBACZ,MAAO,mBACT,KAAKzzC,GAAS0zC,gBACZ,MAAO,kBACT,KAAK1zC,GAAS2zC,oBACZ,MAAO,sBACT,KAAK3zC,GAAS4zC,eACZ,MAAO,iBACT,KAAK5zC,GAAS6zC,eACZ,MAAO,iBACT,KAAK7zC,GAAS8zC,kBACZ,MAAO,oBACT,KAAK9zC,GAAS+zC,kBACZ,MAAO,oBACT,KAAK/zC,GAASg0C,kBACZ,MAAO,oBACT,KAAKh0C,GAASi0C,gBACZ,MAAO,kBACT,KAAKj0C,GAASk0C,iBACZ,MAAO,mBACT,KAAKl0C,GAASm0C,uBACZ,MAAO,yBACT,KAAKn0C,GAASo0C,mBACZ,MAAO,qBACT,KAAKp0C,GAASq0C,gBACZ,MAAO,kBACT,KAAKr0C,GAASs0C,aACZ,MAAO,eACT,KAAKt0C,GAASu0C,cACZ,MAAO,gBACT,KAAKv0C,GAASw0C,gBACZ,MAAO,kBACT,KAAKx0C,GAASy0C,eACZ,MAAO,iBACT,KAAKz0C,GAAS00C,cACZ,MAAO,gBACT,KAAK10C,GAAS20C,gBACZ,MAAO,kBACT,KAAK30C,GAAS40C,aACZ,MAAO,eACT,KAAK50C,GAAS60C,gBACZ,MAAO,kBACT,KAAK70C,GAAS80C,eACZ,MAAO,iBACT,KAAK90C,GAAS+0C,cACZ,MAAO,gBACT,KAAK/0C,GAASg1C,aACZ,MAAO,eACT,KAAKh1C,GAASi1C,iBACZ,MAAO,mBACT,KAAKj1C,GAASk1C,gBACZ,MAAO,kBACT,KAAKl1C,GAASm1C,eACZ,MAAO,iBACT,KAAKn1C,GAASo1C,aACZ,MAAO,eACT,KAAKp1C,GAASq1C,eACZ,MAAO,iBACT,KAAKr1C,GAASs1C,kBACZ,MAAO,oBACT,KAAKt1C,GAASu1C,gBACZ,MAAO,kBACT,KAAKv1C,GAASw1C,qBACZ,MAAO,uBACT,KAAKx1C,GAASy1C,qBACZ,MAAO,uBACT,KAAKz1C,GAAS01C,YACZ,MAAO,cACT,KAAK11C,GAAS21C,iBACZ,MAAO,mBACT,KAAK31C,GAAS41C,iBACZ,MAAO,mBACT,KAAK51C,GAAS61C,oBACZ,MAAO,sBACT,KAAK71C,GAAS81C,UACZ,MAAO,YACT,KAAK91C,GAAS+1C,YACZ,MAAO,cACT,KAAK/1C,GAASg2C,iBACZ,MAAO,mBACT,KAAKh2C,GAASi2C,gBACZ,MAAO,kBACT,KAAKj2C,GAASk2C,cACZ,MAAO,gBACT,KAAKl2C,GAASm2C,iBACZ,MAAO,mBACT,KAAKn2C,GAASo2C,WACZ,MAAO,aACT,KAAKp2C,GAASq2C,eACZ,MAAO,iBACT,KAAKr2C,GAASs2C,gBACZ,MAAO,kBACT,KAAKt2C,GAASu2C,mBACZ,MAAO,qBACT,KAAKv2C,GAASw2C,cACZ,MAAO,gBACT,KAAKx2C,GAASy2C,kBACZ,MAAO,oBACT,KAAKz2C,GAAS02C,aACZ,MAAO,eACT,KAAK12C,GAAS22C,iBACZ,MAAO,mBACT,KAAK32C,GAAS42C,iBACZ,MAAO,mBACT,KAAK52C,GAAS62C,eACZ,MAAO,iBACT,KAAK72C,GAAS82C,iBACZ,MAAO,mBACT,KAAK92C,GAAS+2C,cACZ,MAAO,gBACT,KAAK/2C,GAASg3C,mBACZ,MAAO,qBACT,KAAKh3C,GAASi3C,UACZ,MAAO,YACT,KAAKj3C,GAASk3C,iBACZ,MAAO,mBACT,KAAKl3C,GAASm3C,aACZ,MAAO,eACT,KAAKn3C,GAASo3C,WACZ,MAAO,aACT,KAAKp3C,GAASq3C,kBACZ,MAAO,oBACT,KAAKr3C,GAASs3C,iBACZ,MAAO,mBACT,KAAKt3C,GAASu3C,aACZ,MAAO,eACT,KAAKv3C,GAASw3C,WACZ,MAAO,aACT,KAAKx3C,GAASy3C,aACZ,MAAO,eACT,KAAKz3C,GAAS03C,cACZ,MAAO,gBACT,KAAK13C,GAAS23C,iBACZ,MAAO,mBACT,KAAK33C,GAAS43C,cACZ,MAAO,gBACT,KAAK53C,GAAS63C,aACZ,MAAO,eACT,KAAK73C,GAAS83C,cACZ,MAAO,gBACT,KAAK93C,GAAS+3C,mBACZ,MAAO,qBACT,KAAK/3C,GAASg4C,eACZ,MAAO,iBACT,KAAKh4C,GAASi4C,YACZ,MAAO,cACT,KAAKj4C,GAASk4C,cACZ,MAAO,gBACT,KAAKl4C,GAASm4C,oBACZ,MAAO,sBACT,KAAKn4C,GAASo4C,YACZ,MAAO,cACT,KAAKp4C,GAASq4C,mBACZ,MAAO,qBACT,KAAKr4C,GAASs4C,oBACZ,MAAO,sBACT,KAAKt4C,GAASu4C,gBACZ,MAAO,kBACT,KAAKv4C,GAASw4C,kBACZ,MAAO,oBACT,KAAKx4C,GAASy4C,iBACZ,MAAO,mBACT,KAAKz4C,GAAS04C,mBACZ,MAAO,qBACT,KAAK14C,GAAS24C,YACZ,MAAO,cACT,KAAK34C,GAAS44C,oBACZ,MAAO,sBACT,KAAK54C,GAAS64C,sBACZ,MAAO,wBACT,KAAK74C,GAAS84C,eACZ,MAAO,iBACT,KAAK94C,GAAS+4C,mBACZ,MAAO,qBACT,KAAK/4C,GAASg5C,gBACZ,MAAO,kBACT,KAAKh5C,GAASi5C,iBACZ,MAAO,mBACT,KAAKj5C,GAASk5C,YACZ,MAAO,cACT,KAAKl5C,GAASm5C,cACZ,MAAO,gBACT,KAAKn5C,GAASo5C,gBACZ,MAAO,kBACT,KAAKp5C,GAASq5C,UACZ,MAAO,YACT,KAAKr5C,GAASs5C,cACZ,MAAO,gBACT,KAAKt5C,GAASu5C,kBACZ,MAAO,oBACT,KAAKv5C,GAASw5C,sBACZ,MAAO,wBACT,KAAKx5C,GAASy5C,iBACZ,MAAO,mBACT,KAAKz5C,GAAS05C,qBACZ,MAAO,uBACT,KAAK15C,GAAS25C,YACZ,MAAO,cACT,KAAK35C,GAAS45C,eACZ,MAAO,iBACT,KAAK55C,GAAS65C,eACZ,MAAO,iBACT,KAAK75C,GAAS85C,aACZ,MAAO,eACT,KAAK95C,GAAS+5C,4BACZ,MAAO,8BACT,KAAK/5C,GAASg6C,4BACZ,MAAO,8BACT,KAAKh6C,GAASi6C,0BACZ,MAAO,4BACT,KAAKj6C,GAASk6C,wBACZ,MAAO,0BACT,KAAKl6C,GAASm6C,wBACZ,MAAO,0BACT,KAAKn6C,GAASo6C,2BACZ,MAAO,6BACT,KAAKp6C,GAASq6C,sBACZ,MAAO,wBACT,KAAKr6C,GAASs6C,0BACZ,MAAO,4BACT,KAAKt6C,GAASu6C,qBACZ,MAAO,uBACT,KAAKv6C,GAASw6C,kBACZ,MAAO,oBACT,KAAKx6C,GAASy6C,4BACZ,MAAO,8BACT,KAAKz6C,GAAS06C,+BACZ,MAAO,iCACT,KAAK16C,GAAS26C,4BACZ,MAAO,8BACT,KAAK36C,GAAS46C,cACZ,MAAO,gBACT,KAAK56C,GAAS66C,gBACZ,MAAO,kBACT,KAAK76C,GAAS86C,kBACZ,MAAO,oBACT,KAAK96C,GAAS+6C,eACZ,MAAO,iBACT,KAAK/6C,GAASg7C,cACZ,MAAO,gBACT,KAAKh7C,GAASi7C,mBACZ,MAAO,qBACT,KAAKj7C,GAASk7C,gBACZ,MAAO,kBACT,KAAKl7C,GAASm7C,aACZ,MAAO,eACT,KAAKn7C,GAASo7C,aACZ,MAAO,eACT,KAAKp7C,GAASq7C,iBACZ,MAAO,mBACT,KAAKr7C,GAASs7C,mBACZ,MAAO,qBACT,KAAKt7C,GAASu7C,eACZ,MAAO,iBACT,KAAKv7C,GAASw7C,cACZ,MAAO,gBACT,KAAKx7C,GAASy7C,eACZ,MAAO,iBACT,KAAKz7C,GAAS07C,mBACZ,MAAO,qBACT,KAAK17C,GAAS27C,gBACZ,MAAO,kBACT,KAAK37C,GAAS47C,gBACZ,MAAO,kBACT,KAAK57C,GAAS67C,kBACZ,MAAO,oBACT,KAAK77C,GAAS87C,cACZ,MAAO,gBACT,KAAK97C,GAAS+7C,eACZ,MAAO,iBACT,KAAK/7C,GAASg8C,aACZ,MAAO,eACT,KAAKh8C,GAASi8C,eACZ,MAAO,iBACT,KAAKj8C,GAASk8C,oBACZ,MAAO,sBACT,KAAKl8C,GAASm8C,cACZ,MAAO,gBACT,KAAKn8C,GAASo8C,cACZ,MAAO,gBACT,QACE,OAAOC,GAAaha,K,6sCC5zB1Bia,OAAIC,IAAIC,SACR,IAAMC,GAAgB38C,GAAQ48C,QACxBC,GAAW9sE,OAAO+sE,QAAM,YAC3B98C,GAAQ48C,QAAUG,IAAE,MACpB/8C,GAAQg9C,QAAUC,IAAE,MACpBj9C,GAAQk9C,QAAUC,IAAE,MACpBn9C,GAAQo9C,UAAYC,IAAE,KAEnBC,GAAO,IAAIZ,QAAQ,CACvBa,OAAQZ,GAAch6C,WACtB66C,eAAgBb,GAAch6C,WAC9Bk6C,cAWIY,GAAgB,CACpB,CACEF,OAAQv9C,GAAQ48C,QAChBc,MAAOC,EAAQ,QACfC,KAAM,QACNC,UAAW,KACXC,WAAY,CACV99C,GAAQ48C,QACR58C,GAAQg9C,QACRh9C,GAAQo9C,UACRp9C,GAAQk9C,UAGZ,CACEK,OAAQv9C,GAAQg9C,QAChBU,MAAOC,EAAQ,QACfC,KAAM,QACNC,UAAW,KACXC,WAAY,CACV99C,GAAQg9C,QACRh9C,GAAQ48C,QACR58C,GAAQo9C,UACRp9C,GAAQk9C,UAGZ,CACEK,OAAQv9C,GAAQk9C,QAChBQ,MAAOC,EAAQ,QACfC,KAAM,QACNC,UAAW,KACXC,WAAY,CACV99C,GAAQk9C,QACRl9C,GAAQ48C,QACR58C,GAAQg9C,QACRh9C,GAAQo9C,YAGZ,CACEG,OAAQv9C,GAAQo9C,UAChBM,MAAOC,EAAQ,QACfC,KAAM,QACNC,UAAW,KACXC,WAAY,CACV99C,GAAQo9C,UACRp9C,GAAQ48C,QACR58C,GAAQg9C,QACRh9C,GAAQk9C,WAKd,SAASa,KACP,OAAON,GAAMO,MAAK,SAAA1sE,GAAC,OAAIA,EAAEisE,OAAO56C,aAAe26C,GAAKC,UAASK,KAG/D,SAASxrE,GAAEK,GACT,OAAO6qE,GAAKlrE,EAAEK,GAAKkwB,WAGrB,IAAMs7C,GAAW,SAACC,GAChB,IAE+B,EAFzBC,EAAOV,GAAMO,MAAK,SAAA1sE,GAAC,OAAIA,EAAEisE,OAAO56C,aAAe26C,GAAKC,UACtDa,EAAap+C,GAAQ48C,QAAQ,KACjBuB,EAAKL,YAAU,IAA/B,IAAK,EAAL,qBAAiC,KAAtBhrE,EAAC,QACV,GAAIorE,EAAQG,SAASvrE,GAAI,CACvBsrE,EAAatrE,EACb,QAEH,8BACD,OAAO2qE,GAAMO,MAAK,SAAA1sE,GAAC,OAAIA,EAAEisE,SAAWa,MCxDzBE,GAAgB,SAAC/b,GAC5B,OAAQA,GACN,KAAKztD,EAAUypE,OACb,OAAOnsE,GAAE,UACX,KAAK0C,EAAU0pE,SACb,OAAOpsE,GAAE,YACX,KAAK0C,EAAU2pE,SACb,OAAOrsE,GAAE,YACX,KAAK0C,EAAU4pE,SACb,OAAOtsE,GAAE,YACX,QACE,OAAOmqE,GAAaha,KAIboc,GAAgB,SAACpc,GAC5B,OAAQA,GACN,KAAKztD,EAAUypE,OACb,MAAO,gBACT,KAAKzpE,EAAU0pE,SACb,MAAO,iBACT,KAAK1pE,EAAU2pE,SACb,MAAO,eACT,KAAK3pE,EAAU4pE,SACb,MAAO,YACT,QACE,OAAOnC,GAAaha,KAIb/G,GAAgB,SAAC+G,GAC5B,OAAOnwD,GAAEwsE,GAAiBrc,KAGfqc,GAAmB,SAACrc,GAC/B,OAAQA,GACN,KAAKtiC,GAAU4+C,KACb,MAAO,OACT,KAAK5+C,GAAU6+C,SACb,MAAO,WACT,KAAK7+C,GAAU8+C,UACb,MAAO,YACT,KAAK9+C,GAAU++C,iBACb,MAAO,mBACT,QACE,OAAOzC,GAAaha,KAIb0c,GAAgB,SAAC1c,GAC5B,OAAQA,GACN,KAAKtiC,GAAU4+C,KACb,MAAO,YACT,KAAK5+C,GAAU6+C,SACb,MAAO,YACT,KAAK7+C,GAAU8+C,UACb,MAAO,YACT,KAAK9+C,GAAU++C,iBACb,MAAO,gBACT,QACE,OAAOzC,GAAaha,KAIb2c,GAAyB,SAAC3c,GACrC,OAAOnwD,GAAE+sE,GAA0B5c,KAGxB4c,GAA4B,SAAC5c,GACxC,OAAQA,GACN,KAAKjI,GAAmB8kB,KACtB,MAAO,OACT,KAAK9kB,GAAmB+kB,WACtB,MAAO,oBACT,KAAK/kB,GAAmBglB,gBACtB,MAAO,yBACT,KAAKhlB,GAAmBilB,YACtB,MAAO,qBACT,KAAKjlB,GAAmBklB,mBACtB,MAAO,sBACT,QACE,OAAOjD,GAAaha,KAIbkd,GAAyB,SAACld,GACrC,OAAQA,GACN,KAAKjI,GAAmB8kB,KACtB,MAAO,YACT,KAAK9kB,GAAmB+kB,WACtB,MAAO,oBACT,KAAK/kB,GAAmBglB,gBACtB,MAAO,sBACT,KAAKhlB,GAAmBilB,YACtB,MAAO,YACT,KAAKjlB,GAAmBklB,mBACtB,MAAO,wBACT,QACE,OAAOjD,GAAaha,KAIb9uB,GAAgB,SAAC8uB,GAC5B,OAAQA,GACN,KAAKn8B,GAAUs5C,cACb,OAAOttE,GAAE,0BACX,KAAKg0B,GAAUu5C,MACb,OAAOvtE,GAAE,kBACX,KAAKg0B,GAAUw5C,MACb,OAAOxtE,GAAE,kBACX,KAAKg0B,GAAUy5C,UACb,OAAOztE,GAAE,oBACX,KAAKg0B,GAAU05C,UACb,OAAO1tE,GAAE,sBAEX,KAAKg0B,GAAU25C,SACb,OAAO3tE,GAAE,2BACX,KAAKg0B,GAAU45C,UACb,OAAO5tE,GAAE,2BACX,KAAKg0B,GAAU65C,cACb,OAAO7tE,GAAE,+BAEX,KAAKg0B,GAAU85C,YACb,OAAO9tE,GAAE,wBACX,KAAKg0B,GAAU+5C,YACb,OAAO/tE,GAAE,wBACX,KAAKg0B,GAAUg6C,cACb,OAAOhuE,GAAE,0BACX,KAAKg0B,GAAUi6C,cACb,OAAOjuE,GAAE,0BAEX,KAAKg0B,GAAUk6C,YACb,OAAOluE,GAAE,eACX,KAAKg0B,GAAUm6C,YACb,OAAOnuE,GAAE,eACX,KAAKg0B,GAAUo6C,YACb,OAAOpuE,GAAE,eACX,KAAKg0B,GAAUq6C,YACb,OAAOruE,GAAE,eACX,KAAKg0B,GAAUs6C,YACb,OAAOtuE,GAAE,eACX,KAAKg0B,GAAUu6C,YACb,OAAOvuE,GAAE,eACX,KAAKg0B,GAAUw6C,YACb,OAAOxuE,GAAE,eACX,QACE,OAAOmqE,GAAaha,KAIbse,GAAiB,SAACte,GAC7B,OAAQA,GACN,KAAK76B,GAAWo5C,QACd,OAAO1uE,GAAE,WACX,KAAKs1B,GAAWq5C,OACd,OAAO3uE,GAAE,UACX,KAAKs1B,GAAWs5C,SACd,OAAO5uE,GAAE,YACX,KAAKs1B,GAAWu5C,OACd,OAAO7uE,GAAE,UACX,KAAKs1B,GAAWw5C,iBACd,OAAO9uE,GAAE,oBACX,KAAKs1B,GAAWy5C,UACd,OAAO/uE,GAAE,aACX,QACE,OAAOmqE,GAAaha,KAIb6e,GAAiB,SAAC7e,EAAexY,GAC5C,OAAQwY,GACN,KAAK76B,GAAWo5C,QACd,OAAI/2B,EACK,0BAEF,WACT,KAAKriB,GAAWq5C,OACd,MAAO,yBACT,KAAKr5C,GAAWs5C,SACd,MAAO,wBACT,KAAKt5C,GAAWu5C,OACd,MAAO,sBACT,KAAKv5C,GAAWw5C,iBACd,MAAO,oBACT,KAAKx5C,GAAWy5C,UACd,MAAO,oBACT,QACE,OAAO5E,GAAaha,KAIb1W,GAAe,SAAC0W,GAC3B,OAAQA,GACN,KAAKlgC,GAASg/C,IACZ,MAAO,MACT,KAAKh/C,GAASi/C,IACZ,MAAO,MACT,KAAKj/C,GAASk/C,IACZ,MAAO,MACT,KAAKl/C,GAASm/C,IACZ,MAAO,MACT,KAAKn/C,GAASo/C,IACZ,MAAO,MACT,QACE,OAAOlF,GAAaha,KAIbmf,GAAU,SAAC34D,GACtB,OAAOu3B,GAAYv3B,IAGR44D,GAAe,SAACpf,GAC3B,OAAQA,GACN,KAAKxK,GAAiB6pB,YACpB,OAAOxvE,GAAE,wBACX,KAAK2lD,GAAiB8pB,cACpB,OAAOzvE,GAAE,wBACX,QACE,OAAOmqE,GAAaha,KAIbn0B,GAAqB,SAACm0B,GACjC,OAAQA,GACN,KAAKzoB,GAAegoC,OAClB,OAAO1vE,GAAE,UACX,KAAK0nC,GAAeioC,MAClB,OAAO3vE,GAAE,SACX,KAAK0nC,GAAekoC,aAClB,OAAO5vE,GAAE,gBACX,KAAK0nC,GAAemoC,WAClB,OAAO7vE,GAAE,cACX,QACE,OAAOmqE,GAAaha,KAIb2f,GAAsB,SAAC3f,GAClC,OAAQA,GACN,KAAKxoB,GAAgBooC,QACnB,OAAO/vE,GAAE,WACX,KAAK2nC,GAAgBqoC,eACnB,OAAOhwE,GAAE,kBACX,KAAK2nC,GAAgBmnC,iBACnB,OAAO9uE,GAAE,oBACX,KAAK2nC,GAAgBkoC,WACnB,OAAO7vE,GAAE,cACX,QACE,OAAOmqE,GAAaha,KAIb8f,GAAc,SAAC9f,GAC1B,OAAQA,GACN,KAAKviC,GAAQ48C,QACX,OAAOxqE,GAAE,WACX,KAAK4tB,GAAQk9C,QACX,OAAO9qE,GAAE,mBACX,KAAK4tB,GAAQo9C,UACX,OAAOhrE,GAAE,aACX,KAAK4tB,GAAQg9C,QACX,OAAO5qE,GAAE,WACX,QACE,OAAOmqE,GAAaha,KAIb+f,GAAkB,SAAC/f,GAC9B,OAAQA,GACN,KAAK1J,GAAY0pB,MACf,OAAOnwE,GAAE,SACX,KAAKymD,GAAY2pB,IACf,MAAO,MACT,QACE,OAAOjG,GAAaha,KAIbkgB,GAAc,SAAClgB,GAC1B,OAAQA,GACN,KAAK9tB,GAAQiuC,UACX,OAAOtwE,GAAE,oBACX,KAAKqiC,GAAQkuC,SACX,OAAOvwE,GAAE,mBACX,KAAKqiC,GAAQqqC,SACX,OAAO1sE,GAAE,mBACX,KAAKqiC,GAAQsqC,UACX,OAAO3sE,GAAE,oBACX,KAAKqiC,GAAQuqC,iBACX,OAAO5sE,GAAE,2BACX,KAAKqiC,GAAQmuC,oBACX,OAAOxwE,GAAE,8BACX,KAAKqiC,GAAQouC,kBACX,OAAOzwE,GAAE,4BACX,KAAKqiC,GAAQquC,uBACX,OAAO1wE,GAAE,iCACX,KAAKqiC,GAAQsuC,YACX,OAAO3wE,GAAE,sBACX,KAAKqiC,GAAQuuC,YACX,OAAO5wE,GAAE,sBACX,KAAKqiC,GAAQwuC,aACX,OAAO7wE,GAAE,uBACX,KAAKqiC,GAAQyuC,YACX,OAAO9wE,GAAE,sBACX,KAAKqiC,GAAQ0uC,cACX,OAAO/wE,GAAE,wBACX,KAAKqiC,GAAQ2uC,mBACX,OAAOhxE,GAAE,sBACX,KAAKqiC,GAAQ4uC,WACX,OAAOjxE,GAAE,cACX,QACE,OAAOmqE,GAAaha,KAIb+gB,GAAoB,SAAC/gB,GAChC,OAAQA,GACN,KAAKhV,GAAcg2B,mBACjB,OAAOnxE,GAAE,sBACX,KAAKm7C,GAAcw0B,MACjB,OAAO3vE,GAAE,SACX,KAAKm7C,GAAci2B,cACjB,OAAOpxE,GAAE,iBACX,QACE,OAAOmqE,GAAaha,KAIbkhB,GAAc,SAAClhB,GAC1B,OAAQA,GACN,KAAKpB,GAAQuiB,QACX,MAAO,GAAP,OAAUtxE,GAAE,eAAc,cAAMA,GAAE,gBACpC,KAAK+uD,GAAQwiB,SACX,OAAOvxE,GAAE,aACX,KAAK+uD,GAAQyiB,OACX,OAAOxxE,GAAE,WACX,QACE,OAAOmqE,GAAaha,KAIbshB,GAAgB,SAACthB,GAC5B,OAAQA,GACN,KAAKxtD,EAAU+uE,YACb,MAAO,cACT,KAAK/uE,EAAUgvE,OACb,MAAO,SACT,KAAKhvE,EAAUivE,KACb,MAAO,OACT,KAAKjvE,EAAUkvE,MACb,MAAO,QACT,KAAKlvE,EAAUmvE,WACb,MAAO,aACT,QACE,OAAO3H,GAAaha,KAIb4hB,GAAwB,SAAC5hB,GACpC,OAAQA,GACN,KAAKpiC,GAAkBikD,YACrB,OAAOhyE,GAAE,gBACX,KAAK+tB,GAAkBkkD,UACrB,OAAOjyE,GAAE,cACX,KAAK+tB,GAAkBmkD,KACrB,OAAOlyE,GAAE,uBACX,KAAK+tB,GAAkBokD,MACrB,OAAOnyE,GAAE,SACX,QACE,OAAOmqE,GAAaha,KAIbiiB,GAAmB,SAACjiB,GAC/B,OAAQA,GACN,KAAKnhC,GAAaqjD,2BAChB,OAAOryE,GAAE,6BACX,KAAKgvB,GAAasjD,oBAChB,OAAOtyE,GAAE,gBACX,KAAKgvB,GAAaujD,yBAChB,OAAOvyE,GAAE,iBACX,KAAKgvB,GAAawjD,iBAChB,OAAOxyE,GAAE,oBACX,KAAKgvB,GAAayjD,gBAChB,OAAOzyE,GAAE,mBACX,KAAKgvB,GAAa0jD,YAChB,OAAO1yE,GAAE,YACX,KAAKgvB,GAAa2jD,WAChB,OAAO3yE,GAAE,eACX,KAAKgvB,GAAa4jD,aAChB,OAAO5yE,GAAE,iBACX,KAAKgvB,GAAa6jD,WAChB,OAAO7yE,GAAE,eACX,KAAKgvB,GAAa8jD,cAChB,OAAO9yE,GAAE,kBACX,KAAKgvB,GAAa+jD,eAChB,OAAO/yE,GAAE,eACX,KAAKgvB,GAAagkD,aAChB,OAAOhzE,GAAE,iBACX,KAAKgvB,GAAaikD,qBAChB,OAAOjzE,GAAE,0BACX,KAAKgvB,GAAakkD,cAChB,OAAOlzE,GAAE,iBACX,KAAKgvB,GAAamkD,mBAChB,MAAO,GAAP,OAAUnzE,GAAE,YAAW,aAAKA,GAAE,gBAAe,KAC/C,KAAKgvB,GAAaokD,kBAChB,MAAO,GAAP,OAAUpzE,GAAE,eAAc,aAAKA,GAAE,gBAAe,KAClD,KAAKgvB,GAAaqkD,oBAChB,MAAO,GAAP,OAAUrzE,GAAE,iBAAgB,aAAKA,GAAE,gBAAe,KACpD,KAAKgvB,GAAaskD,kBAChB,MAAO,GAAP,OAAUtzE,GAAE,eAAc,aAAKA,GAAE,gBAAe,KAClD,KAAKgvB,GAAaukD,qBAChB,MAAO,GAAP,OAAUvzE,GAAE,kBAAiB,aAAKA,GAAE,gBAAe,KACrD,KAAKgvB,GAAawkD,gBAChB,MAAO,GAAP,OAAUxzE,GAAE,eAAc,aAAKA,GAAE,gBAAe,KAClD,KAAKgvB,GAAaykD,oBAChB,MAAO,GAAP,OAAUzzE,GAAE,iBAAgB,aAAKA,GAAE,gBAAe,KACpD,KAAKgvB,GAAa0kD,uBAChB,OAAO1zE,GAAE,kBACX,KAAKgvB,GAAa2kD,qBAChB,OAAO3zE,GAAE,gBACX,KAAKgvB,GAAa4kD,wBAChB,OAAO5zE,GAAE,oBACX,KAAKgvB,GAAa6kD,sBAChB,OAAO7zE,GAAE,kBACX,KAAKgvB,GAAa8kD,wBAChB,OAAO9zE,GAAE,mBACX,KAAKgvB,GAAa+kD,aAChB,OAAO/zE,GAAE,QACX,KAAKgvB,GAAaglD,oBAChB,OAAOh0E,GAAE,eACX,KAAKgvB,GAAailD,oBAChB,OAAOj0E,GAAE,eACX,KAAKgvB,GAAaklD,oBAChB,OAAOl0E,GAAE,eACX,KAAKgvB,GAAamlD,kBAChB,OAAOn0E,GAAE,aACX,KAAKgvB,GAAaolD,gBAChB,OAAOp0E,GAAE,WACX,KAAKgvB,GAAaqlD,yBAChB,OAAOr0E,GAAE,oBACX,KAAKgvB,GAAaslD,2BAChB,OAAOt0E,GAAE,sBACX,KAAKgvB,GAAaulD,wBAChB,OAAOv0E,GAAE,mBACX,KAAKgvB,GAAawlD,sBAChB,OAAOx0E,GAAE,iBACX,KAAKgvB,GAAaylD,wBAChB,OAAOz0E,GAAE,0BACX,KAAKgvB,GAAa0lD,aAChB,OAAO10E,GAAE,QACX,KAAKgvB,GAAa2lD,mBAChB,OAAO30E,GAAE,qBACX,KAAKgvB,GAAa4lD,iBAChB,OAAO50E,GAAE,YACX,KAAKgvB,GAAa6lD,6BAChB,OAAO70E,GAAE,wBACX,KAAKgvB,GAAa8lD,2BAChB,OAAO90E,GAAE,sBACX,KAAKgvB,GAAa+lD,kBAChB,OAAO/0E,GAAE,aACX,KAAKgvB,GAAagmD,aAChB,OAAOh1E,GAAE,QACX,KAAKgvB,GAAaimD,iBAChB,OAAOj1E,GAAE,YACX,KAAKgvB,GAAakmD,kBAChB,OAAOl1E,GAAE,aACX,KAAKgvB,GAAammD,uBAChB,OAAOn1E,GAAE,sBACX,KAAKgvB,GAAaomD,gBAChB,OAAOp1E,GAAE,WACX,KAAKgvB,GAAaqmD,mBAChB,OAAOr1E,GAAE,cACX,KAAKgvB,GAAasmD,sBAChB,OAAOt1E,GAAE,iBACX,KAAKgvB,GAAaumD,eAChB,OAAOv1E,GAAE,UACX,KAAKgvB,GAAawmD,eAChB,OAAOx1E,GAAE,UACX,KAAKgvB,GAAaymD,iBAChB,OAAOz1E,GAAE,YACX,KAAKgvB,GAAa0mD,2BAChB,OAAO11E,GAAE,sBACX,KAAKgvB,GAAa2mD,YAChB,OAAO31E,GAAE,SACX,KAAKgvB,GAAa4mD,yBAChB,OAAO51E,GAAE,oBACX,KAAKgvB,GAAa6mD,2BAChB,OAAO71E,GAAE,sBACX,KAAKgvB,GAAa8mD,iBAChB,OAAO91E,GAAE,YACX,KAAKgvB,GAAa+mD,mBAChB,OAAO/1E,GAAE,cACX,KAAKgvB,GAAagnD,kBAChB,OAAOh2E,GAAE,cACX,KAAKgvB,GAAainD,iBAChB,OAAOj2E,GAAE,YACX,KAAKgvB,GAAaknD,YAChB,OAAOl2E,GAAE,OACX,KAAKgvB,GAAamnD,YAChB,OAAOn2E,GAAE,OACX,KAAKgvB,GAAaonD,kBAChB,OAAOp2E,GAAE,aACX,QACE,OAAOmqE,GAAaha,KAIbkmB,GAAqC,SAChDlmB,GAEA,OAAQA,GACN,KAAKlhC,GAA+BqnD,SAClC,OAAOt2E,GAAE,eACX,KAAKivB,GAA+BsnD,YAClC,OAAOv2E,GAAE,gBACX,QACE,OAAOmqE,GAAaha,KAIbqmB,GAAkB,SAACrmB,GAC9B,OAAQA,GACN,KAAK7F,GAAYmsB,QACf,OAAOz2E,GAAE,sBACX,KAAKsqD,GAAYosB,WACf,OAAO12E,GAAE,0BACX,KAAKsqD,GAAYqsB,MACf,OAAO32E,GAAE,mBACX,QACE,OAAOmqE,GAAaha,KAIbymB,GAAoB,SAACzmB,GAChC,OAAQA,GACN,KAAKrd,GAA2B+jC,QAC9B,OAAO72E,GAAE,eACX,KAAK8yC,GAA2BgkC,UAC9B,OAAO92E,GAAE,kBACX,QACE,OAAOmqE,GAAaha,KAIb4mB,GAAc,SAAC5mB,GAC1B,OAAQA,GACN,KAAKj4B,GAAQ8+C,eACX,MAAO,kBACT,KAAK9+C,GAAQ++C,iBACX,OAAOj3E,GAAE,oBACX,KAAKk4B,GAAQg/C,qBACX,OAAOl3E,GAAE,wBACX,KAAKk4B,GAAQi/C,aACX,OAAOn3E,GAAE,gBACX,KAAKk4B,GAAQk/C,gBACX,OAAOp3E,GAAE,mBACX,KAAKk4B,GAAQm/C,aACX,OAAOr3E,GAAE,gBACX,QACE,OAAOmqE,GAAaha,KAIbmnB,GAAkB,SAACnnB,GAC9B,OAAQA,GACN,KAAK1sB,GAAY8zC,OACf,OAAOv3E,GAAE,qCACX,KAAKyjC,GAAY+zC,MACf,OAAOx3E,GAAE,SACX,KAAKyjC,GAAY0oC,OACf,OAAOnsE,GAAE,UACX,KAAKyjC,GAAYg0C,OACf,MAAO,SACT,KAAKh0C,GAAYi0C,QACf,OAAO13E,GAAE,gBACX,KAAKyjC,GAAYksC,MACf,OAAO3vE,GAAE,gBACX,QACE,OAAOmqE,GAAaha,KAIbwnB,GAAe,SAACxnB,GAC3B,OAAQA,GACN,KAAKhiB,GAAmBypC,MACtB,OAAO53E,GAAE,SACX,KAAKmuC,GAAmB0pC,UACtB,OAAO73E,GAAE,aACX,KAAKmuC,GAAmB2pC,QACtB,OAAO93E,GAAE,0BACX,KAAKmuC,GAAmB4pC,SACtB,OAAO/3E,GAAE,2BAA2BqE,QAAQ,MAAO,KACrD,KAAK8pC,GAAmB6pC,SACtB,OAAOh4E,GAAE,2BACX,KAAKmuC,GAAmB8pC,UACtB,OAAOj4E,GAAE,4BAA4BqE,QAAQ,MAAO,KACtD,KAAK8pC,GAAmB+pC,QACtB,OAAOl4E,GAAE,0BACX,QACE,OAAOmqE,GAAaha,KAIbgoB,GAAkB,SAAChoB,GAC9B,OAAQA,GACN,KAAK/hB,GAAsBwpC,MACzB,OAAO53E,GAAE,SACX,KAAKouC,GAAsBgqC,SACzB,OAAOp4E,GAAE,YACX,KAAKouC,GAAsB0pC,QACzB,OAAO93E,GAAE,6BACX,KAAKouC,GAAsB2pC,SACzB,OAAO/3E,GAAE,8BAA8BqE,QAAQ,MAAO,KACxD,KAAK+pC,GAAsB4pC,SACzB,OAAOh4E,GAAE,8BACX,KAAKouC,GAAsB6pC,UACzB,OAAOj4E,GAAE,+BAA+BqE,QAAQ,MAAO,KACzD,KAAK+pC,GAAsBiqC,SACzB,OAAOr4E,GAAE,8BACX,QACE,OAAOmqE,GAAaha,KAIbmoB,GAAqB,SAACnoB,GACjC,OAAQA,GACN,KAAK1M,GAAmB80B,QACtB,OAAOv4E,GAAE,WACX,KAAKyjD,GAAmB+0B,eACtB,OAAOx4E,GAAE,kBACX,KAAKyjD,GAAmBg1B,WACtB,OAAOz4E,GAAE,UACX,KAAKyjD,GAAmBi1B,WACtB,OAAO14E,GAAE,UACX,KAAKyjD,GAAmBk1B,YACtB,OAAO34E,GAAE,aACX,KAAKyjD,GAAmBm1B,aACtB,OAAO54E,GAAE,gBACX,KAAKyjD,GAAmBo1B,iBACtB,OAAO74E,GAAE,oBACX,KAAKyjD,GAAmBq1B,eACtB,OAAO94E,GAAE,kBACX,KAAKyjD,GAAmBs1B,iBACtB,OAAO/4E,GAAE,oBACX,KAAKyjD,GAAmBu1B,mBACtB,OAAOh5E,GAAE,sBACX,KAAKyjD,GAAmBw1B,kBACtB,OAAOj5E,GAAE,kBACX,KAAKyjD,GAAmBy1B,UACtB,OAAOl5E,GAAE,eACX,QACE,OAAOmqE,GAAaha,KAIbgpB,GAA2B,SAAChpB,GACvC,OAAQA,GACN,KAAK/W,GAAqBggC,aACxB,OAAOp5E,GAAE,gBACX,KAAKo5C,GAAqBigC,sBACxB,OAAOr5E,GAAE,sBACX,KAAKo5C,GAAqBkgC,mBACxB,OAAOt5E,GAAE,sBACX,KAAKo5C,GAAqBmgC,uBACxB,OAAOv5E,GAAE,+BACX,KAAKo5C,GAAqBogC,gBACxB,OAAOx5E,GAAE,mBACX,KAAKo5C,GAAqBqgC,0BACxB,MAAO,6BACT,KAAKrgC,GAAqBo5B,iBACxB,OAAOxyE,GAAE,oBACX,KAAKo5C,GAAqBsgC,aACxB,MAAO,gBACT,QACE,OAAOvP,GAAaha,KAIbwpB,GAAmB,SAACxpB,GAC/B,OAAQA,GACN,KAAKpkB,GAAa6tC,OAChB,MAAO,SACT,KAAK7tC,GAAa8tC,OAChB,MAAO,SACT,KAAK9tC,GAAa+tC,SAChB,MAAO,WACT,KAAK/tC,GAAapmC,MAChB,MAAO,QACT,KAAKomC,GAAaguC,QAChB,MAAO,UACT,KAAKhuC,GAAaiuC,KAChB,MAAO,OACT,QACE,OAAO7P,GAAaha,KAIb8pB,GAAuB,SAAC9pB,GACnC,OAAQA,GACN,KAAK15B,GAAiByjD,QACpB,OAAOl6E,GAAE,WACX,KAAKy2B,GAAiB8gD,OACpB,OAAOv3E,GAAE,UACX,KAAKy2B,GAAiB0jD,KACpB,OAAOn6E,GAAE,WACX,KAAKy2B,GAAiB2jD,eACpB,OAAOp6E,GAAE,kBACX,KAAKy2B,GAAiBpH,QACpB,OAAOrvB,GAAE,WACX,KAAKy2B,GAAiB4jD,YACpB,OAAOr6E,GAAE,eACX,KAAKy2B,GAAiB6jD,OACpB,OAAOt6E,GAAE,iBACX,KAAKy2B,GAAiB8jD,QACpB,OAAOv6E,GAAE,WACX,KAAKy2B,GAAiB+jD,QACpB,OAAOx6E,GAAE,WACX,QACE,OAAOmqE,GAAaha,KAIbsqB,GAA6B,SACxCtqB,GAEA,OAAQA,GACN,KAAK1b,GAAuBimC,IAC1B,OAAO16E,GAAE,kBACX,KAAKy0C,GAAuBkmC,MAC1B,OAAO36E,GAAE,4BACX,QACE,OAAOmqE,GAAaha,KAIbyqB,GAAoB,SAACzqB,GAChC,OAAQA,GACN,KAAKvjB,GAAciuC,gBACjB,OAAO76E,GAAE,UACX,KAAK4sC,GAAckuC,qBACjB,OAAO96E,GAAE,WACX,KAAK4sC,GAAcmuC,6BACjB,OAAO/6E,GAAE,UACX,QACE,OAAOmqE,GAAaha,KAIb6qB,GAAmB,SAAC7qB,GAC/B,OAAQA,GACN,KAAK51B,GAAa0gD,QAChB,OAAOj7E,GAAE,WACX,KAAKu6B,GAAaq/C,OAChB,OAAO55E,GAAE,0BACX,KAAKu6B,GAAa2gD,UAChB,OAAOl7E,GAAE,aACX,QACE,OAAOmqE,GAAaha,KAIbgrB,GAAsB,SAAChrB,GAClC,OAAQA,GACN,KAAKvC,GAAgB6e,KACnB,OAAOzsE,GAAE,QACX,KAAK4tD,GAAgB8e,SACnB,OAAO1sE,GAAE,YACX,KAAK4tD,GAAgB+e,UACnB,OAAO3sE,GAAE,aACX,KAAK4tD,GAAgBgf,iBACnB,OAAO5sE,GAAE,oBACX,KAAK4tD,GAAgBstB,UACnB,OAAOl7E,GAAE,aACX,KAAK4tD,GAAgBqtB,QACnB,OAAOj7E,GAAE,WACX,QACE,OAAOmqE,GAAaha,KAMpBirB,GAA0B,SAACjrB,GAC/B,OAAQA,GACN,KAAKtiC,GAAU4+C,KACb,MAAO,GAAP,OAAUzsE,GAAE,eAAc,cAAMA,GAAE,SAAQ,cAAMA,GAAE,aAAY,cAAMA,GAClE,eAEJ,KAAK6tB,GAAU6+C,SACb,MAAO,GAAP,OAAU1sE,GAAE,gBACd,KAAK6tB,GAAU8+C,UACb,MAAO,GAAP,OAAU3sE,GAAE,eAAc,cAAMA,GAAE,kBAAiB,cAAMA,GACvD,eAEJ,KAAK6tB,GAAU++C,iBACb,MAAO,GAAP,OAAU5sE,GAAE,eAAc,cAAMA,GAAE,aAAY,cAAMA,GAAE,aAAY,cAAMA,GACtE,aACD,cAAMA,GAAE,aAAY,cAAMA,GAAE,cAAa,cAAMA,GAAE,gBAAe,cAAMA,GACrE,QAEJ,QACE,OAAOmqE,GAAaha,KAIpBkrB,GAA0B,SAAClrB,GAC/B,OAAQA,GACN,KAAKtiC,GAAU4+C,KACb,MAAO,GAAP,OAAUzsE,GAAE,eACd,KAAK6tB,GAAU6+C,SACb,MAAO,GAAP,OAAU1sE,GAAE,eACd,KAAK6tB,GAAU8+C,UACb,MAAO,GAAP,OAAU3sE,GAAE,cAAa,cAAMA,GAAE,mBACnC,KAAK6tB,GAAU++C,iBACb,MAAO,GAAP,OAAU5sE,GAAE,eACd,QACE,OAAOmqE,GAAaha,KAIbmrB,GAAsB,SAACnrB,GAClC,MAAO,GAAP,OAAUnwD,GAAE,gBAAe,cAAMo7E,GAAwBjrB,KAG9CorB,GAAgC,SAACprB,GAC5C,MAAO,GAAP,OAAUnwD,GAAE,gBAAe,cAAMA,GAAE,gBAGxBw7E,GAA2B,SAACrrB,GACvC,MAAO,GAAP,OAAUnwD,GAAE,iBAAgB,cAAMA,GAChC,gBACD,cAAMq7E,GAAwBlrB,KAGpBsrB,GAA0B,SAACtrB,GACtC,MAAO,GAAP,OAAUnwD,GAAE,iBAAgB,cAAMo7E,GAChCjrB,GACD,cAAMkrB,GAAwBlrB,KAGpBurB,GAAgC,SAACvrB,GAC5C,MAAO,GAAP,OAAUnwD,GAAE,iBAAgB,cAAMA,GAChC,cACD,cAAMq7E,GAAwBlrB,K,s1CCl3BjC,IAAMwrB,GAAU,0BACVC,GAAU,0BAEV3rB,GAAK,WAMT,WAAoBH,EAAeL,EAAgBosB,GACjD,GAD+D,WAJzD,KAAAC,SAAmB,GAKpBD,IAASA,EAAKE,QACjB,MAAMp2E,MAAM,iBAAmBk2E,EAAKv8E,KAAO,IAAM0G,KAAKC,UAAU41E,IAElE76E,KAAK3B,EAAI28E,cAASC,WAAWnsB,EAAOL,EAAQ,CAAEosB,KAAMA,IAChD76E,KAAK3B,EAAI28E,cAAShsB,QAAQ2rB,GAAS,CAAEE,KAAMA,IAC7C76E,KAAK3B,EAAI28E,cAAShsB,QAAQ2rB,GAAS,CAAEE,KAAMA,IAClC76E,KAAK3B,EAAI28E,cAAShsB,QAAQ4rB,GAAS,CAAEC,KAAMA,MACpD76E,KAAK3B,EAAI28E,cAAShsB,QAAQ4rB,GAAS,CAAEC,KAAMA,KAE7C76E,KAAKk7E,SAAWl7E,KAAK3B,EAAE68E,SACvBl7E,KAAKm7E,WAAan7E,KAAK3B,EAAE+8E,gBAkD1B,OAjDA,4BAmDD,SAASjR,GACP,OAAOnqE,KAAK3B,EAAEg9E,UAAUlR,GAAQmR,SAAS,UAC1C,2BACD,SAAcnR,GACZ,OAAOnqE,KAAK3B,EAAEg9E,UAAUlR,GAAQmR,SAAS,SAC1C,4BACD,SAAenR,GACb,OAAOnqE,KAAK3B,EAAEg9E,UAAUlR,GAAQmR,SAAS,UAC1C,0BACD,WACE,MAAO,IAAMt7E,KAAK3B,EAAEk9E,UACrB,gCACD,SAAmBpR,GACjB,OAAOnqE,KAAKw7E,YAAc,IAAMx7E,KAAKy7E,eAAetR,KACrD,8BACD,WACE,OAAOnqE,KAAKw7E,YAAc,IAAMx7E,KAAK07E,iBACtC,uBACD,WACE,OAAO17E,KAAK3B,EAAEi9E,SAAS,UACxB,uBACD,WACE,OAAOt7E,KAAK3B,EAAEi9E,SAAS,gBACxB,4BACD,WACE,OAAOt7E,KAAK3B,EAAEi9E,SAAS,WACxB,uBACD,WACE,OAAOt7E,KAAK3B,EAAEi9E,SAAS,cACxB,2BACD,WACE,OAAOt7E,KAAK3B,EAAEi9E,SAAS,kBACxB,2BACD,WACE,OAAOt7E,KAAK27E,YAAc,IAAM37E,KAAK47E,cACtC,+BACD,WACE,OAAO57E,KAAK27E,YAAc,IAAM37E,KAAK67E,kBACtC,gCACD,SAAmB1R,GACjB,OAAOnqE,KAAK3B,EAAEg9E,UAAUlR,GAAQmR,SAAS,WAC1C,2BACD,SAAcnR,GACZ,OAAOnqE,KAAK3B,EAAEg9E,UAAUlR,GAAQmR,SAAS,gBAC1C,gCACD,WACE,OAAOt7E,KAAK27E,YAAc,IAAM37E,KAAK87E,mBACtC,yCACD,WACE,OAAO97E,KAAK27E,YAAc,KAAO37E,KAAK87E,mBACvC,sCACD,SAAyBz9E,EAAU8rE,GACjC,MAAO,GAAP,OAAU9rE,EAAE09E,qBAAoB,cAAM/7E,KAAKg8E,WAAW39E,EAAG8rE,GAAO,OACjE,wBACD,SAAW8R,EAAkB9R,GAC3B,OAAO8R,EAAU59E,EAAEg9E,UAAUlR,GAAQ6R,WAAW,CAAEE,KAAMl8E,KAAK3B,MAC9D,qBACD,WACE,OAAO2B,KAAK3B,EAAE89E,SACf,mBACD,WACE,OAAOn8E,KAAK3B,EAAE+9E,OACf,kBACD,WACE,OAAOp8E,KAAK3B,EAAEg+E,MACf,mBACD,WACE,OAAOr8E,KAAK3B,EAAEi+E,QACf,kBACD,WACE,OAAOt8E,KAAK3B,EAAEk+E,OACf,wBACD,WACE,OAAOttB,EAAMutB,UAAUx8E,KAAK3B,EAAEo+E,QAAQ,UACvC,sBACD,WACE,OAAOxtB,EAAMutB,UAAUx8E,KAAK3B,EAAEq+E,MAAM,UACrC,0BACD,WACE,OAAOztB,EAAMutB,UAAUx8E,KAAK3B,EAAEo+E,QAAQ,YACvC,wBACD,WACE,OAAOxtB,EAAMutB,UAAUx8E,KAAK3B,EAAEq+E,MAAM,YACrC,yBACD,WACE,OAAOztB,EAAMutB,UAAUx8E,KAAK3B,EAAEo+E,QAAQ,WACvC,uBACD,WACE,OAAOxtB,EAAMutB,UAAUx8E,KAAK3B,EAAEq+E,MAAM,WACrC,uBACD,SAAUC,GACR,OAAO1tB,EAAMutB,UAAUx8E,KAAK3B,EAAEu+E,IAAI,CAAER,KAAMO,OAC3C,yBACD,SAAY3yB,GACV,OAAOiF,EAAMutB,UAAUx8E,KAAK3B,EAAEu+E,IAAI,CAAET,OAAQnyB,OAC7C,wBACD,SAAW6yB,GACT,OAAO5tB,EAAMutB,UAAUx8E,KAAK3B,EAAEy+E,KAAK,CAAEt0B,QAASq0B,OAC/C,wBACD,SAAWA,GACT,OAAO5tB,EAAMutB,UAAUx8E,KAAK3B,EAAEy+E,KAAK,CAAE9yB,QAAS6yB,OAC/C,sBACD,SAASA,GACP,OAAO5tB,EAAMutB,UAAUx8E,KAAK3B,EAAEy+E,KAAK,CAAEH,MAAOE,OAC7C,qBACD,SAAQA,GACN,OAAO5tB,EAAMutB,UAAUx8E,KAAK3B,EAAEy+E,KAAK,CAAEC,KAAMF,OAC5C,uBACD,SAAUA,GACR,OAAO5tB,EAAMutB,UAAUx8E,KAAK3B,EAAEy+E,KAAK,CAAEE,OAAQH,OAC9C,sBACD,SAASA,GACP,OAAO5tB,EAAMutB,UAAUx8E,KAAK3B,EAAEy+E,KAAK,CAAEG,MAAOJ,OAC7C,+BACD,WACE,IAAMx+E,EAAI2B,KAAK3B,EAAEo+E,QAAQ,UAAUK,KAAK,CAAE9yB,QAAS,IACnD,OAAOiF,EAAMutB,UAAUn+E,GAAG6+E,YAAY7+E,EAAE89E,OAAU99E,EAAE89E,OAAS,KAC9D,yBACD,SAAY1nD,GACV,OAAOz0B,KAAK3B,EAAE8+E,KAAK1oD,EAAKp2B,EAAG,QAAQ0+E,OACpC,uBACD,SAAUK,EAAcC,GACtB,OAAOr9E,KAAKs9E,cAAcF,IAAUp9E,KAAKu9E,eAAeF,KACzD,oBACD,SAAO5oD,GACL,OAAOz0B,KAAK3B,EAAEm/E,cAAgB/oD,EAAK+oD,cACpC,sBACD,SAAS/oD,GACP,OAAOz0B,KAAK3B,EAAEm/E,YAAc/oD,EAAK+oD,cAClC,4BACD,SAAe/oD,GACb,OAAOz0B,KAAK3B,EAAEm/E,aAAe/oD,EAAK+oD,cACnC,qBACD,SAAQ/oD,GACN,OAAOz0B,KAAK3B,EAAEm/E,YAAc/oD,EAAK+oD,cAClC,2BACD,SAAc/oD,GACZ,OAAOz0B,KAAK3B,EAAEm/E,aAAe/oD,EAAK+oD,cACnC,qBACD,WACE,OAAOx9E,KAAK3B,EAAE08E,UACf,uBACD,WACE,OAAO/6E,KAAK3B,EAAEm/E,cACf,wBACD,WACE,OAAOzuB,GAAU0uB,WAAWz9E,KAAK3B,EAAEq/E,cACpC,sBACD,WACE,MAAkC,WAA9B19E,KAAK3B,EAAEi9E,SAAS,UACXt7E,KAAK27E,YAEP37E,KAAK+7E,uBACb,yBACD,SAAY4B,GACV,MAAO,GAAP,OAAU39E,KAAK49E,oBAAmB,YAAI59E,KAAKk7E,aAC5C,wBA9MO,SAAiB78E,GACvB,OAAO,IAAI4wD,EACT5wD,EAAEi9E,SAAS,2BACX,0BACAj9E,EAAEw8E,QAEL,iBACD,SAAWA,GACT,OAAO5rB,EAAMutB,UAAUxB,cAASrxB,MAAMk0B,QAAQ3C,GAASL,OACxD,wBACD,SACEz3C,EACAy3C,GAKA,GAHoB,kBAATA,IACTA,EAAOK,GAASL,KAEbz3C,EACH,OAAO6rB,EAAMutB,UAAUxB,cAAS8C,QAAQ,gBAAgBD,QAAQhD,IAElE,MAA+BkD,GAAU36C,GAAI,UAAtC46C,EAAY,KAAEvvB,EAAM,KAC3B,OAAO,IAAIQ,EAAM+uB,EAAcvvB,EAAQ,IAAIwvB,cAASpD,MACrD,2BACD,SAAqBz3C,GACnB,GAA4B,SAAxBA,EAAI86C,UAAU,EAAG,GAArB,CAGA,IAAMC,EAAgB/6C,EAAIg7C,QAAQ,KAC5BC,EAAiBj7C,EAAI86C,UAAU,EAAGC,GAClCtD,EAAOz3C,EAAI86C,UAAUC,EAAgB,EAAG/6C,EAAI1mC,QAC5C4hF,EAAQrvB,EAAMsvB,WAAWF,EAAgBxD,GAC/C,OAAOyD,KACR,yBACD,SAAmB91B,EAAiBqyB,GAClC,OAAO5rB,EAAMutB,UACXxB,cAASwD,YAAYh2B,EAAS,CAC5BqyB,KAAMK,GAASL,QAGpB,qBACD,SAAehsB,GACb,OAAOA,IAAkC,IAA1BA,EAAcisB,UAC9B,qBACD,WACE,OAAO7rB,EAAMsvB,WAAW5D,GAAS7tD,GAASuiC,oBAC3C,qBACD,WACE,OAAOJ,EAAMsvB,WAAW5D,GAAS7tD,GAASuiC,sBAC3C,EAnEQ,GAoOEN,GAAS,WAGpB,WAAoBD,GAAyB,WAC3C9uD,KAAK3B,EAAIogF,cAAShB,WAAW3uB,GAe9B,OAdA,0BAeD,SAAOL,EAAgBkvB,GACrB,OAAO39E,KAAK3B,EAAEi9E,SAAS7sB,KACxB,mBACD,WACE,OAAOzuD,KAAK3B,EAAEs+E,QACf,qBACD,WACE,OAAO38E,KAAK3B,EAAE2rD,UACf,6BACD,WACE,OACEhqD,KAAK3B,EAAEs+E,MAAMptD,WAAWmvD,SAAS,EAAG,KACpC,IACA1+E,KAAK3B,EAAE2rD,QAAQz6B,WAAWmvD,SAAS,EAAG,OAEzC,qBACD,SAAQ7D,GACN,OAAO5rB,GAAMtF,IAAIkxB,GACd8D,aACAC,UAAU5+E,KAAK28E,SACfO,YAAYl9E,KAAKgqD,cACrB,sBAlCD,SAAe60B,GAEb,GAAIA,EAAIC,WAAW,MAAQD,EAAIC,WAAW,MACxC,OAAO,IAAI/vB,EAAU0vB,cAASzvB,QAAQ6vB,IAGtC,MAAkCA,EAAI7mC,MAAM,KAAK+mC,IAAIC,QAAO,UAArDrC,EAAK,KAAE3yB,EAAO,KAAExB,EAAO,KAC9B,OAAO,IAAIuG,EAAU,CAAE4tB,QAAO3yB,UAASxB,cAE1C,wBACD,SAAkBqG,GAChB,OAAO,IAAIE,EAAUF,OACtB,EAnBmB,GA4ChBowB,GAAa,CAAC,IAAK,IAAK,IAAK,KAC7BlB,GAAY,SAAC36C,GACjB67C,GAAWF,KAAI,SAAAG,GAAG,OAAK97C,EAAMA,EAAI+7C,WAAWD,EAAK,QACjD,IAAIE,EAAQh8C,EAAI4U,MAAM,KAAK1pB,QAAO,SAAA5uB,GAAC,OAAIA,EAAEhD,OAAS,KAG9C0iF,EAAMA,EAAM1iF,OAAS,GAAGoiF,WAAW,KACrCM,EAAQA,EAAMt/E,MAAM,GAAI,GACfs/E,EAAM1iF,OAAS,GAAK0iF,EAAMA,EAAM1iF,OAAS,GAAGoiF,WAAW,OAChEM,EAAQA,EAAMt/E,MAAM,GAAI,IAGL,IAAjBs/E,EAAM1iF,QAAoC,IAApB0iF,EAAM,GAAG1iF,SAEjC0iF,EAAQ,CACNA,EAAM,GAAGlB,UAAU,EAAG,GACtBkB,EAAM,GAAGlB,UAAU,EAAG,GACtBkB,EAAM,GAAGlB,UAAU,EAAG,KAIL,IAAjBkB,EAAM1iF,QAAoC,IAApB0iF,EAAM,GAAG1iF,SAEjC0iF,EAAQ,CACNA,EAAM,GAAGlB,UAAU,EAAG,GACtBkB,EAAM,GAAGlB,UAAU,EAAG,GACtBkB,EAAM,GAAGlB,UAAU,EAAG,KAI1B,IAAIzvB,EAAS,GAsBb,OArBI2wB,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEtC0iF,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEtC0iF,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEtC0iF,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEtC0iF,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEtC0iF,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEtC0iF,EAAM,KACR3wB,GAAU,IAAI4wB,OAAOD,EAAM,GAAG1iF,QAAU,KAEnC,CAAC0iF,EAAME,KAAK,KAAM7wB,EAAOC,SAGnBO,M,m2DC9SR,IAwDKswB,GAxDCC,GAAyB,SAACC,GACrC,MAAO,CACLx5E,WAAYw5E,EAAQx5E,WACpBe,QAASy4E,EAAQz4E,QACjBolB,UAAWqzD,EAAQrzD,UACnB9hB,UAAWm1E,EAAQn1E,UACnB3C,UAAW83E,EAAQ93E,UACnB0kB,gBAAiBozD,EAAQpzD,gBACzBN,kBAAmB0zD,EAAQ1zD,kBAC3B8uD,KAAM4E,EAAQnzD,WAILozD,GAAkB,gCAE7B,WAAYxjF,GAAsB,MAK9B,OAL8B,WAChC,cAAMA,GACN,EAAKyjF,WAAaC,GAChB,EAAKr/C,oBACL,EAAKC,mBACL,EACH,aAR4B,CAAQxkB,IAW1B4jE,GAAsB,SACjCr/C,EACAC,GAEA,OAAQyuB,GAAMtF,IAAI78B,GAASuiC,kBAAkBwwB,UAC3Ct/C,EACAC,EAAkBs/C,cA0BtB,SAAYP,GACVA,wCACAA,iCAFF,CAAYA,QAAK,KAKV,IA2DKQ,GA3DCC,GAAqB,IAEhC,WAAYC,GAA4B,WACtCjgF,KAAKkgF,wBAA0BD,EAAKC,2BAQ3BC,GAAa,IAExB,WAAYF,GAAoB,WAC9BjgF,KAAKogF,WAAaH,EAAKG,cAQdC,GAAwB,IAEnC,WAAYJ,GAA+B,WACzCjgF,KAAKsgF,eAAiBL,EAAKK,kBAQlBC,GAAyB,IAKpC,WAAYN,GAAgC,WAC1CjgF,KAAKwgF,SAAWP,EAAKO,SACrBxgF,KAAKygF,WAAaR,EAAKQ,WACvBzgF,KAAK0gF,gBAAkBT,EAAKS,gBAC5B1gF,KAAK2gF,gBAAkBV,EAAKU,oBAiBhC,SAAYZ,GACVA,wBACAA,kCACAA,oCACAA,wCACAA,4CACAA,8DACAA,8CACAA,oDACAA,wDACAA,0DACAA,6DACAA,2CACAA,+CACAA,wDAdF,CAAYA,QAAS,KAwBd,IAAMa,GAA2B,WAAH,OACnC,IAAIh4C,GAAyB,CAC3BlQ,SAAUu2B,GAAMtF,IAAI78B,GAASuiC,kBAC1BwxB,UAAU,GACVC,cACHnoD,OAAQs2B,GAAMtF,IAAI78B,GAASuiC,kBAAkB0xB,YAC7Cl4C,cAAe,GACfC,YAAa,GACbC,aAAc,GACdC,WAAY,GACZI,MAAO,GACPH,YAAY,EACZC,cAAe,EACfrU,UAAW,GACX9X,YAAa,GACb4U,WAAY,GACZwX,WAAY,GACZnQ,aAAc,GACdsQ,gBAAiB,GACjBC,iBAAkB,GAClBnK,cAAe,GACfiK,qBAAqB,EACrBG,YAAY,KAGHw3C,GAAY,IASvB,WAAY9kF,GAKX,WAbD,KAAA+kF,KAAe,EACf,KAAArqD,aAAuB,IACvB,KAAAsqD,OAA8B,GAC9B,KAAAC,SAAsB,EAAC,GACvB,KAAAC,QAAoB,GACpB,KAAAC,UAAuB,EAAC,GACxB,KAAAC,WAAqB,EACrB,KAAAC,UAAoB,EAOlBvhF,KAAK42B,kBACmBh2B,IAAtB1E,EAAK06B,aAA6B52B,KAAK42B,aAAe16B,EAAK06B,aAC7D52B,KAAKkhF,YAAyBtgF,IAAhB1E,EAAKglF,OAAuBlhF,KAAKkhF,OAAShlF,EAAKglF,OAC7DlhF,KAAKmhF,cAA6BvgF,IAAlB1E,EAAKilF,SAAyBnhF,KAAKmhF,SAAWjlF,EAAKilF,SACnEnhF,KAAKohF,aAA2BxgF,IAAjB1E,EAAKklF,QAAwBphF,KAAKohF,QAAUllF,EAAKklF,WA6GvDI,GAAU,IAOrB,WAAY7yD,EAA0BqB,EAAcyxD,GAAY,WAC9DzhF,KAAK2uB,GAAKA,EACV3uB,KAAKgwB,KAAOhxB,GAAEgxB,GACdhwB,KAAKyhF,KAAOA,EACZzhF,KAAKskD,SAAU,EACftkD,KAAKukD,YAAa,KAqBTm9B,GAAiB,IAI5B,WAAY7lD,EAA0BC,GAA+B,WACnE97B,KAAK67B,KAAOA,QAAQj7B,EACpBZ,KAAK87B,YAAcA,QAAel7B,KAIzB+gF,GAAkB,GAElBC,GAAkB,SAACC,GAC9B,OAAQA,GACN,KAAKvtD,GAAWo5C,QACd,OAAO1uE,GAAE,WACX,KAAKs1B,GAAWq5C,OACd,OAAO3uE,GAAE,UACX,KAAKs1B,GAAWu5C,OACd,OAAO7uE,GAAE,UACX,KAAKs1B,GAAWy5C,UACd,OAAO/uE,GAAE,aACX,KAAKs1B,GAAWs5C,SACd,OAAO5uE,GAAE,YACX,KAAK2iF,GACH,OAAO3iF,GAAE,cACX,QACE,MAAM2F,MAAM,yBAILm9E,GAAuB,SAACD,GACnC,OAAQA,GACN,KAAKvtD,GAAWo5C,QACd,OAAO,EACT,KAAKp5C,GAAWq5C,OACd,OAAO,EACT,KAAKr5C,GAAWu5C,OACd,OAAO,EACT,KAAKv5C,GAAWy5C,UACd,OAAO,EACT,KAAKz5C,GAAWs5C,SACd,OAAO,EACT,KAAK+T,GACH,OAAO,EACT,QACE,MAAMh9E,MAAM,yBAILo9E,GAAW,WAGtB,WAAYpzD,EAAYrkB,GAAoB,WAC1CtK,KAAK2uB,GAAKA,EACV3uB,KAAKkC,QAAUlC,KAAKgiF,eAAerzD,EAAIrkB,GAiSxC,OAhSA,kCACD,SAAeqkB,EAAYrkB,GACzB,OAAQA,GACN,KAAK5I,EAAUypE,OACb,OAAOnrE,KAAKiiF,qBAAqBtzD,GACnC,KAAKjtB,EAAU0pE,SACb,OAAOprE,KAAKkiF,uBAAuBvzD,GACrC,KAAKjtB,EAAU4pE,SACb,OAAOtrE,KAAKmiF,uBAAuBxzD,GACrC,KAAKjtB,EAAU2pE,SACb,OAAOrrE,KAAKoiF,uBAAuBzzD,GACrC,QACE,OAAOw6C,GAAa7+D,MAEzB,kCACD,SAAqBqkB,GACnB,OAAQA,GACN,KAAK2F,GAAWo5C,QACd,MAAO,CACLhrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAY+/B,YACZ//B,GAAYggC,KACZhgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWq5C,OACd,MAAO,CACLjrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYq1B,iBACZr1B,GAAYmgC,aACZngC,GAAY+/B,YACZ//B,GAAYggC,KACZhgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWu5C,OACd,MAAO,CACLnrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYg1B,WACZh1B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAYmgC,aACZngC,GAAY+/B,YACZ//B,GAAYggC,KACZhgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWy5C,UACd,MAAO,CACLrrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYg1B,WACZh1B,GAAYogC,aACZpgC,GAAYs1B,mBACZt1B,GAAYmgC,aACZngC,GAAY+/B,YACZ//B,GAAYggC,KACZhgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWs5C,SACd,MAAO,CACLlrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYw1B,UACZx1B,GAAY+/B,YACZ//B,GAAYggC,KACZhgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKjB,GACH,MAAO,CACLj/B,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYu1B,kBACZv1B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAY+/B,YACZ//B,GAAYggC,KACZhgC,GAAYkgC,IAEhB,QACE,MAAO,CAAClgC,GAAYkgC,OAEzB,oCACD,SAAuBj0D,GACrB,OAAQA,GACN,KAAK2F,GAAWo5C,QACd,MAAO,CACLhrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYqgC,sBACZrgC,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYsgC,WACZtgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWq5C,OACd,MAAO,CACLjrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYq1B,iBACZr1B,GAAYsgC,WACZtgC,GAAY+/B,YACZ//B,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWu5C,OACd,MAAO,CACLnrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYg1B,WACZh1B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAYsgC,WACZtgC,GAAY+/B,YACZ//B,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKtuD,GAAWy5C,UACd,MAAO,CACLrrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYg1B,WACZh1B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAYsgC,WACZtgC,GAAY+/B,YACZ//B,GAAYigC,YACZjgC,GAAYkgC,IAEhB,KAAKjB,GACH,MAAO,CACLj/B,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY6/B,cACZ7/B,GAAY8/B,cACZ9/B,GAAYu1B,kBACZv1B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYsgC,WACZtgC,GAAYigC,YACZjgC,GAAYkgC,IAEhB,QACE,MAAO,CAAClgC,GAAYkgC,OAEzB,oCACD,SAAuBj0D,GACrB,OAAQA,GACN,KAAK2F,GAAWo5C,QACd,MAAO,CACLhrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAYsgC,WACZtgC,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,KAAKtuD,GAAWq5C,OACd,MAAO,CACLjrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYq1B,iBACZr1B,GAAYs1B,mBACZt1B,GAAYsgC,WACZtgC,GAAYmgC,aACZngC,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,KAAKtuD,GAAWu5C,OACd,MAAO,CACLnrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY8/B,cACZ9/B,GAAYg1B,WACZh1B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAYsgC,WACZtgC,GAAYmgC,aACZngC,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,KAAKtuD,GAAWy5C,UACd,MAAO,CACLrrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAY8/B,cACZ9/B,GAAYogC,aACZpgC,GAAYs1B,mBACZt1B,GAAYsgC,WACZtgC,GAAYmgC,aACZngC,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,QACE,MAAO,CAAClgC,GAAYkgC,OAEzB,oCACD,SAAuBj0D,GACrB,OAAQA,GACN,KAAK2F,GAAWo5C,QACd,MAAO,CACLhrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAYugC,gBACZvgC,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,KAAKtuD,GAAWq5C,OACd,MAAO,CACLjrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAYugC,gBACZvgC,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,KAAKtuD,GAAWu5C,OACd,MAAO,CACLnrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAYugC,gBACZvgC,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,KAAKtuD,GAAWy5C,UACd,MAAO,CACLrrB,GAAY2/B,wBACZ3/B,GAAY4/B,0BACZ5/B,GAAYugC,gBACZvgC,GAAY8/B,cACZ9/B,GAAY80B,eACZ90B,GAAYo1B,eACZp1B,GAAYs1B,mBACZt1B,GAAY+/B,YACZ//B,GAAYkgC,IAEhB,QACE,MAAO,CAAClgC,GAAYkgC,SAEzB,EAtSqB,G,0ZC7Z4B,IAwB/BM,GAAM,IAWzB,wBATQ,KAAAC,YAAsCviF,EAU5CZ,KAAKmjF,OAAgCC,MAXxBF,iBAA+BtiF,EAG/BsiF,eAAc,WAI3B,YAHwBtiF,IAApBsiF,GAAOlgF,WACTkgF,GAAOlgF,SAAW,IAAIkgF,IAEjBA,GAAOlgF,UAODkgF,gBAAe,SAACG,GAC7B,IAAMC,EAAW1jF,OAAOqjC,SAASqgD,SAC7BvkF,EAAuB,KAC3B,OAAQukF,GACN,IAAK,YACHvkF,EAAQskF,EAAG,aACX,MACF,IAAK,mBACHtkF,EAAQskF,EAAG,oBACX,MACF,IAAK,kBACHtkF,EAAQskF,EAAG,mBACX,MACF,IAAK,kBACHtkF,EAAQskF,EAAG,mBACX,MACF,IAAK,wBACHtkF,EAAQskF,EAAG,yBACX,MACF,IAAK,kBACHtkF,EAAQskF,EAAG,mBACX,MACF,IAAK,iBACHtkF,EAAQskF,EAAG,kBACX,MACF,QACE,MAAM,IAAI1+E,MAAM,+BAAiC2+E,GAKrD,GAHc,OAAVvkF,IACFA,EAAQskF,EAAG,YAEC,OAAVtkF,EACF,MAAM,IAAI4F,MAAM,6BAA+B2+E,GAEjD,OAAOvkF,GAGFmkF,gBAAe,kBACpBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQM,KAAKC,YACjDR,eAAc,kBACnBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQM,KAAKx4E,WACjDi4E,sBAAqB,kBAC1BA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQM,KAAKE,kBACjDT,YAAW,kBAChBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQM,KAAKG,QACjDV,cAAa,kBAClBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQU,UAC5CX,YAAW,kBAChBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQz5C,QCpFrD,IAAMo6C,GAAkBlkF,OAAOqjC,SAAS8gD,SAASjF,WAAW,WACtDkF,GAAwBpkF,OAAOqjC,SAAS8gD,SAASjF,WACrD,kBAEImF,IACHD,GACG,iBACAF,GACA,UACA,IAAM,eACNI,IACHF,GACG,iBACAF,GACA,UACA,IAAM,gBACNK,IACHH,GACG,iBACAF,GACA,UACA,IAAM,eACNM,GAAgC,CACpCV,UAAWR,GAAOmB,eAClBC,UAAWpB,GAAOqB,cAClBC,aAActB,GAAOuB,qBAAuBR,GAC5CS,yBAA0BxB,GAAOuB,qBAAuBP,GACxDS,cAAe,iBACff,MAAOV,GAAO0B,WACdC,oBAAqB3B,GAAOuB,qBAAuBN,GACnDW,qBAAsB,IACtBC,sBAAsB,EACtBC,cAAc,GAEVC,GAAc,IAAIC,KAAKC,YAAYf,IACzCc,KAAKE,IAAIC,OAAS1iF,QAClBuiF,KAAKE,IAAIE,MAAQJ,KAAKE,IAAIG,KAE1BN,GAAYO,OAAOC,kBAAiB,WAClCR,GAAYS,aACZ/iF,QAAQC,MAAM,qDAGD,I,SAAA,IACb+iF,qBAAoB,WAClB,OAAO3B,IAET4B,eAAc,WACZ,OAAO9B,IAET+B,aAAY,WACV,OACEjmF,OAAOqjC,SAASqgD,UAAY1jF,OAAOqjC,SAASqgD,SAASxE,WAAW,QAGpEgH,YAAW,WACT,OACElmF,OAAOqjC,SAASqgD,UAChB1jF,OAAOqjC,SAASqgD,SAASxE,WAAW,cAGxCiH,QAAO,WACL,OAAOd,GAAYc,WAErBL,WAAU,WACR,OAAOT,GAAYS,cAErBM,kBAAiB,WAEf,OADAf,GAAYgB,kBACLhB,GAAYiB,gBAErBC,gBAAe,WACb,OAAOlB,GAAYmB,wBAErBC,sBAAqB,SAACC,GAEpB,OADArB,GAAYgB,kBACLhB,GAAYsB,eAAe,CAChCC,MAAO,CAAEC,yBAA0BH,MAGvCI,oBAAmB,WACjB,OAAOzB,GAAY0B,0BAErBC,uBAAsB,SAACN,GAErB,OADArB,GAAYgB,kBACLhB,GAAY4B,gBAAgB,CACjCL,MAAO,CAAEC,yBAA0BH,MAGvCQ,qBAAoB,WAClB,OAAO7B,GAAY8B,4B,aC7FVC,GAAO,CAElBC,SAAU,WACVC,iBAAkB,mBAClB7kF,qBAAsB,uBACtB8kF,eAAgB,iBAChBC,sBAAuB,wBACvBvmF,UAAW,YACXG,YAAa,cACb0F,WAAY,aACZ2gF,aAAc,eAGd/mF,SAAU,WACV8B,MAAO,QACPqkF,yBAA0B,2BAC1Ba,aAAc,eAGdjmF,oBAAqB,sBACrBkmF,cAAe,gBACfC,OAAQ,SACRC,eAAgB,iBAChBC,cAAe,gBAGfC,KAAM,OACNpjC,WAAY,aACZqjC,YAAa,cAGbC,SAAU,WACVC,aAAc,eACdC,UAAW,YACXC,cAAe,iBAGJC,GAAY,CAEvBC,YAAa,cACbC,oBAAqB,sBACrBC,kBAAmB,oBACnBC,yBAA0B,2BAC1BC,aAAc,eACdC,eAAgB,iBAChBC,cAAe,gBACfC,WAAY,aACZC,qBAAsB,uBAGtBC,YAAa,cACbC,SAAU,WACVC,4BAA6B,8BAC7BC,gBAAiB,kBAGjBC,uBAAwB,yBACxBC,gBAAiB,kBACjBC,mBAAoB,qBACpBC,UAAW,YACXC,SAAU,WACVC,kBAAmB,oBACnBC,iBAAkB,mBAGlBC,SAAU,WACVC,WAAY,aACZC,WAAY,aACZC,UAAW,YACXC,eAAgB,iBAGhBC,YAAa,cACbC,cAAe,gBACfC,aAAc,eACdC,eAAgB,kBAGLC,GAAU,CAErBC,iBAAkB,mBAClBC,eAAgB,iBAChBC,qBAAsB,uBACtBC,iBAAkB,mBAClBC,yBAA0B,2BAC1BC,qBAAsB,uBAGtBC,eAAgB,iBAChBC,YAAa,cACbC,UAAW,YACXC,aAAc,eACdC,WAAY,aACZ1E,kBAAmB,oBACnBG,gBAAiB,kBAKjBwE,WAAY,aACZhD,KAAM,OACNiD,OAAQ,SACRC,iBAAkB,mBAGlBC,cAAe,gBACfC,aAAc,eACdC,aAAc,eAEdC,eAAgB,iBAChBC,cAAe,gBACfC,cAAe,gBACfC,gBAAiB,mB,2YC7GnB,kmGAAA5uF,GAAA,wBAAAA,EAAA,sBAAAA,GAAA,iBAAAA,GAAA,ssDAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,4bAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,yhBAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,qGAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,+rBASA,I,MAAMgqF,GAAmB,CACvBlmF,SAAU,GACV8B,MAAO,GACPqkF,yBAA0B,GAC1Ba,cAAc,GAGH+D,GAA2C,CACtD7E,MAAOA,GACPrkF,SAAO,YACJ6kF,GAAK1mF,UAAW,SAACkmF,GAChB,OAAOA,EAAMlmF,YACd,MACA0mF,GAAK5kF,OAAQ,SAACokF,GACb,OAAOA,EAAMpkF,SACd,MACA4kF,GAAKP,0BAA2B,SAACD,GAChC,OAAOA,EAAMC,4BACd,MACAO,GAAKM,cAAe,SAACd,GACpB,OAAOA,EAAMc,gBACd,IAEHW,WAAS,YACNA,GAAUU,aAAc,SAACnC,EAAOlmF,GAC/BkmF,EAAMlmF,SAAWA,KAClB,MACA2nF,GAAUW,UAAW,SAACpC,EAAOpkF,GAC5BokF,EAAMpkF,MAAQA,KACf,MACA6lF,GAAUY,6BAA8B,SAACrC,EAAOF,GAC/CE,EAAMC,yBAA2BH,KAClC,MACA2B,GAAUa,iBAAkB,SAACtC,EAAOznF,GACnCynF,EAAMc,aAAevoF,KACtB,IAEHgrF,SAAO,YACJA,GAAQO,eAAc,+BAAG,WACxBgB,EACA7E,GAAgC,mEAEhC8E,GAAKxF,UACFtiF,MAAK,SAAA6D,GACJ,IAAIkkF,EAAmB,IACV,OAATlkF,GAAiBA,EAAMmkF,WAAa,IACtCH,EAAQI,SACN3B,GAAQ/D,kBACRS,GAEF+E,EAAmB,MAEnBF,EAAQK,OACN1D,GAAUU,YACVrhF,EAAKm4E,QAAQmM,oBAEfN,EAAQK,OAAO1D,GAAUW,SAAUthF,EAAKukF,WAE1C,IAAIC,EAAgB,IAChBP,GAAK3F,mBACPkG,EAAgB,WAEdP,GAAK5F,yBACPmG,EAAgB,kBAElBC,YACE,kBAAMT,EAAQI,SAAS3B,GAAQO,eAAgBwB,KAC/CN,MAGH5nF,OAAM,SAAAhB,GACL0oF,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,MAC1C,2CACN,qDAnCsB,IAmCtB,MACAmnF,GAAQQ,YAAW,+BAAG,WACrBe,EACA7E,GAAgC,4FAEzB8E,GAAKlF,sBAAsBI,GAA0B7iF,OAC1D,SAAAhB,GACE0oF,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,OAE9C,2CACF,qDATmB,IASnB,MACAmnF,GAAQS,UAAS,+BAAG,WAAMc,GAAO,4FACzBC,GAAK7E,sBACTjjF,MAAK,SAAA6D,GAUJ,GATAgkF,EAAQK,OACN1D,GAAUY,4BACVvhF,EAAKk/E,MAAMC,0BAEb6E,EAAQK,OACN1D,GAAUU,YACVrhF,EAAKm4E,QAAQmM,oBAEfN,EAAQK,OAAO1D,GAAUW,SAAUthF,EAAKukF,WACnCP,EAAQnpF,QAAQ6kF,GAAKM,cAAe,CACvCgE,EAAQK,OAAO1D,GAAUa,iBAAiB,GAC1C,IAAIgD,EAAgB,IAChBP,GAAK3F,mBACPkG,EAAgB,WAEdP,GAAK5F,yBACPmG,EAAgB,kBAElBR,EAAQI,SAAS3B,GAAQO,eAAgBwB,OAG5CloF,OAAM,SAAAhB,GACL0oF,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,OAC3C,2CACL,mDA3BiB,IA2BjB,MACAmnF,GAAQU,aAAY,+BAAG,WAAOa,EAAShF,GAAY,4FAC3CiF,GAAK3E,uBAAuBN,GAAM1iF,OAAM,SAAAhB,GAC7C0oF,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,OAC3C,2CACH,qDAJoB,IAIpB,MACAmnF,GAAQW,WAAU,+BAAG,WAAMY,GAAO,4FAC1BC,GAAKzE,uBACTrjF,MAAK,SAAAuoF,GACJV,EAAQK,OAAO1D,GAAUU,YAAa,IACtC2C,EAAQK,OAAO1D,GAAUW,SAAU,IACnC0C,EAAQK,OACN,8BACAK,EAAIxF,MAAMC,6BAGb7iF,OAAM,SAAAhB,GACL0oF,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,OAC3C,2CACL,mDAbkB,IAalB,MACAmnF,GAAQ/D,mBAAoB,SAC3BsF,EACA7E,GAEA8E,GAAKvF,oBACFviF,MAAK,SAAA6D,GACJgkF,EAAQK,OACN1D,GAAUU,YACVrhF,EAAKm4E,QAAQmM,oBAEfN,EAAQK,OAAO1D,GAAUW,SAAUthF,EAAKukF,aAEzCjoF,OAAM,SAAAhB,QACShC,IAAVgC,GAAuC,mBAAhBA,EAAMA,MAC/B0oF,EAAQI,SAAS3B,GAAQQ,YAAa9D,GAEtC6E,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,SAGlD,MACAmnF,GAAQ5D,gBAAe,+BAAG,WAAMmF,GAAO,4FAC/BC,GAAKpF,kBAAkBviF,OAAM,SAAAhB,GAClC0oF,EAAQI,SAAS3B,GAAQC,iBAAkBpnF,OAC3C,2CACH,mDAJuB,IAIvB,K,o4BCzJL,I,SAAM4jF,GAAuB,CAC3BnlF,oBAAqB,CACnB4qF,aAAc,cAEhB1E,cAAe,GACfC,OAAQ,GACRC,gBAAgB,EAChBC,mBAAe9mF,GAGJsrF,GAAmD,CAC9D1F,MAAOA,GACPrkF,SAAO,YACJ6kF,GAAK3lF,qBAAsB,SAACmlF,GAC3B,OAAOA,EAAMnlF,uBACd,MACA2lF,GAAKO,eAAgB,SAACf,GACrB,OAAOA,EAAMe,iBACd,MACAP,GAAKQ,QAAS,SAAChB,GACd,OAAOA,EAAMgB,UACd,MACAR,GAAKS,gBAAiB,SAACjB,GACtB,OAAOA,EAAMiB,kBACd,MACAT,GAAKU,eAAgB,SAAClB,GACrB,OAAOA,EAAMkB,iBACd,IAEHO,WAAS,YACNA,GAAUc,wBAAyB,SAACvC,EAAOvkF,GAC1CukF,EAAMnlF,oBAAsBY,KAC7B,MACAgmF,GAAUe,iBAAkB,SAACxC,EAAOt4D,GACnCs4D,EAAMe,cAAgB,GAAH,UAAOf,EAAMe,eAAa,CAAEr5D,OAChD,MACA+5D,GAAUgB,oBAAqB,SAACzC,EAAO73D,GACtC63D,EAAMe,cAAgBf,EAAMe,cAAcj5D,QAAO,SAAA/uB,GAAC,OAAIA,EAAEovB,KAAOA,QAChE,MACAs5D,GAAUiB,WAAY,SAAC1C,EAAO2F,GAC7B3F,EAAMgB,OAAS,GAAH,UAAOhB,EAAMgB,QAAM,CAAE2E,OAClC,MACAlE,GAAUkB,UAAW,SAAA3C,GACpBA,EAAMgB,OAAShB,EAAMgB,OAAShB,EAAMgB,OAAO1nF,MAAM,MAClD,MACAmoF,GAAUmB,mBAAoB,SAAC5C,EAAO4F,GACrC5F,EAAMiB,eAAiB2E,KACxB,MACAnE,GAAUoB,kBAAmB,SAAC7C,EAAO4F,GACpC5F,EAAMkB,cAAgB0E,KACvB,IAEHrC,QAAS,I,o4BC9CX,IAAMvD,GAAmB,CACvB6F,MAAO,GACPnqC,YAAa,IAGFoqC,GAA2C,CACtD9F,MAAOA,GACPrkF,SAAO,YACJ6kF,GAAKW,MAAO,SAACnB,GACZ,OAAO,SAACl4E,GACN,OAAOk4E,EAAM6F,MAAMzhB,MAAK,SAAA1sE,GAAC,OAAIA,EAAEoQ,SAAWA,SAE7C,MACA04E,GAAKziC,YAAa,SACjBiiC,EACArkF,GAIA,OAAO,SACLoqF,EACA7sE,GAEA,SAAK6sE,IAAa7sE,EAAQhjB,SAGnBgjB,EAAQ8sE,MACb,SAAA79D,GAAE,OACAxsB,EAAQ6kF,GAAKY,aAAaj5D,GAAIi8C,MAC5B,SAAC6hB,GAAa,OAAKA,EAAE99D,KAAO49D,KAC3BhoC,kBAGV,MACAyiC,GAAKY,aAAc,SAACpB,GACnB,OAAO,SAACl4E,GACN,IAAMs5E,EAA4B,CAChC,IAAIpG,GACFr9B,GAAqBuoC,QACrB,UACA,+BAEF,IAAIlL,GAAWr9B,GAAqBwoC,WAAY,OAAQ,cACxD,IAAInL,GACFr9B,GAAqByoC,KACrB,OACA,0BAEF,IAAIpL,GACFr9B,GAAqB+sB,KACrB,YACA,uBAEF,IAAIsQ,GACFr9B,GAAqB0oC,QACrB,UACA,qBAEF,IAAIrL,GACFr9B,GAAqB2oC,OACrB,SACA,2BAEF,IAAItL,GACFr9B,GAAqB4oC,iBACrB,kBACA/e,GAAe15C,GAAWo5C,SAAS,IAErC,IAAI8T,GACFr9B,GAAqB6oC,eACrB,mBACAhf,GAAe15C,GAAWo5C,SAAS,IAErC,IAAI8T,GACFr9B,GAAqB8oC,mBACrB,mBACAjf,GAAe15C,GAAWo5C,SAAS,IAErC,IAAI8T,GACFr9B,GAAqB+oC,QACrB,cACA,oBAEF,IAAI1L,GACFr9B,GAAqBgpC,OACrB,SACA,2BAEF,IAAI3L,GACFr9B,GAAqBipC,aACrB,OACA,cAEF,IAAI5L,GACFr9B,GAAqBkpC,MACrB,QACA,yBAEF,IAAI7L,GACFr9B,GAAqBmpC,UACrB,aACA,6BAEF,IAAI9L,GACFr9B,GAAqBopC,gBACrB,kBACA,oBAEF,IAAI/L,GACFr9B,GAAqBqpC,cACrB,iBACA,qBAEF,IAAIhM,GACFr9B,GAAqBspC,sBACrB,YACA,kCAEF,IAAIjM,GACFr9B,GAAqBupC,gBACrB,kBACA,sBAGEC,EAAanH,EAAMtkC,YAAY0oB,MAAK,SAAAlrE,GAAC,OAAIA,EAAE4O,SAAWA,KACtD81C,EAAiBupC,EAAaA,EAAWvpC,eAAkB,GAUjE,OARAwjC,EAAY7I,KAAI,SAAA0N,GACdA,EAAEnoC,aAEA1jD,IADAwjD,EAAewmB,MAAK,SAAAgjB,GAAE,OAAIA,EAAGppC,SAAWioC,EAAE99D,IAAMi/D,EAAGtpC,WAErDmoC,EAAEloC,gBAEA3jD,IADAwjD,EAAewmB,MAAK,SAAAgjB,GAAE,OAAIA,EAAGppC,SAAWioC,EAAE99D,IAAMi/D,EAAGrpC,iBAGhDqjC,MAEV,IAEHK,WAAS,YACNA,GAAUqB,UAAW,SAAC9C,EAAO6F,GAC5B7F,EAAM6F,MAAQA,KACf,MACApE,GAAUsB,YAAa,SAAC/C,EAAO6F,GAC9B7F,EAAM6F,MAAQ,GAAH,UACN7F,EAAM6F,MAAM/9D,QAAO,SAAApwB,GAAC,OAAKmuF,EAAMG,MAAK,SAAAqB,GAAE,OAAIA,EAAGv/E,SAAWpQ,EAAEoQ,cAAQ,GAClE+9E,OAEN,MACApE,GAAUuB,YAAa,SAAChD,EAAO9mE,GAC9B8mE,EAAM6F,MAAQ7F,EAAM6F,MAAM/9D,QAAO,SAAApwB,GAAC,OAAKwhB,EAAQurD,SAAS/sE,EAAEoQ,cAC3D,MACA25E,GAAUwB,WAAY,SAAAjD,GACrBA,EAAM6F,MAAMtN,KAAI,SAAA7gF,GAAC,OAAIA,EAAE8tC,oBACxB,MACAi8C,GAAUyB,gBAAiB,SAC1BlD,EACAtkC,GAEAskC,EAAMtkC,YAAc,GAAH,UACZA,GAAW,GACXskC,EAAMtkC,YAAY5zB,QACnB,SAAA5uB,GAAC,OAAKwiD,EAAYsqC,MAAK,SAAAr9B,GAAC,OAAIA,EAAE7gD,SAAW5O,EAAE4O,kBAGhD,IAEHy7E,SAAO,YACJA,GAAQY,YAAa,SAACW,EAAS5rE,GAC9B,OAAO,IAAIwB,GAAY,IAAIrf,EAAiBypF,IACzC5mC,WAAWhlC,GACXjc,MAAK,SAAAuoF,GACJV,EAAQK,OAAO1D,GAAUqB,SAAU0C,SAExC,MACAjC,GAAQpC,MAAO,SAAC2D,EAAS5rE,GACxB,OAAO,IAAIwB,GAAY,IAAIrf,EAAiBypF,IACzC3D,KAAKjoE,GACLjc,MAAK,SAAAuoF,GAEJ,OADAV,EAAQK,OAAO1D,GAAUsB,WAAYyC,GAC9BtsE,EAAQouE,OAAM,SAAAn/D,GAAE,OACrBq9D,EAAIQ,MACF,SAAA5tF,GAAC,OACCA,EAAE0P,SAAWqgB,GACb/vB,EAAE8lD,aAAeD,GAAWspC,gCAIvC,MACAhE,GAAQa,QAAS,SAACU,EAAS5rE,GAC1B,OAAO,IAAIwB,GAAY,IAAIrf,EAAiBypF,IACzCV,OAAOlrE,GACPjc,MAAK,WACJ6nF,EAAQK,OAAO1D,GAAUuB,WAAY9pE,SAE1C,MACAqqE,GAAQc,kBAAmB,SAACS,EAAS5rE,GAEpC,OADA4rE,EAAQK,OAAO1D,GAAUyB,eAAgB,IAClC,IAAIxoE,GAAY,IAAIrf,EAAiBypF,IACzClnC,eAAe1kC,GACfjc,MAAK,SAAAuoF,GACJV,EAAQK,OAAO1D,GAAUyB,eAAgBsC,SAE9C,KCvKU,YACbrmF,EACA+mB,EACApiB,EACAuwE,EACAr1B,GAEA,IAAIwoC,EACJ,OAAQroF,GACN,KAAK8mB,GAAsBwhE,gBACzBD,EAAOE,GAAoCxhE,EAAWmuD,EAAMr1B,GAC5D,MACF,KAAK/4B,GAAsB0hE,kBACzBH,EAAOE,GAAoCxhE,EAAWmuD,EAAMr1B,GAC5D,MACF,KAAK/4B,GAAsB2hE,kBACzBJ,EAAOK,GAAsC3hE,EAAWmuD,EAAMr1B,GAC9D,MACF,KAAK/4B,GAAsB6hE,oBACzBN,EAAOO,GAAwC7hE,EAAWmuD,EAAMr1B,GAChE,MACF,KAAK/4B,GAAsB+hE,SACzBR,EAAOS,GAAyB/hE,EAAWmuD,EAAMr1B,GACjD,MACF,KAAK/4B,GAAsBiiE,QACzBV,EAAOW,GAAkBjiE,EAAWpiB,EAAWuwE,EAAMr1B,GACrD,MACF,KAAK/4B,GAAsBmiE,WACzBZ,EAAOa,GAA4BhU,EAAMr1B,GACzC,MACF,KAAK/4B,GAAsBqiE,iBACzBd,EAAOe,GAA2BlU,EAAMr1B,GACxC,MACF,KAAK/4B,GAAsB2sD,eACzB4U,EAAOgB,GAAyBnU,EAAMr1B,GACtC,MACF,KAAK/4B,GAAsBwiE,WACzBjB,EAAOkB,GAA+BrU,EAAMr1B,GAC5C,MACF,KAAK/4B,GAAsB0iE,cACzBnB,EAAOoB,GAAkCvU,EAAMr1B,GAC/C,MACF,KAAK/4B,GAAsB4iE,qBACzBrB,EAAOsB,GAAyCzU,EAAMr1B,GACtD,MACF,KAAK/4B,GAAsB8iE,0BACzBvB,EAAOwB,GAA8C3U,EAAMr1B,GAC3D,MACF,KAAK/4B,GAAsBgjE,gBACzBzB,EAAO0B,GAAoC7U,EAAMr1B,GACjD,MACF,KAAK/4B,GAAsBkjE,eACzB3B,EAAO4B,GAAmC/U,EAAMr1B,GAChD,MACF,KAAK/4B,GAAsBojE,YACzB7B,EAAO8B,GAA+BjV,EAAMr1B,GAC5C,MACF,KAAK/4B,GAAsB8zD,0BACzByN,EAAO+B,GAAuClV,EAAMr1B,GACpD,MACF,KAAK/4B,GAAsBuzD,sBACzBgO,EAAOgC,GAA4BnV,EAAMr1B,GACzC,MACF,KAAK/4B,GAAsB0zD,cACzB6N,EAAOiC,GAAoBpV,EAAMr1B,GACjC,MACF,KAAK/4B,GAAsByjE,qBACzBlC,EAAOmC,GAAyCtV,EAAMr1B,GACtD,MACF,KAAK/4B,GAAsB2jD,cACzB4d,EAAOoC,GAAkCvV,EAAMr1B,GAC/C,MACF,KAAK/4B,GAAsB4jE,iBACzBrC,EAAOsC,GAAqCzV,EAAMr1B,GAClD,MACF,KAAK/4B,GAAsB8jE,aACzBvC,EAAOwC,GAAiC3V,EAAMr1B,GAC9C,MACF,KAAK/4B,GAAsBgkE,oBACzBzC,EAAO0C,GAAwC7V,EAAMr1B,GACrD,MAEF,KAAK/4B,GAAsBkkE,WACzB3C,EAAO4C,KACP,MACF,KAAKnkE,GAAsBokE,SACzB7C,EAAO8C,KACP,MACF,KAAKrkE,GAAsBskE,SACzB/C,EAAOgD,KACP,MACF,KAAKvkE,GAAsBwkE,iBACzBjD,EAAOkD,KACP,MACF,KAAKzkE,GAAsB0kE,QACzBnD,EAAOoD,KACP,MACF,QACEjoB,GAAaxjE,GAGjB,MAAO,CACLA,KAAMA,EACN+mB,UAAWA,EACXshE,KAAMA,IAIV,SAASE,GACPrkF,EACAgxE,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIgtC,GAA8B,CACrDtvC,UAAWA,EACXukC,kBAAcxtC,EACd8iB,eAAW9iB,EACXqH,gBAAYrH,EACZw4C,iBAAax4C,EACb2yB,cAAe,KACfG,gBAAiB,KACjB2lB,qBAAsB,KACtBC,uBAAwB,KACxBC,sBAAuB,KACvBC,wBAAyB,KACzBxF,IAAK,KACLvf,KAAMw6B,GAAMtF,IAAIkxB,GAChB/hC,eAAe,EACfnE,kBAAmB08C,GACnBj9D,mBAAexzB,EACf64C,mBAAoB,IAEtB,IACE,IAAM63C,EAAStsF,KAAKusF,MAAM/rC,QACN5kD,IAAhB0wF,EAAO78D,OACT68D,EAAO78D,KAAO+8D,GAAeF,EAAO78D,KAAMomD,SAEXj6E,IAA7B0wF,EAAO38C,oBACT28C,EAAO38C,kBAAoB68C,GACzBF,EAAO38C,kBACP7nB,GAASuiC,wBAGgBzuD,IAAzB0wF,EAAOl9D,gBACTk9D,EAAOl9D,cAAgBo9D,GACrBF,EAAOl9D,cACPtH,GAASuiC,mBAGbljD,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAET,OADAuJ,EAAe2sC,eAAgB,EACxB3sC,EAGT,SAASkiF,GACPxkF,EACAgxE,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIigD,GAAgC,CACvDviD,UAAWA,EACXukC,kBAAcxtC,EACd8iB,eAAW9iB,EACXqK,cAAUrK,EACV2yB,cAAe,KACfG,gBAAiB,KACjB2lB,qBAAsB,KACtBC,uBAAwB,KACxBC,sBAAuB,KACvBC,wBAAyB,KACzB/kB,KAAMw6B,GAAMtF,IAAIkxB,GAChB/hC,eAAe,EACfnE,kBAAmB08C,GACnBj9D,mBAAexzB,IAEjB,IACE,IAAM0wF,EAAStsF,KAAKusF,MAAM/rC,QACN5kD,IAAhB0wF,EAAO78D,OACT68D,EAAO78D,KAAO+8D,GAAeF,EAAO78D,KAAMomD,SAEXj6E,IAA7B0wF,EAAO38C,oBACT28C,EAAO38C,kBAAoB68C,GACzBF,EAAO38C,kBACP7nB,GAASuiC,wBAGgBzuD,IAAzB0wF,EAAOl9D,gBACTk9D,EAAOl9D,cAAgBo9D,GACrBF,EAAOl9D,cACPtH,GAASuiC,mBAGbljD,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAET,OADAuJ,EAAe2sC,eAAgB,EACxB3sC,EAGT,SAASoiF,GACP1kF,EACAgxE,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIywC,GAAkC,CACzD/yC,UAAWA,EACXs/B,WAAY,GACZl+B,cAAUrK,EACVw4C,iBAAax4C,EACb0xB,cAAU1xB,EACVi8C,YAAa,GACbC,gBAAiB,GACjBvM,kBAAmB,GACnBld,aAAc,KACdG,eAAgB,KAChBF,cAAe,KACfG,gBAAiB,KACjBspB,oBAAoB,IAEtB,IACE,IAAMu0C,EAAStsF,KAAKusF,MAAM/rC,GAC1Br5C,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IACT,OAAOuJ,EAGT,SAASsiF,GACP/hE,EACAmuD,EACAr1B,GAEA,IAAIisC,EACAC,EACA70C,EACE6G,EAAyB,CAACh3B,GAEhC,OAAQA,GACN,KAAK4H,GAAWo5C,QACd+jB,EAAahvC,GAAmB80B,QAChCma,EAAW,GACX70C,GAAe,EACf6G,EAAS1mD,KAAKs3B,GAAWw5C,kBACzB,MACF,KAAKx5C,GAAWq5C,OACd8jB,EAAahvC,GAAmBg1B,WAChCia,EAAW,GACX70C,GAAe,EACf,MACF,KAAKvoB,GAAWu5C,OACd4jB,EAAahvC,GAAmBi1B,WAChCga,EAAW,GACX70C,GAAe,EACf,MACF,KAAKvoB,GAAWy5C,UACd0jB,EAAahvC,GAAmBk1B,YAChC+Z,EAAW,GACX70C,GAAe,EACf,MACF,KAAKvoB,GAAWs5C,SACd6jB,EAAahvC,GAAmBy1B,UAChCwZ,EAAW,GACX70C,GAAe,EACf,MACF,KAAK8kC,GACH8P,EAAahvC,GAAmBw1B,kBAC/ByZ,EAAW,IAAO70C,GAAe,EAClC6G,EAAShnD,OAAS,EAClBgnD,EAAS1mD,KAAKs3B,GAAWo5C,SACzB,MACF,QACE,MAAM/oE,MAAM,uBAEhB,IAAIwH,EAAiB,IAAIs3C,GAAsB,CAC7Cn1C,YAAQ1N,EACRw0B,iBAAax0B,EACbi7B,UAAMj7B,EACNk7B,iBAAal7B,EACbihD,WAAOjhD,EACP8iD,SAAUA,EACVz7C,gBAAYrH,EACZ+8B,gBAAY/8B,EACZ85B,gBAAY95B,EACZ8iB,UAAW,GACXugC,mBAAerjD,EACfsjD,cAAex3B,IAAc4H,GAAWo5C,QACxC/pB,qBACEj3B,IAAc4H,GAAWo5C,QACrBlrB,GAAqBmvC,cACrBjlE,IAAci1D,GACdn/B,GAAqBovC,gBACrBpvC,GAAqBqvC,SAC3BjuC,wBAAyB,KACzBC,0BAA2B,KAC3BxK,qBAAsB,KACtBC,uBAAwB,KACxBC,sBAAuB,KACvBC,wBAAyB,KACzBsK,eAAgB2tC,EAChB1tC,mBAAoB2tC,EACpB1tC,sBAAuBnH,IAEzB,IACE,IAAMy0C,EAAStsF,KAAKusF,MAAM/rC,QACA5kD,IAAtB0wF,EAAOQ,aACTR,EAAOQ,WAAaN,GAAeF,EAAOQ,WAAYjX,IAExD1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IACT,OAAOuJ,EAGT,SAASwiF,GACPjiE,EACApiB,EACAuwE,EACAr1B,GAEA,IAAIwoC,EAAO,IAAIjM,GAAYr1D,EAAWpiB,GACtC,IACE,IAAMgnF,EAAStsF,KAAKusF,MAAM/rC,GAC1BwoC,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,EAGT,SAASa,GACPhU,EACAr1B,GAEA,IAAIwoC,EAAO,IAAItM,GAAkB,GAAI,IACrC,IACE,IAAM4P,EAAStsF,KAAKusF,MAAM/rC,GAC1BwoC,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,EAGT,SAASe,GACPlU,EACAr1B,GAEA,IAAIr/C,EAAU,IAAI00C,GAAmB,CACnChxC,eAAWjJ,EACX0rB,cAAU1rB,EACV+U,aAAS/U,EACTM,QAAS,GACT4M,qBAAiBlN,EACjB8qB,kBAAmB,GACnB3O,YAAa,GACbmW,gBAAiB,IAAItK,GAAmB,CACtCkP,UAAMl3B,EACNm3B,QAAIn3B,IAENk6C,mBAAoB,CAClB,IAAIC,GAAqB,CACvBC,OAAQ,EACRljB,UAAMl3B,EACNm3B,QAAIn3B,EACJ45C,mBAAe55C,EACfmgC,uBAAmBngC,EACnBogC,qBAAiBpgC,OAIvB,IACE,IAAM0wF,EAA6BtsF,KAAKusF,MAAM/rC,GAC9Cr/C,EAAU,IAAI00C,GAAmB,CAC/BhxC,UAAWynF,EAAOznF,UAClByiB,SAAUglE,EAAOhlE,SACjB3W,QAAS27E,EAAO37E,QAChBzU,QAASowF,EAAOpwF,QAChB4M,gBAAiBwjF,EAAOxjF,gBACxB4d,kBAAmB4lE,EAAO5lE,kBAC1B3O,YAAau0E,EAAOv0E,YACpBmW,gBAAiB,IAAItK,GAAmB,CACtCkP,KAAM05D,GAAeF,EAAOp+D,gBAAiB4E,KAAa+iD,GAC1D9iD,GAAIy5D,GAAeF,EAAOp+D,gBAAiB6E,GAAW8iD,KAExD//B,mBAAoBw2C,EAAOx2C,mBAAoBikC,KAC7C,SAAAr/E,GAAC,OACC,IAAIq7C,GAAqB,CACvBC,OAAQt7C,EAAEs7C,OACVljB,KAAM05D,GAAe9xF,EAAEo4B,KAAa+iD,GACpC9iD,GAAIy5D,GAAe9xF,EAAEq4B,GAAW8iD,GAChCrgC,cAAe96C,EAAE86C,cACjBzZ,kBAAmBywD,GAAe9xF,EAAEqhC,kBAA0B85C,GAC9D75C,gBAAiBwwD,GAAe9xF,EAAEshC,gBAAwB65C,UAIlE,MAAOj4E,IACT,OAAOuD,EAGT,SAAS6oF,GACPnU,EACAr1B,GAEA,IAAIl3B,EAA+B,CACjCzkB,UAAWgjB,GAAU4+C,KACrB/xC,QAAS,GACTrG,aAAc,GACdmlB,cAAe,GACfjlB,mBAAe3yB,EACf4jB,WAAY,GACZgP,eAAgB,GAChB+kB,gBAAiB,GACjBhI,kBAAmB,GACnB4P,gBAAiB,GACjB7tB,cAAU1xB,EACVgzC,cAAUhzC,EACVmxF,QAAS,GACT/9C,SAAKpzC,EACLwyB,iBAAaxyB,EACboxF,kBAAcpxF,GAEhB,IACE,IAAM0wF,EAA+BtsF,KAAKusF,MAAM/rC,GAChDl3B,EAAS3xB,OAAO+sE,OAAOp7C,EAAQgjE,GAC/BhjE,EAAO0jE,kBAAepxF,EACtB,MAAOgC,IACT,OAAO0rB,EAKT,SAAS4gE,GACPrU,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIoiC,GAAyB,CAChD1kC,UAAWgjB,GAAU4+C,KACrBr9B,kBAAcxtC,EACd8iB,eAAW9iB,EACX2yB,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjBi7B,UAAMj7B,EACN83B,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,KAEpB,IACE,IAAMyW,EAAStsF,KAAKusF,MAAM/rC,GAC1B8rC,EAAO54D,SAAWu2B,GAAMtF,IAAIkxB,GAC5ByW,EAAO34D,OAASs2B,GAAMtF,IAAIkxB,GAC1B1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAIT,OAFAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GAAMoX,eAC1C9lF,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAMqX,aACjC/lF,EAGT,SAASijF,GACPvU,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIumC,GAA4B,CACnD7oC,UAAWgjB,GAAU4+C,KACrB/yC,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClB7zE,aAASpG,EACT2yB,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjBi7B,UAAMj7B,EACN0xB,cAAU1xB,EACVw0B,iBAAax0B,EACb+xC,gBAAiB,CACfb,GAA2B+jC,QAC3B/jC,GAA2BgkC,aAG/B,IACE,IAAMwb,EAAStsF,KAAKusF,MAAM/rC,GAC1B8rC,EAAO54D,SAAWu2B,GAAMtF,IAAIkxB,GAC5ByW,EAAO34D,OAASs2B,GAAMtF,IAAIkxB,GAC1B1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAIT,OAFAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAI78B,GAASuiC,kBAAkB4iC,eAC/D9lF,EAAewsB,OAASs2B,GAAMtF,IAAI78B,GAASuiC,kBAAkB6iC,aACtD/lF,EAGT,SAASmjF,GACPzU,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAImkC,GAAmC,CAC1DzmC,UAAWgjB,GAAU4+C,KACrB/yC,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClB7zE,aAASpG,EACTi7B,UAAMj7B,EACNuoC,WAAY,GACZ5V,mBAAe3yB,EACf2vC,kBAAmB,GACnBld,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjB4vC,kBAAkB,EAClBC,aAAc,CAACjC,GAA0B2jD,QACzCzhD,IAAKjC,GAAwB2jD,WAE/B,IACE,IAAMd,EAAStsF,KAAKusF,MAAM/rC,GAC1B8rC,EAAO54D,SAAWu2B,GAAMtF,IAAIkxB,GAC5ByW,EAAO34D,OAASs2B,GAAMtF,IAAIkxB,GAC1B1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAIT,OAFAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GAAMoX,eAC1C9lF,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAMqX,aACjC/lF,EAGT,SAASqjF,GACP3U,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAI8kC,GAAwC,CAC/DpnC,UAAWgjB,GAAU4+C,KACrB/yC,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClB7zE,aAASpG,EACTuoC,WAAY,GACZ5V,mBAAe3yB,EACf2vC,kBAAmB,GACnBld,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjB4vC,kBAAkB,IAEpB,IACE,IAAM8gD,EAAStsF,KAAKusF,MAAM/rC,GAC1B8rC,EAAO54D,SAAWu2B,GAAMtF,IAAIkxB,GAC5ByW,EAAO34D,OAASs2B,GAAMtF,IAAIkxB,GAC1B1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAIT,OAFAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GAAMoX,eAC1C9lF,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAMqX,aACjC/lF,EAGT,SAASujF,GACP7U,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAI0lC,GAA8B,CACrDhoC,UAAWgjB,GAAU4+C,KACrB/yC,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClB5yE,gBAAYrH,EACZ2yB,mBAAe3yB,EACf2vC,kBAAmB,GACnBld,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjB0oC,gBAAiB,GACjBC,iBAAkB,KAEpB,IACE,IAAM+nD,EAAStsF,KAAKusF,MAAM/rC,GAC1B8rC,EAAO54D,SAAWu2B,GAAMtF,IAAIkxB,GAC5ByW,EAAO34D,OAASs2B,GAAMtF,IAAIkxB,GAC1B1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAIT,OAFAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GAAMoX,eAC1C9lF,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAMqX,aACjC/lF,EAGT,SAASyjF,GACP/U,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIonC,GAA6B,CACpD1pC,UAAWgjB,GAAU4+C,KACrB/nD,eAAW9iB,EACX83B,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClBtnD,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjB4yC,iBAAiB,IAEnB,IACE,IAAM89C,EAAStsF,KAAKusF,MAAM/rC,GAC1B8rC,EAAO54D,SAAWu2B,GAAMtF,IAAIkxB,GAC5ByW,EAAO34D,OAASs2B,GAAMtF,IAAIkxB,GAC1B1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAIT,OAFAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GAAMoX,eAC1C9lF,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAMqX,aACjC/lF,EAGT,SAASgkF,GACPtV,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIsoC,GAAmC,CAC1D5qC,UAAWgjB,GAAU4+C,KACrB/nD,eAAW9iB,EACX8zC,mBAAoBua,GAAMtF,IAAIkxB,GAC9BlmC,kBAAmB08C,GACnBppF,gBAAYrH,EACZ2yB,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjBozC,SAAKpzC,EACL0xB,cAAU1xB,IAEZ,IACE,IAAM0wF,EAAStsF,KAAKusF,MAAM/rC,QACO5kD,IAA7B0wF,EAAO38C,oBACT28C,EAAO38C,kBAAoB68C,GACzBF,EAAO38C,kBACP7nB,GAASuiC,mBAGbljD,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAET,OADAuJ,EAAeuoC,mBAAqBua,GAAMtF,IAAIkxB,GACvC1uE,EAGT,SAASikF,GACPvV,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAI4rC,GAA4B,CACnDluC,UAAWgjB,GAAU4+C,KACrB/nD,eAAW9iB,EACX83B,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClBtnD,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjBoG,aAASpG,EACTi7B,UAAMj7B,EACNo3C,MAAOP,GAAyB++B,QAElC,IACE,IAAM8a,EAAStsF,KAAKusF,MAAM/rC,GAC1Br5C,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAKT,OAJAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GACjCgG,UAAU,GACVlC,aACHxyE,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAM8D,aACjCxyE,EAGT,SAASmkF,GACPzV,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAI+qC,GAA+B,CACtDrtC,UAAWgjB,GAAU4+C,KACrB/nD,eAAW9iB,EACX83B,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClBtnD,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjBi7B,UAAMj7B,IAER,IACE,IAAM0wF,EAAStsF,KAAKusF,MAAM/rC,GAC1Br5C,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAKT,OAJAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GACjCwX,WAAW,GACX1T,aACHxyE,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAM8D,aACjCxyE,EAGT,SAASqkF,GACP3V,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIo2B,GAA2B,CAClDv7B,aAASpG,EACT4hC,iBAAa5hC,EACb0N,YAAQ1N,EACRw0B,iBAAax0B,EACb2yB,mBAAe3yB,EACfyyB,kBAAczyB,EACd0yB,mBAAe1yB,EACf8yB,qBAAiB9yB,EACjB4yB,oBAAgB5yB,EAChB6yB,qBAAiB7yB,EACjBi7B,UAAMj7B,EACN0gC,aAAS1gC,EACT0xB,cAAU1xB,IAEZ,IACE,IAAM0wF,EAAStsF,KAAKusF,MAAM/rC,QACC5kD,IAAvB0wF,EAAO9uD,cACT8uD,EAAO9uD,YAAcgvD,GAAeF,EAAO9uD,YAAaq4C,IAE1D1uE,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IACT,OAAOuJ,EAGT,SAASukF,GACP7V,EACAr1B,GAEA,IAAIr5C,EAAiB,IAAIqrC,GAAkC,CACzDlpC,YAAQ1N,EACRw0B,iBAAax0B,EACbiJ,UAAWgjB,GAAU4+C,KACrB/nD,eAAW9iB,EACX83B,SAAUu2B,GAAMtF,IAAIkxB,GACpBliD,OAAQs2B,GAAMtF,IAAIkxB,GAClBtnD,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjBi7B,UAAMj7B,IAER,IACE,IAAM0wF,EAAStsF,KAAKusF,MAAM/rC,GAC1Br5C,EAAiBxP,OAAO+sE,OAAOv9D,EAAgBmlF,GAC/C,MAAO1uF,IAKT,OAJAuJ,EAAeusB,SAAWu2B,GAAMtF,IAAIkxB,GACjCwX,WAAW,GACX1T,aACHxyE,EAAewsB,OAASs2B,GAAMtF,IAAIkxB,GAAMiF,WACjC3zE,EAGT,SAAS2jF,GACPjV,EACAr1B,GAEA,IAAIwoC,EAAO,IAAI3N,GAAyB,CACtCC,eAAgB,KAElB,IACE,IAAMgR,EAAStsF,KAAKusF,MAAM/rC,GACtB8rC,EAAOhR,iBACTgR,EAAOhR,eAAiBgR,EAAOhR,eAAevB,KAAI,SAAC1gF,GAAS,OAC1DmzF,GAAenzF,EAAGw8E,OAGtBmT,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,EAGT,SAASgC,GACPnV,EACAr1B,GAEA,IAAIwoC,EAAO,IAAIhO,GAAsB,CACnCE,yBAAyB,IAE3B,IACE,IAAMoR,EAAStsF,KAAKusF,MAAM/rC,GAC1BwoC,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,EAGT,SAASiC,GACPpV,EACAr1B,GAEA,IAAIwoC,EAAO,IAAI7N,GAAc,CAC3BC,WAAY,KAEd,IACE,IAAMkR,EAAStsF,KAAKusF,MAAM/rC,GAC1BwoC,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,EAGT,SAAS+B,GACPlV,EACAr1B,GAEA,IAAIwoC,EAAO,IAAIzN,GAA0B,CACvCC,SAAUr3C,KACP7a,QAAO,SAAAgkE,GAAE,OACRC,GAAsB1lE,GAAU4+C,MAAM+gB,MAAK,SAAAxtF,GAAC,OAAIA,EAAE2vB,KAAO2jE,EAAG3jE,SAE7D6jE,SAAQ,SAAAF,GAAE,OACTG,KAAa1T,KAAI,SAAA3gF,GAAC,MAAK,CACrBslB,UAAW4uE,EAAG3jE,GACd2D,SAAUl0B,EAAEuwB,GACZ5vB,WAAO6B,SAGb6/E,WAAYgS,KAAa1T,KAAI,SAAA3gF,GAAC,MAAK,CAAEk0B,SAAUl0B,EAAEuwB,GAAI5vB,WAAO6B,MAC5D8/E,gBAAiB,GACjBC,gBAAiB,KAEnB,IACE,IAAM2Q,EAAStsF,KAAKusF,MAAM/rC,GAC1BwoC,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,EAKT,SAAS4C,KACP,OAAO,IAAIt4D,GAAoB,CAC7BE,aAAc,IACdC,mBAAoB,GACpBC,SAAUu2B,GAAMsvB,WAAW,aAAczxD,GAASuiC,kBAClD12B,OAAQs2B,GAAMsvB,WAAW,aAAczxD,GAASuiC,kBAChD92B,iBAAa33B,EACb4vB,QAAS,GACT6H,KAAM,KAIV,SAASy4D,KACP,OAAO,IAAIt3D,GAAuB,CAChCj2B,OAAQ,EACRysB,KAAM,GACNgJ,aAAc,GACdS,YAAQ74B,EACR83B,SAAUu2B,GAAMsvB,WAAW,aAAczxD,GAASuiC,kBAClD12B,OAAQs2B,GAAMsvB,WAAW,aAAczxD,GAASuiC,oBAIpD,SAAS2hC,KACP,OAAO,IAAIr6D,GAAqC,CAC9C1rB,cAAUrK,EACViJ,eAAWjJ,EACXo2B,iBAAap2B,EACbq2B,YAAQr2B,EACR2yB,mBAAe3yB,EACf8yB,qBAAiB9yB,EACjByyB,kBAAczyB,EACd4yB,oBAAgB5yB,EAChB0yB,mBAAe1yB,EACf6yB,qBAAiB7yB,EACjB01B,4BAAwB11B,EACxB21B,8BAA0B31B,IAI9B,SAASswF,KACP,OAAO,IAAInvD,GAAiB,CAC1BtN,KAAMw6B,GAAMtF,IAAI78B,GAASuiC,kBAAkB4iC,eAC3CjwD,SAAU,KAId,SAASovD,KACP,OAAO,IAAIhnD,GAAsB,CAC/B1R,SAAUu2B,GAAMtF,IAAI78B,GAASuiC,kBAC1BsvB,aACA+T,QAAQ,GACR7R,UAAU,GACbloD,OAAQs2B,GAAMtF,IAAI78B,GAASuiC,kBACxBsvB,aACA+T,QAAQ,GACXroD,cAAe,EACfp/B,SAAU,EACVm+B,MAAO,KAIX,I,SAAMioD,GAA4BpiC,GAAMsvB,WACtC,aACAzxD,GAASuiC,kBAGEmiC,GAAiB,SAC5BpuD,EACAy3C,GAEA,GAAIz3C,EAAK,CACP,IAAM3O,EAAOw6B,GAAMC,cAAc9rB,GACjC,GAAI3O,EAMF,OALIA,EAAKymD,WAAaA,GAASL,IAC7Bl4E,QAAQC,MACN,iBAAmBs4E,GAASL,GAAQ,YAAcpmD,EAAKymD,UAGpDzmD,I,0gDCj7Bb,I,SAAM+xD,GAAgC,CACpCmM,MAAO,IAGIC,GAA4D,CACvEpM,MAAOA,GACPrkF,SAAO,YACJ6kF,GAAKa,UAAW,SAAArB,GACf,OAAO,SAAC7gF,EAA6B+mB,GACnC,OAAO85D,EAAMmM,MAAM/nB,MACjB,SAAAxsE,GAAC,OAAIA,EAAEuH,OAASA,GAAQvH,EAAEsuB,YAAcA,KACvCshE,SAEN,MACAhH,GAAKc,cAAe,SAAAtB,GACnB,OAAO,SAAC7gF,GACN,OAAO,GAAI6gF,EAAMmM,MAAMrkE,QAAO,SAAAlwB,GAAC,OAAIA,EAAEuH,OAASA,MAAOktF,MACnD,SAACpG,EAAG70E,GAAC,OAAK60E,EAAE//D,UAAY9U,EAAE8U,iBAG/B,IAEHu7D,WAAS,YACNA,GAAU0B,aAAc,SAACnD,EAAOwH,GAC/BxH,EAAMmM,MAAQ,CACZ3E,GAAI,UACDxH,EAAMmM,MAAMrkE,QACb,SAAAlwB,GAAC,OAAIA,EAAEuH,OAASqoF,EAAKroF,MAAQvH,EAAEsuB,YAAcshE,EAAKthE,kBAGvD,MACAu7D,GAAU2B,eAAgB,SAAApD,GACzBA,EAAMmM,MAAQ,MACf,IAEH5I,SAAO,YACJA,GAAQe,eAAgB,SACvBQ,EACApvF,GAMA,IAAM42F,EAAQC,GACZ72F,EAAKyJ,KACLzJ,EAAKwwB,UACLxwB,EAAKoO,UACLghF,EAAQnpF,QAAQ6kF,GAAKC,UAAUpM,MAEjC,OAAQiY,EAAMntF,MACZ,KAAK8mB,GAAsBwhE,gBAC3B,KAAKxhE,GAAsB0hE,kBACxB2E,EAAM9E,KAAuCr5C,kBAAoB22C,EAAQnpF,QACxE6kF,GAAKa,UACL3rF,EAAKyJ,KAAMzJ,EAAKwwB,WAAWioB,kBAC7B,MACF,KAAKloB,GAAsB2hE,kBAC3B,KAAK3hE,GAAsB6hE,oBACxBwE,EAAM9E,KAAyCr5C,kBAAoB22C,EAAQnpF,QAC1E6kF,GAAKa,UACL3rF,EAAKyJ,KAAMzJ,EAAKwwB,WAAWioB,kBAC7B,MACF,KAAKloB,GAAsB2sD,eACxB0Z,EAAM9E,KAA8BnkF,UAAYyhF,EAAQnpF,QACvD6kF,GAAKa,UACL3rF,EAAKyJ,KAAMzJ,EAAKwwB,WAAW7iB,UAC7B,MACF,KAAK4iB,GAAsB+hE,SAC3B,KAAK/hE,GAAsBiiE,QAC3B,KAAKjiE,GAAsBmiE,WAC3B,KAAKniE,GAAsBqiE,iBAC3B,KAAKriE,GAAsBwiE,WAC3B,KAAKxiE,GAAsB0iE,cAC3B,KAAK1iE,GAAsB4iE,qBAC3B,KAAK5iE,GAAsB8iE,0BAC3B,KAAK9iE,GAAsBgjE,gBAC3B,KAAKhjE,GAAsBkjE,eAC3B,KAAKljE,GAAsBojE,YAC3B,KAAKpjE,GAAsB8zD,0BAC3B,KAAK9zD,GAAsBuzD,sBAC3B,KAAKvzD,GAAsB0zD,cAC3B,KAAK1zD,GAAsByjE,qBAC3B,KAAKzjE,GAAsB2jD,cAC3B,KAAK3jD,GAAsB4jE,iBAC3B,KAAK5jE,GAAsB8jE,aAC3B,KAAK9jE,GAAsBgkE,oBAE3B,KAAKhkE,GAAsBkkE,WAC3B,KAAKlkE,GAAsBokE,SAC3B,KAAKpkE,GAAsBskE,SAC3B,KAAKtkE,GAAsBwkE,iBAC3B,KAAKxkE,GAAsB0kE,QACzB,MACF,QACEhoB,GAAa2pB,EAAMntF,MAGvB2lF,EAAQK,OAAO1D,GAAU0B,YAAamJ,MACvC,MACA/I,GAAQgB,cAAe,SACtBO,EACApvF,GAMAovF,EAAQK,OAAO1D,GAAU2B,eACzB,IAAM+I,EAAkC,GACxCh2F,OAAOotC,OAAOtd,IACX6B,QAAO,SAAAtvB,GAAC,OAAKg0F,MAAMhU,OAAOhgF,OAC1B+/E,KAAI,SAAA//E,GAAC,OAAIA,KACT+/E,KAAI,SAAA//E,GACH,OAAQA,GACN,KAAKytB,GAAsBwhE,gBAC3B,KAAKxhE,GAAsB0hE,kBAC3B,KAAK1hE,GAAsB2hE,kBAC3B,KAAK3hE,GAAsB6hE,oBACzBqE,EAAM31F,KACJ+1F,GAAe/zF,EAAG6tB,GAAU4+C,KAAMvvE,EAAKoO,UAAWpO,EAAK2+E,OAEzD8X,EAAM31F,KACJ+1F,GAAe/zF,EAAG6tB,GAAU6+C,SAAUxvE,EAAKoO,UAAWpO,EAAK2+E,OAE7D8X,EAAM31F,KACJ+1F,GACE/zF,EACA6tB,GAAU8+C,UACVzvE,EAAKoO,UACLpO,EAAK2+E,OAGT8X,EAAM31F,KACJ+1F,GACE/zF,EACA6tB,GAAU++C,iBACV1vE,EAAKoO,UACLpO,EAAK2+E,OAGT,MACF,KAAKpuD,GAAsB+hE,SAC3B,KAAK/hE,GAAsBiiE,QACzBiE,EAAM31F,KACJ+1F,GAAe/zF,EAAGs1B,GAAWo5C,QAASxxE,EAAKoO,UAAWpO,EAAK2+E,OAE7D8X,EAAM31F,KACJ+1F,GAAe/zF,EAAGs1B,GAAWq5C,OAAQzxE,EAAKoO,UAAWpO,EAAK2+E,OAE5D8X,EAAM31F,KACJ+1F,GAAe/zF,EAAGs1B,GAAWu5C,OAAQ3xE,EAAKoO,UAAWpO,EAAK2+E,OAE5D8X,EAAM31F,KACJ+1F,GACE/zF,EACAs1B,GAAWy5C,UACX7xE,EAAKoO,UACLpO,EAAK2+E,OAGL,CAACn5E,EAAUypE,QAAQF,SAAS/uE,EAAKoO,YACnCqoF,EAAM31F,KACJ+1F,GACE/zF,EACAs1B,GAAWs5C,SACX1xE,EAAKoO,UACLpO,EAAK2+E,OAKT,CAACn5E,EAAUypE,OAAQzpE,EAAU0pE,UAAUH,SAAS/uE,EAAKoO,YAErDqoF,EAAM31F,KACJ+1F,GAAe/zF,EAAG2iF,GAAiBzlF,EAAKoO,UAAWpO,EAAK2+E,OAG5D,MACF,KAAKpuD,GAAsBmiE,WAC3B,KAAKniE,GAAsBqiE,iBAC3B,KAAKriE,GAAsB2sD,eAC3B,KAAK3sD,GAAsBwiE,WAC3B,KAAKxiE,GAAsB0iE,cAC3B,KAAK1iE,GAAsB4iE,qBAC3B,KAAK5iE,GAAsB8iE,0BAC3B,KAAK9iE,GAAsBgjE,gBAC3B,KAAKhjE,GAAsBkjE,eAC3B,KAAKljE,GAAsBojE,YAC3B,KAAKpjE,GAAsB8zD,0BAC3B,KAAK9zD,GAAsBuzD,sBAC3B,KAAKvzD,GAAsB0zD,cAC3B,KAAK1zD,GAAsByjE,qBAC3B,KAAKzjE,GAAsB2jD,cAC3B,KAAK3jD,GAAsB4jE,iBAC3B,KAAK5jE,GAAsB8jE,aAC3B,KAAK9jE,GAAsBgkE,oBAE3B,KAAKhkE,GAAsBkkE,WAC3B,KAAKlkE,GAAsBokE,SAC3B,KAAKpkE,GAAsBskE,SAC3B,KAAKtkE,GAAsBwkE,iBAC3B,KAAKxkE,GAAsB0kE,QACzBwB,EAAM31F,KAAK+1F,GAAe/zF,EAAG,EAAG9C,EAAKoO,UAAWpO,EAAK2+E,OACrD,MACF,QACE1R,GAAanqE,OAGrB,IAAK,IAAL,MAAmB2zF,EAAK,eAAE,CAArB,IAAM3E,EAAI,KACb1C,EAAQK,OAAO1D,GAAU0B,YAAaqE,GAExC,OAAO,IAAI1rF,SAAc,SAAAC,GAAU,IACJ,EADI,KACdrG,EAAKy2F,OAAK,IAA7B,IAAK,EAAL,qBAA+B,KAApB3E,EAAI,QACb1C,EAAQK,OACN1D,GAAU0B,YACVoJ,GACE/E,EAAKroF,KACLqoF,EAAKthE,UACLxwB,EAAKoO,UACLpO,EAAK2+E,KACLmT,EAAKlrF,iBAGV,8BACDP,UAEH,MACAwnF,GAAQiB,cAAe,SACtBM,EACApvF,GAEA,IAAM4G,EAAgBwoF,EAAQnpF,QAAQ6kF,GAAKa,UACzC3rF,EAAKyJ,KACLzJ,EAAKwwB,WAEP,OAAO,IAAI7pB,EAAY,IAAIhB,EAAiBypF,IACzC2H,kBACC,IAAIhnE,GAAqB,CACvBtmB,KAAMzJ,EAAKyJ,KACX+mB,UAAWxwB,EAAKwwB,UAChB5pB,cAAekC,KAAKC,UAAUnC,MAGjCc,OAAM,SAAAhB,GACL0oF,EAAQI,SAAS3B,GAAQE,eAAgBrnF,SAE9C,KCrQU,YACb+C,EACA+mB,EACApiB,EACAk7C,GAEA,IAAIwoC,EACJ,OAAQroF,GACN,KAAKgnB,GAAuBumE,gBAC1BlF,EAAOmF,GAA0B3tC,GACjC,MACF,KAAK74B,GAAuBymE,YAC1BpF,EAAOqF,GAAiB7tC,GACxB,MACF,QACE2jB,GAAaxjE,GAGjB,MAAO,CACLA,KAAMA,EACN+mB,UAAWA,EACXshE,KAAMA,IAIV,SAASmF,GAA0B3tC,GACjC,IAAIwoC,EAAwB,GAC5B,IACE,IAAMsD,EAAStsF,KAAKusF,MAAM/rC,GAC1BwoC,EAAOsD,EACP,MAAO1uF,IACT,OAAOorF,EAGT,SAASqF,GAAiB7tC,GACxB,IAAIwoC,EAAmB,CACrBtkD,MAAO,WACP4pD,QAAS,UACTC,UAAWxT,GAAUpK,MACrBroE,SAAUszE,MAGZ,IACE,IAAM0Q,EAAStsF,KAAKusF,MAAM/rC,QACF5kD,IAApB0wF,EAAO54D,WACT44D,EAAO54D,SAAW84D,GAChBF,EAAO54D,SACP5L,GAASuiC,wBAGSzuD,IAAlB0wF,EAAO34D,SACT24D,EAAO34D,OAAS64D,GAAeF,EAAO34D,OAAQ7L,GAASuiC,mBAEzD2+B,EAAOrxF,OAAO+sE,OAAOskB,EAAMsD,GAC3B,MAAO1uF,IACT,OAAOorF,E,0gDC/CT,I,SAAMxH,GAAiC,CACrCmM,MAAO,IAGIa,GAA8D,CACzEhN,MAAOA,GACPrkF,SAAO,YACJ6kF,GAAKe,WAAY,SAAAvB,GAChB,OAAO,SAAC7gF,EAA8B+mB,GACpC,OAAO85D,EAAMmM,MAAM/nB,MACjB,SAAAxsE,GAAC,OAAIA,EAAEuH,OAASA,GAAQvH,EAAEsuB,YAAcA,KACvCshE,SAEN,MACAhH,GAAKgB,eAAgB,SAAAxB,GACpB,OAAO,SAAC7gF,GACN,OAAO,GAAI6gF,EAAMmM,MAAMrkE,QAAO,SAAAlwB,GAAC,OAAIA,EAAEuH,OAASA,MAAOktF,MACnD,SAACpG,EAAG70E,GAAC,OAAK60E,EAAE//D,UAAY9U,EAAE8U,iBAG/B,IAEHu7D,WAAS,YACNA,GAAU4B,cAAe,SAACrD,EAAOwH,GAChCxH,EAAMmM,MAAQ,CACZ3E,GAAI,UACDxH,EAAMmM,MAAMrkE,QACb,SAAAlwB,GAAC,OAAIA,EAAEuH,OAASqoF,EAAKroF,MAAQvH,EAAEsuB,YAAcshE,EAAKthE,kBAGvD,MACAu7D,GAAU6B,gBAAiB,SAAAtD,GAC1BA,EAAMmM,MAAQ,MACf,IAEH5I,SAAO,YACJA,GAAQkB,gBAAiB,SACxBK,EACApvF,GAMA,IAAM8xF,EAAOyF,GAAgBv3F,EAAKyJ,KAAMzJ,EAAKwwB,UAAWxwB,EAAKoO,WAC7DghF,EAAQK,OAAO1D,GAAU4B,aAAcmE,MACxC,MACAjE,GAAQmB,eAAgB,SACvBI,EACApvF,GAEAovF,EAAQK,OAAO1D,GAAU6B,gBACzB,IAAM6I,EAAmC,GACzCh2F,OAAOotC,OAAOpd,IACX2B,QAAO,SAAAtvB,GAAC,OAAKg0F,MAAMhU,OAAOhgF,OAC1B+/E,KAAI,SAAA//E,GAAC,OAAIA,KACT+/E,KAAI,SAAA//E,GACH,OAAQA,GACN,KAAK2tB,GAAuBumE,gBAC1BP,EAAM31F,KAAKy2F,GAAgBz0F,EAAG,EAAG9C,EAAKoO,YACtC,MACF,KAAKqiB,GAAuBymE,YAC1B,MACF,QACEjqB,GAAanqE,OAGrB,IAAK,IAAL,MAAmB2zF,EAAK,eAAE,CAArB,IAAM3E,EAAI,KACb1C,EAAQK,OAAO1D,GAAU4B,aAAcmE,GAEzC,OAAO,IAAI1rF,SAAc,SAAAC,GAAU,IACJ,EADI,KACdrG,EAAKy2F,OAAK,IAA7B,IAAK,EAAL,qBAA+B,KAApB3E,EAAI,QACb1C,EAAQK,OACN1D,GAAU4B,aACV4J,GACEzF,EAAKroF,KACLqoF,EAAKthE,UACLxwB,EAAKoO,UACL0jF,EAAKlrF,iBAGV,8BACDP,UAEH,MACAwnF,GAAQoB,eAAgB,SACvBG,EACApvF,GAEA,IAAM4G,EAAgBwoF,EAAQnpF,QAAQ6kF,GAAKe,WACzC7rF,EAAKyJ,KACLzJ,EAAKwwB,WAEP,OAAO,IAAIzjB,EAAa,IAAIpH,EAAiBypF,IAC1CoI,mBACC,IAAIvnE,GAAsB,CACxBxmB,KAAMzJ,EAAKyJ,KACX+mB,UAAWxwB,EAAKwwB,UAChB5pB,cAAekC,KAAKC,UAAUnC,MAGjCW,MAAK,eACLG,OAAM,SAAAhB,GACL0oF,EAAQI,SAAS3B,GAAQE,eAAgBrnF,SAE9C,MACAmnF,GAAQqB,iBAAkB,SACzBE,EACApvF,GAEA,OAAO,IAAI+M,EAAa,IAAIpH,EAAiBypF,IAC1CqI,yBACC,IAAIxnE,GAAsB,CACxBxmB,KAAMzJ,EAAKyJ,KACX+mB,UAAWxwB,EAAKwwB,UAChB5pB,mBAAelC,KAGlB6C,MAAK,eACLG,OAAM,SAAAhB,GACL0oF,EAAQI,SAAS3B,GAAQE,eAAgBrnF,SAE9C,KCjJQgxF,GAAM,SAAChxF,GAClB,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3BkjF,GAAiB,SAACvkF,GAC7B,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B4vF,GAAe,SAACjxF,GAC3B,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B6vF,GAAmB,SAAClxF,GAC/B,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B8vF,GAAsB,SAACnxF,GAClC,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B+vF,GAA2B,SAACpxF,GACvC,OAAOA,GAASA,EAAM1B,SAA6B,2BAAlB0B,EAAM1B,SAG5B+yF,GAAe,SAACrxF,GAC3B,OAAOA,GAASA,EAAM1B,SAA6B,kBAAlB0B,EAAM1B,S,yHCHzCkoE,OAAIC,IAAI6qB,SAuBR,IAAMpyF,GAAiC,CACrC0kF,MAAO,CACLS,SAAU,CACRhhF,gBAAYrF,EACZwrB,UAAW,GACXplB,aAASpG,EACT0J,eAAW1J,EACX+G,eAAW/G,EACXyrB,gBAAiB,GACjBN,kBAAmB,EACnB8uD,UAAMj6E,GAERsmF,sBAAkBtmF,EAClBumF,gBAAgB,EAChB9kF,qBAAsB8xF,KACtB/M,uBAAuB,EACvBvmF,eAAWD,EACXI,YAAa,CACXC,MAAM,EACNC,QAAS,GACTC,UAAU,GAEZuF,WAAY,CACV+nB,MAAO,IACPC,OAAQ,KAEVgQ,SAAS,EACT01D,kBAAmBnlC,GAAMtF,IAAI78B,GAASuiC,kBACtCg4B,aAAcp4B,GAAMtF,IAAI78B,GAASuiC,mBAEnCpyD,QAAS,CACPouF,cACAa,kBACAI,cACAsG,kBACAY,oBAEFrxF,SAAO,YACJ6kF,GAAKC,UAAW,SAACT,GAChB,OAAOA,EAAMS,YACd,MACAD,GAAKE,kBAAmB,SAACV,GACxB,OAAOA,EAAMU,oBACd,MACAF,GAAK3kF,sBAAuB,SAACmkF,GAC5B,OAAOA,EAAMnkF,wBACd,MACA2kF,GAAKG,gBAAiB,SAACX,GACtB,OAAOA,EAAMW,kBACd,MACAH,GAAKI,uBAAwB,SAACZ,GAC7B,OAAOA,EAAMY,yBACd,MACAJ,GAAKnmF,WAAY,SAAC2lF,GACjB,OAAOA,EAAM3lF,aACd,MACAmmF,GAAKhmF,aAAc,SAAAwlF,GAClB,OAAOA,EAAMxlF,eACd,MACAgmF,GAAKtgF,YAAa,SAAA8/E,GACjB,MAAO,CACL/3D,MAAO+3D,EAAM9/E,WAAW+nB,MACxBC,OACE83D,EAAM9/E,WAAWgoB,aAA8B9tB,IAApB4lF,EAAM3lF,UAA0B,EAAI,QAEpE,MACAmmF,GAAKK,cAAe,SAACb,GACpB,OAAOA,EAAMa,gBACd,IAEHY,WAAS,YACNA,GAAUC,aAAc,SAAC1B,EAAOS,GAC/BT,EAAMS,SAAWA,KAClB,MACAgB,GAAUE,qBAAsB,SAAC3B,EAAOU,GACvCV,EAAMU,iBAAmBA,KAC1B,MACAe,GAAUG,mBAAoB,SAAA5B,GAC7BA,EAAMW,gBAAiB,KACxB,MACAc,GAAUI,0BAA2B,SAAC7B,EAAO6N,GAC5C7N,EAAMY,sBAAwBiN,KAC/B,MACApM,GAAUK,cAAe,SAAC9B,EAAO3lF,GAChC2lF,EAAM3lF,UAAYA,KACnB,MACAonF,GAAUM,gBAAiB,SAAC/B,EAAO5jF,GAClC4jF,EAAMxlF,YAAc4B,KACrB,MACAqlF,GAAUO,eAAgB,SAAChC,EAAO8N,GACjC9N,EAAM9/E,WAAa4tF,KACpB,MACArM,GAAUQ,YAAa,SAACjC,EAAO9nD,GAC9B8nD,EAAM9nD,QAAUA,EACZA,IACF8nD,EAAMa,aAAep4B,GAAMtF,IAAI78B,GAASuiC,sBAE3C,MACA44B,GAAUS,sBAAuB,SAAAlC,GAChCA,EAAM4N,kBAAoBnlC,GAAMtF,IAAI78B,GAASuiC,kBAC7Cm3B,EAAMa,aAAep4B,GAAMtF,IAAI78B,GAASuiC,qBACzC,IAEH06B,SAAO,YACJA,GAAQC,kBAAmB,SAACsB,EAAS1oF,GACpCD,QAAQC,MAAM,oBAAqBA,GAC/BkxF,GAAiBlxF,GACnB0oF,EAAQI,SACN3B,GAAQI,iBACR,mCAEO4J,GAAoBnxF,GAC7B0oF,EAAQI,SAAS3B,GAAQI,iBAAkB,sBAClC6J,GAAyBpxF,GAClC0oF,EAAQI,SACN3B,GAAQK,yBACR,2BAGFkB,EAAQI,SAAS3B,GAAQG,qBAAsBtnF,MAElD,MACAmnF,GAAQE,gBAAiB,SAACqB,EAAS1oF,GAClCD,QAAQC,MAAM,YAAaA,GACvBukF,GAAevkF,GACjB0oF,EAAQK,OAAO1D,GAAUG,mBAChBwL,GAAIhxF,GACb0oF,EAAQI,SAAS3B,GAAQI,iBAAkB,6BAClC0J,GAAajxF,GACtB0oF,EAAQI,SACN3B,GAAQK,yBACR,yBAEO0J,GAAiBlxF,GAC1B0oF,EAAQI,SAAS3B,GAAQI,iBAAkB,uBAClC4J,GAAoBnxF,GAC7B0oF,EAAQI,SAAS3B,GAAQI,iBAAkB,0BAClC8J,GAAarxF,GACtB0oF,EAAQI,SAAS3B,GAAQK,yBAA0B,kBAEnDkB,EAAQI,SAAS3B,GAAQG,qBAAsBtnF,MAElD,MACAmnF,GAAQG,sBAAuB,SAACoB,EAAS1oF,GACxCD,QAAQC,MAAM,kBAAmBA,GACjC,IAAM2xF,EACJ3xF,EAAM1B,QACN,mBACA0B,EAAMqB,OACN,eACAe,KAAKC,UAAUrC,EAAMV,SACvBopF,EAAQI,SAAS3B,GAAQI,iBAAkBoK,MAC5C,MACAxK,GAAQI,kBAAmB,SAACmB,EAASpqF,GACpCA,EACE,UACAA,EADA,oEAKA+tD,GAAMtF,IAAI78B,GAASuiC,kBAAkBmlC,gBACvC7xF,QAAQC,MAAM1B,GACdoqF,EAAQK,OAAO1D,GAAUM,eAAgB,CACvCtnF,MAAM,EACNC,QAASA,EACTC,UAAU,OAEb,MACA4oF,GAAQK,0BAA2B,SAACkB,EAASpqF,GAC5CA,EACE,UACAA,EACA,KACA+tD,GAAMtF,IAAI78B,GAASuiC,kBAAkBmlC,gBACvC7xF,QAAQC,MAAM1B,GACTqqF,GAAK1F,iBACR3kF,GAAW,oDACXoqF,EAAQK,OAAO1D,GAAUM,eAAgB,CACvCtnF,MAAM,EACNC,QAASA,EACTC,UAAU,QAGf,KAIL,SAASgzF,KACP,IAAMM,EAAaC,SAASC,qBAAqB,UAC3CC,EAAaH,EAAWA,EAAW/3F,OAAS,GAAGm4F,IAC/CC,EAAkBF,EAAWxW,QAAQ,SAAW,EAChD2W,EAAaH,EAAWI,OAAOF,GACrC,OAAOC,EAGM,WAAIb,QAAKe,MAAiBnzF,ICtLnCozF,GAAW,SAACC,EAAQt9E,GACxB,OAAOlb,OAAOotC,OAAOorD,GAClB7mE,QAAO,SAAA8mE,GAAC,OAAKpC,MAAMhU,OAAOoW,OAC1BrW,KACC,SAAAqW,GAAC,OACC,IAAIxrF,GAAc,CAChB+kB,GAAIqwD,OAAOoW,GACXplE,KAAMnY,EAAEmnE,OAAOoW,UAKZ7xD,GAAa,WACxB,OAAO2xD,GAASxzF,EAAWwpE,KAGhBv5C,GAAa,WACxB,OAAOujE,GAASroE,GAAWu7B,KAEhBitC,GAAsB,WACjC,OAAOH,GAAShuC,GAAoB4kB,KAOzBz/C,GAAkB,WAC7B,OAAQvqB,GAAMK,QAAQ6kF,GAAKC,UAAU56D,gBAClC0yD,KAAI,SAAA3gF,GAAC,OAAI,IAAIwL,GAAc,CAAE+kB,GAAIvwB,EAAG4xB,KAAMo4B,GAAchqD,QACxDy0F,MAAK,SAACpG,EAAG70E,GAAC,OAAK60E,EAAE99D,GAAK/W,EAAE+W,OAGhBwa,GAAa,WACxB,OAAOxsC,OAAOotC,OAAO/W,IAClB1E,QAAO,SAAA8mE,GAAC,OAAKpC,MAAMhU,OAAOoW,OAC1BrW,KAAI,SAAAqW,GAAC,OAAIA,KACTvC,MAAK,SAACpG,EAAG70E,GAAC,OAAK09E,GAAqB7I,GAAK6I,GAAqB19E,IAAM60E,EAAI70E,KACxEmnE,KAAI,SAAAqW,GAAC,OAAI,IAAIxrF,GAAc,CAAE+kB,GAAIqwD,OAAOoW,GAAIplE,KAAMqQ,GAAc+0D,SAGxDE,GAAuB,SAAChD,GACnC,OAAQA,GACN,KAAKt/D,GAAUs5C,cACb,OAAOz/C,GAAU4+C,KACnB,KAAKz4C,GAAUu5C,MACb,OAAO1/C,GAAU4+C,KACnB,KAAKz4C,GAAUw5C,MACb,OAAO3/C,GAAU4+C,KACnB,KAAKz4C,GAAUy5C,UACb,OAAO5/C,GAAU4+C,KACnB,KAAKz4C,GAAU05C,UACb,OAAO7/C,GAAU4+C,KAEnB,KAAKz4C,GAAU25C,SACb,OAAO9/C,GAAU6+C,SACnB,KAAK14C,GAAU45C,UACb,OAAO//C,GAAU6+C,SACnB,KAAK14C,GAAU65C,cACb,OAAOhgD,GAAU6+C,SAEnB,KAAK14C,GAAU85C,YACb,OAAOjgD,GAAU8+C,UACnB,KAAK34C,GAAU+5C,YACb,OAAOlgD,GAAU8+C,UACnB,KAAK34C,GAAUg6C,cACb,OAAOngD,GAAU8+C,UACnB,KAAK34C,GAAUi6C,cACb,OAAOpgD,GAAU8+C,UAEnB,KAAK34C,GAAUk6C,YACb,OAAOrgD,GAAU++C,iBACnB,KAAK54C,GAAUm6C,YACb,OAAOtgD,GAAU++C,iBACnB,KAAK54C,GAAUo6C,YACb,OAAOvgD,GAAU++C,iBACnB,KAAK54C,GAAUq6C,YACb,OAAOxgD,GAAU++C,iBACnB,KAAK54C,GAAUs6C,YACb,OAAOzgD,GAAU++C,iBACnB,KAAK54C,GAAUu6C,YACb,OAAO1gD,GAAU++C,iBACnB,KAAK54C,GAAUw6C,YACb,OAAO3gD,GAAU++C,iBACnB,QACE,OAAOzC,GAAampB,KAIbC,GAAwB,SACnC1oF,GAEA,OAAOs/B,KAAa7a,QAAO,SAAAgkE,GAAE,OAAIgD,GAAqBhD,EAAG3jE,MAAQ9kB,MAWtD4oF,GAAa,WACxB,OAAOyC,GAASjmE,GAAUwpB,KAGf88C,GAAW,WACtB,OAAOL,GAAStoE,GAASqiD,KAGdjtC,GAAW,WACtB,OAAOkzD,GAAS7zD,GAASguC,KAGdmmB,GAAiB,WAC5B,OAAON,GAAS/6C,GAAe+1B,KAGpBulB,GAAa,WACxB,OAAOP,GAASvzF,EAAW8uE,KAGhBilB,GAAe,WAC1B,OAAOR,GAAS5rC,GAAaksB,KAGlBmgB,GAAW,WACtB,OAAOT,GAASnnC,GAASsiB,KAGd19B,GAAkB,WAC7B,OAAOuiD,GAASpjD,GAA4B8jC,KAGjCrsC,GAAmB,WAC9B,OAAO2rD,GAASvuD,GAAiBmoC,KAGtBxlC,GAAkB,WAC7B,OAAO4rD,GAASxuD,GAAgB1L,KAGrB02D,GAAW,WACtB,OAAOwD,GAAS/nD,GAAoBwpC,KAGzB95B,GAAc,WACzB,OAAOq4C,GAAS9nD,GAAuB+pC,KAG5Bye,GAAkB,WAC7B,OAAOV,GAASzyC,GAAoB60B,KAGzBue,GAAqB,WAChC,OAAOX,GAASz/D,GAAkBwjD,KAGvB6c,GAA0B,WACrC,OAAOZ,GAASzhD,GAAwBgmC,KAG7Bsc,GAAW,WACtB,OAAOb,GAASh+D,GAAS6+C,KAGd/8C,GAAe,WAC1B,OAAOk8D,GAAS5gE,GAAYm5C,KAGjBuoB,GAAa,WACxB,MAAO,CACL,IAAIpsF,GAAc,CAAE+kB,IAAI,EAAaqB,KAAMhxB,GAAE,gBAC7C,IAAI4K,GAAc,CAAE+kB,IAAI,EAAcqB,KAAMhxB,GAAE,iBAIrCi3F,GAAsB,WACjC,MAAO,CACL,IAAIrsF,GAAc,CAAE+kB,IAAI,EAAaqB,KAAMhxB,GAAE,eAC7C,IAAI4K,GAAc,CAAE+kB,IAAI,EAAcqB,KAAMhxB,GAAE,mBAIrCk3F,GAAiB,WAC5B,OAAOhB,GAAStpD,GAAeguC,KAGpBuc,GAAmB,WAC9B,OAAOjB,GAAStoC,GAAiButB,K,kqFChO5B,IAAM74E,GAAsB,SACjC2lF,EACAlvD,GAEA,IAAMq+D,EAAYC,GAASpP,GACrBqP,EAAQC,GAAaH,EAAWr+D,GACtC,YAAcn3B,IAAV01F,EACK,qEAAP,OAA4ErP,EAAS38E,UAAS,KAE3FksF,GAAoBF,EAAOrP,EAASt/E,WAGpC8uF,GAAqBH,EAAOrP,EAAS56D,iBAGtCk/D,GAAK5F,wBAA0BsB,EAASl7D,kBAAoB,EACvD,yFAAP,OAAgG,EAAC,kCAC/Fk7D,EAASl7D,kBACX,KAEG2qE,GAA4BJ,EAAOrP,EAASl7D,mBAG5C4qE,GAA6BL,EAAOrP,EAASjgF,cAAlD,EACS,yDAHA,+FAAP,OAAsGsvF,EAAMM,qBAAoB,0CAAkC3P,EAASl7D,kBAAiB,KARrL,6CAAP,OAAoDuqE,EAAMO,kBAAiB,kCAA0B5P,EAAS56D,gBAAe,KAHtH,6CAAP,OAAoDiqE,EAAMQ,aAAY,0CAAkC7P,EAASt/E,UAAS,MAmB/G,YAACs/E,GACd,IAAImP,EAAYC,GAASpP,GACzBmP,EAAYW,GACVX,EACAnP,EAASt/E,UACTs/E,EAAS56D,gBACT46D,EAASl7D,kBACTk7D,EAASjgF,SACT,IAC0B,EAD1B,KACiBovF,GAAS,IAA5B,IAAK,EAAL,qBAA8B,KAAnBrwF,EAAI,QACbA,EAAKixF,MAAQD,QACIn2F,IAAfmF,EAAKixF,MAAsBjxF,EAAKixF,MAAQ,GACxC/P,EAASt/E,UACTs/E,EAAS56D,gBACT46D,EAASl7D,kBACTk7D,EAASjgF,UAEZ,8BACD,OAAOovF,GAGHG,GAAe,SAAfA,EAAgBS,EAAej/D,GAAgC,IAC3C,EAD2C,KAChDi/D,GAAK,IAAxB,IAAK,EAAL,qBAA0B,KAAfjxF,EAAI,QACb,GAAIkxF,GAAcl/D,EAAIhyB,EAAKgyB,IACzB,OAAOhyB,EACF,QAAmBnF,IAAfmF,EAAKixF,MAAqB,CACnC,IAAMV,EAAQC,EAAaxwF,EAAKixF,MAAOj/D,GACvC,QAAcn3B,IAAV01F,EACF,OAAOA,IAGZ,gCAIGW,GAAgB,SACpBC,EACAC,GAEA,QAAoBv2F,IAAhBu2F,EACF,OAAO,EAET,MAAyBC,GAAkBF,GAAe,UAAnDG,EAAO,KAAEC,EAAK,KACrB,EAAyBF,GAAkBD,GAAY,UAAhDI,EAAO,KAAEC,EAAK,KACrB,QAAIH,IAAYE,IAAWD,EAAMxY,WAAW0Y,KAMxCJ,GAAoB,SAACv4C,GACzB,IAAI44C,EAAK,GACHC,EAAU74C,EAAMu/B,QAAQ,KAQ9B,OAPiB,IAAbsZ,IACFD,EAAK54C,EAAMq/B,UAAUwZ,GACrB74C,EAAQA,EAAMm2C,OAAO,EAAG0C,IAEtB74C,EAAM84C,SAAS,OACjB94C,EAAQA,EAAMm2C,OAAO,EAAGn2C,EAAMniD,OAAS,IAElC,CAACmiD,EAAM+4C,cAAeH,EAAGG,gBAG5BvB,GAAW,SAACpP,GAChB,IAAI1mF,EAEJ,GAAIgrF,GAAK5F,uBACPplF,EAAOs3F,QACF,GAAItM,GAAK3F,iBACdrlF,EAAOu3F,OACF,IAAI7Q,EAASt/E,YAAchG,EAAU+uE,YAC1C,MAAO,GACF,GAAIuW,EAAS38E,YAAc5I,EAAUypE,OAC1C5qE,EAAOw3F,QACF,GAAI9Q,EAAS38E,YAAc5I,EAAU0pE,SAC1C7qE,EAAOy3F,QACF,GAAI/Q,EAAS38E,YAAc5I,EAAU4pE,SAC1C/qE,EAAO03F,OACF,IAAIhR,EAAS38E,YAAc5I,EAAU2pE,SAG1C,MAAM,IAAI1mE,MAAM,aAAD,OAAcsiF,EAAS38E,UAAS,iBAF/C/J,EAAO23F,IAIT,OAAO33F,EAAKw+E,KAAI,SAAA5gF,GAAC,gBAAUA,GAAC,IAAE64F,MAAO74F,EAAE64F,YAGnCD,GAAe,SACnBC,EACArvF,EACAgqB,EACA5F,EACA/kB,GASA,OAPAgwF,EAAQA,EAAM1oE,QAAO,SAAAvoB,GAAI,OAAKA,EAAKoyF,aACnCnB,EAAQA,EAAM1oE,QAAO,SAAAvoB,GAAI,OAAIywF,GAAoBzwF,EAAM4B,MACvDqvF,EAAQA,EAAM1oE,QAAO,SAAAvoB,GAAI,OAAI0wF,GAAqB1wF,EAAM4rB,MACxDqlE,EAAQA,EAAM1oE,QAAO,SAAAvoB,GAAI,OACvB2wF,GAA4B3wF,EAAMgmB,MAEpCirE,EAAQA,EAAM1oE,QAAO,SAAAvoB,GAAI,OAAI4wF,GAA6B5wF,EAAMiB,MACzDgwF,GAGHR,GAAsB,SAACzwF,EAAY4B,GACvC,IAAMmvF,EAAe/wF,EAAK+wF,cAAgBn1F,EAAUgvE,OACpD,OAAOhpE,GAAamvF,GAGhBL,GAAuB,SAAC1wF,EAAY4rB,GACxC,YAC6B/wB,IAA3BmF,EAAK8wF,mBACL9wF,EAAK8wF,kBAAkBrK,MAAK,SAAApuF,GAAC,OAAIuzB,EAAWs5C,SAAS7sE,OAInDs4F,GAA8B,SAClC3wF,EACAgmB,GAEA,YACgCnrB,IAA9BmF,EAAK6wF,sBACL7wF,EAAK6wF,sBAAwB7qE,GAG3B4qE,GAA+B,SAAC5wF,EAAYiB,GAChD,YACyBpG,IAAvBmF,EAAKqyF,eACLryF,EAAKqyF,cAAc5L,MAAK,SAAAC,GAAC,OAAIA,IAAMzlF,MAKjCqxF,GAAmB,CACvBroE,KAAM,SACN4mE,qBAAsB,EACtB0B,cAAc,EACdtB,MAAO,CACL,CACEhnE,KAAM,UACN+H,GAAI,iBACJ0pD,KAAM,iBACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,MACN+H,GAAI,IACJ0pD,KAAM,cACN6W,cAAc,GAEhB,CACEtoE,KAAM,SACN+H,GAAI,UACJ0pD,KAAM,gBACN6W,cAAc,GAEhB,CACEtoE,KAAM,YACN+H,GAAI,8CACJ0pD,KAAM,kBACNmV,qBAAsB,EACtB0B,cAAc,KAMdT,GAA2B,CAC/B,CACE7nE,KAAM,cACN+H,GAAI,0BACJugE,cAAc,GAEhB,CACEtoE,KAAM,UACN+H,GAAI,wBACJugE,cAAc,GAEhB,CACEtoE,KAAM,YACN+H,GAAI,uBACJugE,cAAc,GAEhB,CACEtoE,KAAM,QACN+H,GAAI,4BACJugE,cAAc,GAEhB,CACEtoE,KAAM,aACN+H,GAAI,4BACJugE,cAAc,GAEhB,CACEtoE,KAAM,UACN+H,GAAI,sBACJugE,cAAc,GAEhB,CACEtoE,KAAM,SACNsoE,cAAc,EACdtB,MAAO,CACL,CACEhnE,KAAM,gBACN+H,GAAI,8BACJ0pD,KAAM,sBACN6W,cAAc,GAEhB,CACEtoE,KAAM,0BACN+H,GAAI,qCACJ0pD,KAAM,iBACN6W,cAAc,GAEhB,CACEtoE,KAAM,oBACN+H,GAAI,2BACJ0pD,KAAM,oBACN6W,cAAc,GAEhB,CACEtoE,KAAM,kBACN+H,GAAI,+BACJ0pD,KAAM,gBACN6W,cAAc,GAEhB,CACEtoE,KAAM,mBACN+H,GAAI,wBACJ0pD,KAAM,qBACN6W,cAAc,GAEhB,CACEtoE,KAAM,cACN+H,GAAI,4BACJ0pD,KAAM,qBACN6W,cAAc,KAIpB,CACEtoE,KAAM,YACNsoE,cAAc,EACd1B,qBAAsB,EACtBI,MAAO,CACL,CACEhnE,KAAM,qBACN+H,GAAI,+BACJ0pD,KAAM,oBACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,gBACN+H,GAAI,kCACJ0pD,KAAM,aACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,mBACN+H,GAAI,kCACJ0pD,KAAM,iBACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,2BACN+H,GAAI,2BACJ0pD,KAAM,mBACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,oBACN+H,GAAI,0BACJ0pD,KAAM,0BACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,YACN+H,GAAI,yBACJ0pD,KAAM,qBACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,eACN+H,GAAI,+BACJ0pD,KAAM,YACNmV,qBAAsB,EACtB0B,cAAc,GAEhB,CACEtoE,KAAM,aACN+H,GAAI,4BACJ0pD,KAAM,YACNmV,qBAAsB,EACtB0B,cAAc,KAIpB,CACEtoE,KAAM,YACNsoE,cAAc,EACdtB,MAAO,CACL,CACEhnE,KAAM,gBACN+H,GAAI,6BACJ0pD,KAAM,uBACN6W,cAAc,GAEhB,CACEtoE,KAAM,sBACN+H,GAAI,0BACJ0pD,KAAM,uBACN6W,cAAc,GAEhB,CACEtoE,KAAM,UACN+H,GAAI,mCACJ0pD,KAAM,uBACN6W,cAAc,GAEhB,CACEtoE,KAAM,uBACN+H,GAAI,sCACJ0pD,KAAM,wBACN6W,cAAc,KAIpBD,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACEj/D,GAAI,4BAEN,CACEA,GAAI,6CAONggE,GAAqB,CACzB,CACE/nE,KAAM,cACNgnE,MAAO,CACL,CACEhnE,KAAM,WACN+H,GAAI,SACJ0pD,KAAM,4BAER,CACEzxD,KAAM,WACN+H,GAAI,UACJ0pD,KAAM,gBACP,UACE9vD,KACAotD,KAAI,SAAA5vB,GAAC,OAAIA,EAAExgC,MACXowD,KAAI,SAAA3gF,GAAC,MAAK,CACT4xB,KAAM,gBACN+H,GAAI,6BAA+B35B,EACnCqjF,KAAM5V,GAAcztE,GACpB04F,aAAcn1F,EAAUivE,KACxBimB,kBAAmB,CAACz4F,QACnB,CACL,CACE4xB,KAAM,eACN+H,GAAI,SACJ0pD,KAAM,qBACN2W,cAAe,CAAC,GAAI,QAI1B,CACEpoE,KAAM,eACNgnE,MAAO,CACL,CACEhnE,KAAM,kBACN+H,GAAI,oBACJ0pD,KAAM,2BAER,CACEzxD,KAAM,oBACN+H,GAAI,sBACJ0pD,KAAM,oBACNqV,aAAcn1F,EAAUkvE,QACzB,UACEl/C,KACAotD,KAAI,SAAA5vB,GAAC,OAAIA,EAAExgC,MACXowD,KAAI,SAAA3gF,GAAC,MAAK,CACT4xB,KAAMw7C,GAAiBptE,GACvB25B,GAAI,2BAA6B35B,EACjCqjF,KAAM5V,GAAcztE,GACpBy4F,kBAAmB,CAACz4F,GACpB04F,aAAcn1F,EAAUkvE,WACvB,CACL,CACE7gD,KAAM,kBACN+H,GAAI,oBACJ0pD,KAAM,wBACNqV,aAAcn1F,EAAUkvE,UAI9B,CACE7gD,KAAM,aACN8mE,aAAcn1F,EAAUivE,KACxBomB,MAAO,GAAF,UACArlE,KACAotD,KAAI,SAAA5vB,GAAC,OAAIA,EAAExgC,MACXowD,KAAI,SAAA3gF,GAAC,MAAK,CACT4xB,KAAMw7C,GAAiBptE,GACvB25B,GAAI,yBAA2B35B,EAC/BqjF,KAAM5V,GAAcztE,GACpBy4F,kBAAmB,CAACz4F,QACnB,CACL,CACE4xB,KAAM,uBACNsoE,cAAc,EACdvgE,GAAI,gBACJ0pD,KAAM,sBACN2W,cAAe,CAAC,IAAK,QAI3B,CACEpoE,KAAM,aACN8mE,aAAcn1F,EAAUivE,KACxBomB,MAAO,CACL,CACEhnE,KAAM,iBACN+H,GAAI,mBACJ0pD,KAAM,iBAER,CACEzxD,KAAM,sBACN+H,GAAI,wBACJ0pD,KAAM,yBAER,CACEzxD,KAAM,gBACN+H,GAAI,kBACJ0pD,KAAM,sBAER,CACEzxD,KAAM,mBACN+H,GAAI,qBACJ0pD,KAAM,eAER,CACEzxD,KAAM,gBACN+H,GAAI,kBACJ0pD,KAAM,yBAER,CACEzxD,KAAM,kBACN+H,GAAI,eACJ0pD,KAAM,oBAER,CACEzxD,KAAM,eACN+H,GAAI,iBACJ0pD,KAAM,YAER,CACEzxD,KAAM,uBACN+H,GAAI,yBACJ0pD,KAAM,YAER,CACEzxD,KAAM,eACN+H,GAAI,kBACJ0pD,KAAM,kCAER,CACEzxD,KAAM,aACN+H,GAAI,oBACJ0pD,KAAM,6BAER,CACEzxD,KAAM,qBACN+H,GAAI,mBACJ0pD,KAAM,0BACNoV,kBAAmB,CAAChqE,GAAU4+C,KAAM5+C,GAAU++C,mBAEhD,CACE57C,KAAM,iBACN+H,GAAI,WACJ0pD,KAAM,cAIZ,CACEzxD,KAAM,SACNgnE,MAAO,CACL,CACEhnE,KAAM,UACN+H,GAAI,YACJ0pD,KAAM,wBAER,CACEzxD,KAAM,YACN+H,GAAI,qBAAuBr2B,EAAU0pE,SACrCqW,KAAM,wBAER,CACEzxD,KAAM,YACN+H,GAAI,qBAAuBr2B,EAAU4pE,SACrCmW,KAAM,wBAER,CACEzxD,KAAM,yBACN+H,GAAI,0BACJ0pD,KAAM,qBACNqV,aAAcn1F,EAAUkvE,OAE1B,CACE7gD,KAAM,wBACN+H,GAAI,6BACJ0pD,KAAM,wBACNqV,aAAcn1F,EAAUkvE,OAE1B,CACE7gD,KAAM,YACN+H,GAAI,aACJ0pD,KAAM,oBACNqV,aAAcn1F,EAAUivE,QAI9B,CACE5gD,KAAM,gBACN8mE,aAAcn1F,EAAUmvE,WACxBkmB,MAAO,CACL,CACEhnE,KAAM,aACN+H,GAAI,sBACJ0pD,KAAM,uBACNqV,aAAcn1F,EAAUmvE,YAE1B,CACE9gD,KAAM,oBACN+H,GAAI,sBACJ0pD,KAAM,uBACNqV,aAAcn1F,EAAUmvE,YAE1B,CACE9gD,KAAM,eACN+H,GAAI,iBACJ0pD,KAAM,2BACNqV,aAAcn1F,EAAUmvE,YAE1B,CACE9gD,KAAM,oBACN+H,GAAI,mBACJ0pD,KAAM,qBACNqV,aAAcn1F,EAAUmvE,cAI9B,CACE9gD,KAAM,QACNgnE,MAAO,CACL,CACEhnE,KAAM,iBACN+H,GAAI,WACJ0pD,KAAM,kBAER,CACEzxD,KAAM,cACN+H,GAAI,SACJ0pD,KAAM,mBAER,CACEzxD,KAAM,OACN+H,GAAI,QACJ0pD,KAAM,iCAER,CACEzxD,KAAM,eACN+H,GAAI,mEACJ0pD,KAAM,qBAER,CACEzxD,KAAM,cACN+H,GACE,8GACF0pD,KAAM,qBAER,CACEzxD,KAAM,YACN+H,GAAI,cACJ0pD,KAAM,oBAER,CACEzxD,KAAM,gBACN+H,GACE,wGACF0pD,KAAM,qBAER,CACEzxD,KAAM,kBACN+H,GAAI,6BACJ0pD,KAAM,qBAER,CACEzxD,KAAM,qBACN+H,GAAI,gCACJ0pD,KAAM,uBAIZ,CACEzxD,KAAM,UACNgnE,MAAO,CACL,CACEhnE,KAAM,cACN+H,GAAI,gBACJ0pD,KAAM,kBAER,CACEzxD,KAAM,MACN+H,GACE,4FACF0pD,KAAM,kCAER,CACEzxD,KAAM,aACN+H,GACE,wFACF0pD,KAAM,kBAIZ4W,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACEj/D,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,wBACJ++D,aAAcn1F,EAAUkvE,OAE1B,CACE94C,GAAI,YACJ++D,aAAcn1F,EAAUivE,MAE1B,CACE74C,GAAI,iBACJ6+D,qBAAsBh1F,EAAkB22F,aAO1CP,GAAuB,CAC3B,CACEhoE,KAAM,cACNgnE,MAAO,CACL,CACEhnE,KAAM,WACN+H,GAAI,SACJ0pD,KAAM,4BAER,CACEzxD,KAAM,WACN+H,GAAI,UACJ0pD,KAAM,eAER,CACEzxD,KAAM,eACN+H,GAAI,SACJ0pD,KAAM,qBACN2W,cAAe,CAAC,IAAK,OAI3B,CACEpoE,KAAM,eACN8mE,aAAcn1F,EAAUkvE,MACxBmmB,MAAOrlE,KACJotD,KAAI,SAAA5vB,GAAC,OAAIA,EAAExgC,MACXowD,KAAI,SAAA3gF,GAAC,MAAK,CACT4xB,KAAMw7C,GAAiBptE,GACvB25B,GAAI,2BAA6B35B,EACjCqjF,KAAM5V,GAAcztE,GACpBy4F,kBAAmB,CAACz4F,QAG1B,CACE4xB,KAAM,aACN8mE,aAAcn1F,EAAUivE,KACxBomB,MAAO,GAAF,UACArlE,KACAotD,KAAI,SAAA5vB,GAAC,OAAIA,EAAExgC,MACXowD,KAAI,SAAA3gF,GAAC,MAAK,CACT4xB,KAAMw7C,GAAiBptE,GACvB25B,GAAI,yBAA2B35B,EAC/BqjF,KAAM5V,GAAcztE,GACpBy4F,kBAAmB,CAACz4F,QACnB,CACL,CACE4xB,KAAM,mBACN+H,GAAI,aACJ0pD,KAAM,gBACNqV,aAAcn1F,EAAUivE,MAE1B,CACE5gD,KAAM,uBACN+H,GAAI,aACJ0pD,KAAM,mBACNqV,aAAcn1F,EAAUivE,SAI9B,CACE5gD,KAAM,aACN8mE,aAAcn1F,EAAUivE,KACxBomB,MAAO,CACL,CACEhnE,KAAM,iBACN+H,GAAI,mBACJ0pD,KAAM,eAER,CACEzxD,KAAM,sBACN+H,GAAI,wBACJ0pD,KAAM,yBAER,CACEzxD,KAAM,gBACN+H,GAAI,kBACJ0pD,KAAM,sBAER,CACEzxD,KAAM,eACN+H,GAAI,kBACJ0pD,KAAM,kCAER,CACEzxD,KAAM,qBACN+H,GAAI,mBACJ0pD,KAAM,0BACNoV,kBAAmB,CAAChqE,GAAU4+C,KAAM5+C,GAAU++C,mBAEhD,CACE57C,KAAM,8BACN+H,GAAI,WACJ0pD,KAAM,WACNqV,aAAcn1F,EAAUkvE,SAI9B,CACE7gD,KAAM,SACNgnE,MAAO,CACL,CACEhnE,KAAM,UACN+H,GAAI,YACJ0pD,KAAM,wBAER,CACEzxD,KAAM,UACN+H,GAAI,qBAAuBr2B,EAAUypE,OACrCsW,KAAM,wBAER,CACEzxD,KAAM,yBACN+H,GAAI,0BACJ0pD,KAAM,qBACNqV,aAAcn1F,EAAUivE,MAE1B,CACE5gD,KAAM,wBACN+H,GAAI,6BACJ0pD,KAAM,wBACNqV,aAAcn1F,EAAUivE,QAI9B,CACE5gD,KAAM,gBACN8mE,aAAcn1F,EAAUmvE,WACxBkmB,MAAO,CACL,CACEhnE,KAAM,aACN+H,GAAI,sBACJ0pD,KAAM,uBACNqV,aAAcn1F,EAAUmvE,YAE1B,CACE9gD,KAAM,oBACN+H,GAAI,sBACJ0pD,KAAM,uBACNqV,aAAcn1F,EAAUmvE,YAE1B,CACE9gD,KAAM,kBACN+H,GAAI,mBACJ0pD,KAAM,qBACNqV,aAAcn1F,EAAUmvE,cAI9B,CACE9gD,KAAM,QACNgnE,MAAO,CACL,CACEhnE,KAAM,iBACN+H,GAAI,WACJ0pD,KAAM,kBAER,CACEzxD,KAAM,cACN+H,GAAI,SACJ0pD,KAAM,mBAER,CACEzxD,KAAM,OACN+H,GAAI,QACJ0pD,KAAM,iCAER,CACEzxD,KAAM,eACN+H,GAAI,mEACJ0pD,KAAM,qBAER,CACEzxD,KAAM,cACN+H,GACE,8GACF0pD,KAAM,qBAER,CACEzxD,KAAM,YACN+H,GAAI,cACJ0pD,KAAM,oBAER,CACEzxD,KAAM,gBACN+H,GACE,wGACF0pD,KAAM,qBAER,CACEzxD,KAAM,kBACN+H,GAAI,6BACJ0pD,KAAM,qBAER,CACEzxD,KAAM,qBACN+H,GAAI,gCACJ0pD,KAAM,uBAIZ,CACEzxD,KAAM,UACNgnE,MAAO,CACL,CACEhnE,KAAM,cACN+H,GAAI,gBACJ0pD,KAAM,kBAER,CACEzxD,KAAM,MACN+H,GACE,4FACF0pD,KAAM,kCAER,CACEzxD,KAAM,aACN+H,GACE,wFACF0pD,KAAM,kBAIZ4W,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACEj/D,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,UACJ++D,aAAcn1F,EAAUkvE,OAE1B,CACE94C,GAAI,YACJ++D,aAAcn1F,EAAUivE,MAE1B,CACE74C,GAAI,iBACJ6+D,qBAAsBh1F,EAAkB22F,aAO1CN,GAAuB,CAC3B,CACEjoE,KAAM,cACNgnE,MAAO,CACL,CACEhnE,KAAM,WACN+H,GAAI,SACJ0pD,KAAM,4BAER,CACEzxD,KAAM,WACN+H,GAAI,UACJ0pD,KAAM,iBAIZ,CACEzxD,KAAM,gBACN8mE,aAAcn1F,EAAUmvE,WACxBkmB,MAAO,CACL,CACEhnE,KAAM,oBACN+H,GAAI,sBACJ0pD,KAAM,uBACNqV,aAAcn1F,EAAUmvE,cAI9B,CACE9gD,KAAM,QACNgnE,MAAO,CACL,CACEhnE,KAAM,iBACN+H,GAAI,WACJ0pD,KAAM,kBAER,CACEzxD,KAAM,cACN+H,GAAI,SACJ0pD,KAAM,mBAER,CACEzxD,KAAM,OACN+H,GAAI,QACJ0pD,KAAM,iCAER,CACEzxD,KAAM,eACN+H,GAAI,mEACJ0pD,KAAM,qBAER,CACEzxD,KAAM,cACN+H,GACE,8GACF0pD,KAAM,qBAER,CACEzxD,KAAM,YACN+H,GAAI,cACJ0pD,KAAM,oBAER,CACEzxD,KAAM,gBACN+H,GACE,wGACF0pD,KAAM,qBAER,CACEzxD,KAAM,kBACN+H,GAAI,6BACJ0pD,KAAM,qBAER,CACEzxD,KAAM,qBACN+H,GAAI,gCACJ0pD,KAAM,uBAIZ,CACEzxD,KAAM,UACNgnE,MAAO,CACL,CACEhnE,KAAM,cACN+H,GAAI,gBACJ0pD,KAAM,kBAER,CACEzxD,KAAM,MACN+H,GACE,4FACF0pD,KAAM,kCAER,CACEzxD,KAAM,aACN+H,GACE,wFACF0pD,KAAM,kBAIZ4W,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACEj/D,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,iBACJ6+D,qBAAsBh1F,EAAkB22F,aAO1CL,GAAuB,CAC3B,CACEloE,KAAM,cACNgnE,MAAO,CACL,CACEhnE,KAAM,WACN+H,GAAI,SACJ0pD,KAAM,4BAER,CACEzxD,KAAM,WACN+H,GAAI,UACJ0pD,KAAM,iBAIZ,CACEzxD,KAAM,gBACN8mE,aAAcn1F,EAAUmvE,WACxBkmB,MAAO,CACL,CACEhnE,KAAM,oBACN+H,GAAI,sBACJ0pD,KAAM,uBACNqV,aAAcn1F,EAAUmvE,cAI9B,CACE9gD,KAAM,QACNgnE,MAAO,CACL,CACEhnE,KAAM,iBACN+H,GAAI,WACJ0pD,KAAM,kBAER,CACEzxD,KAAM,cACN+H,GAAI,SACJ0pD,KAAM,mBAER,CACEzxD,KAAM,OACN+H,GAAI,QACJ0pD,KAAM,iCAER,CACEzxD,KAAM,eACN+H,GAAI,mEACJ0pD,KAAM,qBAER,CACEzxD,KAAM,cACN+H,GACE,8GACF0pD,KAAM,qBAER,CACEzxD,KAAM,YACN+H,GAAI,cACJ0pD,KAAM,oBAER,CACEzxD,KAAM,gBACN+H,GACE,wGACF0pD,KAAM,qBAER,CACEzxD,KAAM,kBACN+H,GAAI,6BACJ0pD,KAAM,qBAER,CACEzxD,KAAM,qBACN+H,GAAI,gCACJ0pD,KAAM,uBAIZ,CACEzxD,KAAM,UACNgnE,MAAO,CACL,CACEhnE,KAAM,cACN+H,GAAI,gBACJ0pD,KAAM,kBAER,CACEzxD,KAAM,MACN+H,GACE,4FACF0pD,KAAM,kCAER,CACEzxD,KAAM,aACN+H,GACE,wFACF0pD,KAAM,kBAIZ4W,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACEj/D,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,iBACJ6+D,qBAAsBh1F,EAAkB22F,aAM1CT,GAAU,CACd,CACE9nE,KAAM,WACN+H,GAAI,WAEN,CACE/H,KAAM,UACN+H,GAAI,wBAEN,CACE/H,KAAM,cACN+H,GAAI,kBACL,UACEsgE,GAAWrB,OAAM,CACpB,CAEEmB,WAAW,EACXnB,MAAO,CACL,CACEj/D,GAAI,qB,mhCC9sCL,IAAMygE,GAAc,SAACC,EAAkBC,GAC5C,IACIrgE,EADEqR,EAAQ1qC,GAAE,4BAEV25F,EAAQF,EAAYh2F,SAAS85C,OAC/B5/C,OAAOi8F,QAAQH,EAAYh2F,SAAS85C,QAAQ,GAC5C,GACJ,GAAIo8C,GAASA,EAAMj8F,OAAS,GAM1B,GALA27B,EAAOsgE,EAAM,GACTtgE,EAAKymD,WAAW,OAElBzmD,EAAOr5B,GAAEq5B,EAAK28D,OAAO,KAEnB2D,EAAM,GAAI,KAC2B,EAD3B,KACOA,EAAM,IAAc,IAAvC,IAAK,EAAL,qBAAyC,KAA9BE,EAAI,QACbxgE,GAAQ,KAAJ,OAASwgE,IACd,qCAGHxgE,EAAO,uCAET,IAAMp2B,EAA+B,CACnCwsB,MAAO,IACPqqE,eAAe,EACfC,SAAS,EACTrvD,MAAOA,EACPrR,KAAMA,EACN2gE,SAAU,KACV/M,aAAc,WACZyM,MAGJO,GAAYh3F,IAGDi3F,GAAc,SAACxvD,EAAerR,EAAc5J,GACvD,IAAMxsB,EAA+B,CACnCwsB,MAAOA,EACPqqE,eAAe,EACfC,SAAS,EACTrvD,MAAOA,EACPrR,KAAMA,EACN2gE,SAAU,KACV/M,aAAc,cAEhBgN,GAAYh3F,IAGDk3F,GAA2B,SACtCC,EACAC,GAEA,IAAMp3F,EAA+B,CACnCynC,MAAO1qC,GAAE,kBACTq5B,KAAMr5B,GAAE,kBACRg6F,SAAUh6F,GAAE,QACZs6F,UAAW,UACXrN,aAAcmN,EACdG,SAAUv6F,GAAE,YACZw6F,UAAW,QACXC,aAAcJ,GAEhBJ,GAAYh3F,IAGDy3F,GAAuB,SAAChB,GACnC,IAAMz2F,EAA+B,CACnCynC,MAAO1qC,GAAE,kBACTq5B,KAAMr5B,GAAE,yBACRg6F,SAAUh6F,GAAE,YACZs6F,UAAW,QACXrN,aAAcyM,GAEhBO,GAAYh3F,IAGDg3F,GAAc,SAACh3F,GAC1BH,GAAM6pF,OAAO1D,GAAUc,uBAAwB9mF,ICjF7C,GAAS,WAAa,IAAIlC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,YAAY,CAACE,MAAM,CAAC,IAAM,GAAG,KAAO,GAAG,UAAY,IAAI,IAAM,EAAQ,QAAiC,MAAQN,EAAI45F,aAAa,eAAe,KAAK,CAAE55F,EAAU,OAAEI,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAON,EAAIQ,KAAK,MAAQR,EAAI2pC,MAAM,UAAY3pC,EAAIqsB,UAAU,KAAOrsB,EAAI65F,KAAK,oBAAsB75F,EAAIS,qBAAqBC,GAAG,CAAC,QAAUV,EAAIW,QAAQ,QAAUX,EAAI85F,WAAW15F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAON,EAAIQ,KAAK,MAAQR,EAAI2pC,MAAM,UAAY3pC,EAAIqsB,UAAU,SAAWrsB,EAAIO,SAAS,KAAOP,EAAI65F,KAAK,oBAAsB75F,EAAIS,qBAAqBC,GAAG,CAAC,QAAUV,EAAIW,QAAQ,QAAUX,EAAI85F,YAAY,IAC7qB,GAAkB,GCDlB,GAAS,WAAa,IAAI95F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,oBAAoB,CAACR,EAAG,kBAAkB,CAACA,EAAG,QAAQ,CAACQ,YAAY,4BAA4BN,MAAM,CAAC,KAAO,GAAG,KAAO,GAAG,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ95F,EAAI65F,SAAS,CAACz5F,EAAG,OAAO,CAACQ,YAAY,WAAWo5F,MAAM,CAAE,kBAAmBh6F,EAAIi6F,yBAA0B35F,MAAM,CAAC,GAAK,eAAe,CAACN,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAI2pC,aAAa,GAAG3pC,EAAIo6F,GAAIp6F,EAAQ,MAAE,SAASgG,EAAKq0F,GAAO,OAAOj6F,EAAG,SAAS,CAACd,IAAI+6F,EAAM/5F,MAAM,CAAC,iBAAgB,EAAM,iBAAiB0F,EAAKixF,OAAS,IAAIt6F,OAAS,EAAE,WAAW,IAAI29F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GACnqB,IAAI/5F,EAAK+5F,EAAI/5F,GACb,MAAO,CAACN,EAAG,QAAQJ,EAAI06F,GAAG,CAACV,MAAM,CACvB,qBAAsBh6F,EAAI26F,cAC1B,YAAa36F,EAAIi6F,yBACjB35F,MAAM,CAAC,KAAO,GAAG,OAASN,EAAI46F,eAAe,UAAU56F,EAAI46F,gBAAgBl6F,GAAG,CAAC,MAAQ,SAASq5F,QAAoBl5F,IAAZmF,EAAKgyB,IAAmBh4B,EAAI85F,QAAQ9zF,EAAKgyB,OAAYt3B,GAAI,CAACV,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIiwB,KAAKjqB,IAAO,KAAMhG,EAAI66F,UAAU70F,GAAO5F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIk6F,GAAG,qBAAqBl6F,EAAIyB,MAAM,OAAO,MAAK,IAAO,CAACrB,EAAG,SAAS,CAACQ,YAAY,yBAAyBZ,EAAIo6F,GAAIp0F,EAAKixF,OAAS,IAAI,SAAS6D,EAAMC,GAAQ,OAAO36F,EAAG,cAAc,CAACd,IAAIy7F,EAAOz6F,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQgB,EAAM9iE,OAAO,CAAC53B,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGW,EAAMpZ,UAAU,GAAGthF,EAAG,sBAAsB,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIiwB,KAAK6qE,IAAQ,QAAQ,MAAK,IAAI,MAAK16F,EAAG,YAAaJ,EAAI4lF,sBAAwB5lF,EAAIQ,KAAK7D,OAAS,EAAGyD,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAC45F,MAAM,CAAE,qBAAsBh6F,EAAI26F,eAAgBr6F,MAAM,CAAC,KAAO,GAAG,OAASN,EAAI46F,eAAe,UAAU56F,EAAI46F,gBAAgBl6F,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,6CAA6C,CAAC15F,EAAG,mBAAmB,IAAI,QAA6BS,IAAzBb,EAAImnF,iBAAgC/mF,EAAG,MAAM,CAACQ,YAAY,4CAA4C,CAACR,EAAG,UAAU,CAACE,MAAM,CAAC,MAAQ,WAAW,QAAUN,EAAImnF,iBAAiB,MAAQnnF,EAAImnF,iBAAiB,QAAU,KAAK,CAAC/mF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,OAAS,KAAK,MAAQ,MAAMI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,gBAAgB,CAAC15F,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIk6F,GAAG,gBAAgB,IAAI,IAAI,GAAGl6F,EAAIyB,KAAMzB,EAAIQ,KAAK7D,OAAS,GAAKqD,EAAIS,oBAAqBL,EAAG,WAAW,CAACE,MAAM,CAAC,oBAAsBN,EAAIS,uBAAuBT,EAAIyB,KAAMzB,EAAIQ,KAAK7D,OAAS,EAAGyD,EAAG,SAAS,CAACE,MAAM,CAAC,WAAW,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GAC3oD,IAAI/5F,EAAK+5F,EAAI/5F,GACrB,MAAO,CAACN,EAAG,QAAQJ,EAAI06F,GAAG,CAAC95F,YAAY,kCAAkCo5F,MAAM,CAAE,iBAAkBh6F,EAAIi6F,yBAA0B35F,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAKI,GAAI,CAACV,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIO,UAAU,KAAKH,EAAG,MAAMA,EAAG,OAAO,CAACQ,YAAY,8BAA8B,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIqsB,UAAYrsB,EAAIqsB,UAAY,QAAQjsB,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,oBAAoB,OAAO,MAAK,EAAM,YAAY,CAAC95F,EAAG,SAAS,CAACQ,YAAY,yBAAyB,CAACR,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,mBAAmB,CAAC15F,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,sBAAsB,GAAG95F,EAAG,sBAAsB,CAACA,EAAG,MAAM,CAACQ,YAAY,wBAAwB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,qBAAqB,GAAG56F,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQV,EAAIW,UAAU,CAACP,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,sBAAsB,GAAG95F,EAAG,sBAAsB,CAACA,EAAG,MAAM,CAACQ,YAAY,wBAAwB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,iBAAiB,GAAIh7F,EAAuB,oBAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQV,EAAIi7F,aAAa,CAAC76F,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,sBAAsB,GAAG95F,EAAG,sBAAsB,CAACJ,EAAIk6F,GAAG,eAAe,GAAGl6F,EAAIyB,KAAMzB,EAAuB,oBAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQV,EAAIk7F,eAAe,CAAC96F,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,0BAA0B,GAAG95F,EAAG,sBAAsB,CAACJ,EAAIk6F,GAAG,iBAAiB,GAAGl6F,EAAIyB,KAAMzB,EAAkB,eAAEI,EAAG,aAAaJ,EAAIyB,KAAMzB,EAAkB,eAAEI,EAAG,cAAc,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACF,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,uBAAuB,GAAG95F,EAAG,sBAAsB,CAACA,EAAG,YAAY,CAACE,MAAM,CAAC,OAAS,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GACzqD,IAAI/5F,EAAK+5F,EAAI/5F,GACrB,MAAO,CAAEV,EAAkB,eAAEI,EAAG,MAAMJ,EAAI06F,GAAG,CAAC95F,YAAY,iCAAiCF,GAAI,CAACV,EAAIk6F,GAAG,aAAal6F,EAAIm6F,GAAGn6F,EAAIm7F,eAAeC,QAAQ,OAAOp7F,EAAIyB,SAAS,MAAK,EAAM,YAAYzB,EAAIo6F,GAAIp6F,EAAkB,gBAAE,SAAShB,EAAMM,GAAK,OAAOc,EAAG,MAAM,CAACd,IAAIA,GAAK,CAACU,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAG76F,GAAK,KAAKU,EAAIm6F,GAAGn7F,GAAO,UAAS,IAAI,IAAI,GAAGgB,EAAIyB,MAAM,IAAI,GAAGzB,EAAIyB,MAAM,IACjW,GAAkB,GCVlB,GAAS,WAAa,IAAIzB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,WAAW,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GACpL,IAAI/5F,EAAK+5F,EAAI/5F,GACb,MAAO,CAACN,EAAG,QAAQJ,EAAI06F,GAAG,CAAC95F,YAAY,gBAAgBN,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAKI,GAAI,CAACN,EAAG,QAAQ,CAACE,MAAM,CAAC,IAAMN,EAAIq7F,QAAQ,OAAS,OAAO,MAAQ,UAAUj7F,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,oBAAoB,SAAS,CAAC95F,EAAG,SAAS,CAACQ,YAAY,yBAAyBZ,EAAIo6F,GAAIp6F,EAAa,WAAE,SAASgrE,GAAM,OAAO5qE,EAAG,cAAc,CAACd,IAAI0rE,EAAKZ,OAAO9pE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIs7F,WAAWtwB,EAAKZ,WAAW,CAAChqE,EAAG,sBAAsB,CAACA,EAAG,QAAQ,CAACQ,YAAY,OAAON,MAAM,CAAC,IAAM0qE,EAAKT,UAAU,IAAI,MAAK,IAAI,IACzgB,GAAkB,GCkCPlB,UAAIkyB,OAAO,CACxBC,MAAO,CACL/6F,oBAAqBg7F,SAEvBC,SAAU,CACRC,UAAS,WACP,OAAOrxB,IAET+wB,QAAO,WACL,OAAOp7F,KAAK07F,UAAU9wB,MAAK,SAAA1sE,GAAC,OAAIA,EAAEisE,SAAW6U,OAAO9U,GAAKC,WAAUG,QAGvExxC,QAAS,CACPuiE,WAAU,SAACtwB,GAAa,WAClB/qE,KAAKQ,qBACP0pE,GAAKC,OAASY,EAAKx7C,WACnB3vB,OAAO+7F,aAAaC,QAAQ,OAAQ7wB,EAAKx7C,aAEzC,IAAI1sB,EAAY,IAAIhB,EAAiB7B,KAAK67F,SACvCC,aAAa/wB,GACbtnE,MAAK,WACJw/B,SAAS84D,YAEVn4F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAKvDo5F,QAAO,WACL,GAAIh8F,KAAKQ,oBAAqB,CAC5B,IAAMuqE,EAAOnrE,OAAO+7F,aAAaM,QAAQ,QACnClxB,IACJb,GAAKC,OAASY,OCtEiZ,M,4ICQnamxB,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,GAAAA,GAAiB,QAWhC,KAAkBA,GAAW,CAACC,QAAA,KAAKC,SAAA,KAAMC,QAAA,KAAKC,SAAA,KAAMC,aAAA,KAAUC,iBAAA,QAAiBC,SAAA,OC9B/E,IAAI,GAAS,WAAa,IAAI18F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,YAA4BW,IAApBb,EAAIwqC,YAA2BpqC,EAAG,YAAY,CAACE,MAAM,CAAC,OAAS,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GACrN,IAAI/5F,EAAK+5F,EAAI/5F,GACb,MAAO,CAACN,EAAG,OAAOJ,EAAI06F,GAAG,CAACp6F,MAAM,CAAC,KAAO,KAAKI,GAAI,CAACV,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI28F,gBAAgB,MAAM38F,EAAIm6F,GAAGn6F,EAAI6qC,wBAAwB,WAAW,MAAK,EAAM,YAAY,CAAC7qC,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI48F,SAAS,OAAO58F,EAAIyB,MAC1M,GAAkB,GCkBP4nE,UAAIkyB,OAAO,CACxBG,SAAU,CACRjxD,cAAa,WACX,OAAOxqC,KAAKuqC,YAAajc,QACvB,SAAAhnB,GAAI,OAAKA,EAAKgjC,iBAAmBhjC,EAAKgD,YAAc5I,EAAUypE,UAC9DzuE,QAEJ+tC,gBAAe,WACb,OAAOzqC,KAAKuqC,YAAajc,QACvB,SAAAhnB,GAAI,OAAKA,EAAKgjC,iBAAmBhjC,EAAKgD,YAAc5I,EAAU0pE,YAC9D1uE,QAEJguC,gBAAe,WACb,OAAO1qC,KAAKuqC,YAAajc,QACvB,SAAAhnB,GAAI,OAAKA,EAAKgjC,iBAAmBhjC,EAAKgD,YAAc5I,EAAU4pE,YAC9D5uE,QAEJiuC,gBAAe,WACb,OAAO3qC,KAAKuqC,YAAajc,QACvB,SAAAhnB,GAAI,OAAKA,EAAKgjC,iBAAmBhjC,EAAKgD,YAAc5I,EAAU2pE,YAC9D3uE,QAEJggG,eAAc,WACZ,OACE18F,KAAKwqC,cACLxqC,KAAKyqC,gBACLzqC,KAAK0qC,gBACL1qC,KAAK2qC,iBAGTC,uBAAsB,WACpB,OAAO5qC,KAAKuqC,YAAajc,QAAO,SAAAhnB,GAAI,OAAIA,EAAKgjC,mBAAiB5tC,QAEhEigG,QAAO,WACL,IAAIA,EAAU,2CAOd,OANAA,GAAW,eAAiB38F,KAAKwqC,cAAgB,KACjDmyD,GAAW,iBAAmB38F,KAAKyqC,gBAAkB,KACrDkyD,GAAW,WAAa38F,KAAK0qC,gBAAkB,KAC/CiyD,GAAW,eAAiB38F,KAAK2qC,gBAAkB,KACnDgyD,GAAW,iBAAmB38F,KAAK4qC,uBAAyB,OAC5D+xD,GAAW38F,KAAKuqC,YAAaw0C,KAAI,SAAAz3E,GAAI,OAAIA,EAAKhJ,QAAMghF,KAAK,MAClDqd,IAGX7jE,QAAS,CACP8jE,iBAAgB,sBACd,IAAI7kF,GAAiB,IAAIlW,EAAiB7B,KAAK67F,SAC5CgB,iBACAp5F,MAAK,SAAAuoF,GACJ,EAAKzhD,YAAcyhD,KAEpBpoF,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAK48F,mBACL58F,KAAK88F,WAAU,sBACb98F,KAAK+8F,WAAaC,aAAY,WAC5B,EAAKJ,qBACJ,UAGPK,UAAS,WACHj9F,KAAK+8F,YACPG,cAAcl9F,KAAK+8F,aAGvB7gG,KAAM,iBAGA,CACJ6gG,gBAAYn8F,EACZ2pC,iBAAa3pC,MC/F4Z,M,aCOza,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACu8F,YAAA,OCoLf/zB,cAAIkyB,OAAO,CACxBC,MAAO,CACLh7F,KAAMsF,MACN6jC,MAAO0zD,OACPhxE,UAAWgxE,OACX98F,SAAU88F,OACVxD,KAAMwD,OACN58F,oBAAqBg7F,SAEvBv6D,WAAY,CACVo8D,YACAC,mBAEF7B,SAAU,CACR8B,YAAW,WACT,OAAOv9F,KAAK67F,OAAO15F,QAAQ6kF,GAAKtgF,YAAY+nB,OAE9CisE,cAAa,WACX,OAAO16F,KAAKu9F,YAAc,MAE5BC,WAAU,WACR,OAAOx9F,KAAKu9F,YAAc,MAE5B5C,eAAc,WACZ,OAAO36F,KAAKu9F,YAAc,MAE5BE,oBAAmB,WACjB,OAAOz9F,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAUl7D,mBAAqB,GAEjE2xE,wBAAuB,WACrB,OAAO19F,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAUl7D,mBAAqB,GAEjEiuE,wBAAuB,WACrB,MACwB,WAAtB9W,GAAOya,YACP39F,KAAKy9F,qBAC0C,KAA/Cz9F,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAUjgF,SAGvCkgF,iBAAgB,WACd,OAAOlnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKE,mBAElCvB,qBAAoB,WAClB,OAAO4F,GAAK5F,yBAGhB7sD,QAAS,CACP9I,KAAI,SAACjqB,GACH,OAAKA,EAAKiqB,MAAQjqB,EAAKuyF,aACdvyF,EAAKiqB,KAEPhxB,GAAE+G,EAAKiqB,OAEhBtvB,QAAO,WACLV,KAAK49F,MAAM,YAEb5C,WAAU,WACRh7F,KAAK65F,QAAQ,mBAEfoB,aAAY,WACVj7F,KAAK65F,QAAQ,8BAEfA,QAAO,SAACvT,GACFA,GAAQA,EAAKxH,WAAW,SAC1Bl/E,OAAOi+F,KAAKvX,EAAM,UAElBtmF,KAAK49F,MAAM,UAAWtX,IAG1BsU,UAAS,SAAC70F,GACR,QAASA,EAAKixF,OAASjxF,EAAKixF,MAAMt6F,OAAS,IAAMsD,KAAKw9F,YAExDM,eAAc,sBACZ,GAAIvS,GAAKzF,cACP9lF,KAAKk7F,eAAiB,CACpBC,OAAQ,MACR4C,gBAAiB,KACjBC,eAAgB,mBAChBC,kBAAmB,wBALvB,CASA,IAAMxJ,EAAaC,SAASC,qBAAqB,UAC3CC,EAAaH,EAAWA,EAAW/3F,OAAS,GAAGm4F,IAC/CqJ,EAAiBtJ,EAAWvxF,QAChC,YACA,oBAGF,IACE86F,MAAMD,GAAgBz6F,MAAK,SAAAuoF,GACzB,IAAKA,EAAIoS,GACP,MAAM,IAAIz5F,MAAM,oCAAD,OAAqCqnF,EAAI/nF,SAE1D+nF,EAAIxmC,OAAO/hD,MAAK,SAAA+hD,GAAI,OAAK,EAAK01C,eAAiB11C,QAEjD,MAAO5iD,GACPD,QAAQC,MAAM,wBAAyBA,OAI7Co5F,QAAO,sBACLjQ,YAAW,WACL,EAAK2R,yBACP,EAAKI,mBAEN,MAEL5hG,KAAM,iBAAkD,CACtDg/F,oBAAgBt6F,MCxTsZ,M,6ECQta,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAgBhC,KAAkB,GAAW,CAACy9F,UAAA,KAAOlC,QAAA,KAAKmC,YAAA,KAASlC,SAAA,KAAME,SAAA,KAAMC,aAAA,KAAUC,iBAAA,QAAiB+B,iBAAA,KAAc9B,SAAA,KAAM+B,WAAA,KAAQC,cAAAC,GAAA,KAAcvB,YAAA,OCnCpI,IAAI,GAAS,WAAa,IAAIp9F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,oBAAoB,CAAEZ,EAAIQ,KAAK7D,OAAS,EAAGyD,EAAG,SAAS,CAACE,MAAM,CAAC,WAAW,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GACrP,IAAI/5F,EAAK+5F,EAAI/5F,GACb,MAAO,CAACN,EAAG,QAAQJ,EAAI06F,GAAG,CAACp6F,MAAM,CAAC,MAAQ,GAAG,MAAQ,OAAO,KAAO,KAAKI,GAAI,CAACN,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,eAAe,OAAO,MAAK,EAAM,aAAa,CAAC95F,EAAG,SAASJ,EAAIo6F,GAAIp6F,EAAQ,MAAE,SAASgG,EAAKvJ,GAAG,OAAO2D,EAAG,cAAc,CAACd,IAAI7C,EAAEiE,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ9zF,EAAKgyB,OAAO,CAAC53B,EAAG,oBAAoB,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIiwB,KAAKjqB,QAAW,MAAK,IAAI,GAAGhG,EAAIyB,KAAKrB,EAAG,kBAAkB,CAACA,EAAG,QAAQ,CAACQ,YAAY,WAAWN,MAAM,CAAC,KAAO,GAAG,KAAO,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ95F,EAAI65F,SAAS,CAACz5F,EAAG,OAAO,CAACQ,YAAY,WAAWN,MAAM,CAAC,GAAK,eAAe,CAACN,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAI2pC,aAAa,GAAGvpC,EAAG,YAAaJ,EAAIQ,KAAK7D,OAAS,GAAKqD,EAAIS,oBAAqBL,EAAG,WAAW,CAACE,MAAM,CAAC,oBAAsBN,EAAIS,uBAAuBT,EAAIyB,KAAMzB,EAAIQ,KAAK7D,OAAS,EAAGyD,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,UAAU,IAAII,GAAG,CAAC,MAAQV,EAAIW,UAAU,CAACX,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,WAAW,KAAK56F,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,sBAAsB,GAAGl6F,EAAIyB,MAAM,IACr6B,GAAkB,GCiDP4nE,UAAIkyB,OAAO,CACxBr6D,WAAY,CAAEo8D,aACd9B,MAAO,CACLh7F,KAAMsF,MACN6jC,MAAO0zD,OACPhxE,UAAWgxE,OACXxD,KAAMwD,OACN58F,oBAAqBg7F,SAEvB1iE,QAAS,CACP9I,KAAI,SAACjqB,GACH,OAAKA,EAAKiqB,MAAQjqB,EAAKuyF,aACdvyF,EAAKiqB,KAEPhxB,GAAE+G,EAAKiqB,OAEhB6pE,QAAO,SAACvT,GACNtmF,KAAK49F,MAAM,UAAWtX,IAExB5lF,QAAO,WACLV,KAAK49F,MAAM,eCxE6Y,MCQ1Z,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACzB,QAAA,KAAKC,SAAA,KAAME,SAAA,KAAMC,aAAA,KAAUoC,eAAA,QAAelC,SAAA,KAAM+B,WAAA,KAAQC,cAAAC,GAAA,OCzB/E,IAAME,GAAgB,SAC3BnS,EACA70E,QAEUhX,IAAN6rF,IACFA,EAAI,WAEI7rF,IAANgX,IACFA,EAAI,MAEN,IAAMinF,EAAO7f,OAAa,OAANyN,EAAaA,GAAKqS,KAChCC,EAAO/f,OAAa,OAANpnE,EAAaA,GAAKknF,KACtC,OAAK9L,MAAM6L,IAAU7L,MAAM+L,IAGpBtS,IACHA,EAAI,IAED70E,IACHA,EAAI,IAEF60E,EAAI70E,GACE,EAEN60E,EAAI70E,EACC,EAEF,GAdAinF,EAAOE,GAkBLC,GAAkB,SAC7BC,EACAjvE,EACAkvE,GAEA,IAAKD,EACH,OAAO,EAET,IAAKjvE,EACH,OAAO,EAGT,IAAMmvE,EAAQC,GAAUH,GAClBI,EAAQD,GAAUpvE,GAElBsvE,EAAiBH,EACpBpgB,KAAI,SAAAwgB,GAAI,OACPF,EAAM7S,MACJ,SAAAxtF,GAAC,OAAIA,EAAE8/E,WAAWygB,KAAWL,GAAiBlgG,EAAEisE,SAASs0B,SAG5DjxE,QAAO,SAAAkxE,GAAY,OAAKA,KAC3B,OAAiC,IAA1BF,EAAe5iG,QAGlB0iG,GAAY,SAACthG,GAQjB,OAPAA,EAAIA,EAAE2hG,oBACe,UAAjB90B,OACF7sE,EAAIA,EACDqhF,WAAW,IAAK,KAChBA,WAAW,IAAK,KAChBA,WAAW,IAAK,MAEdrhF,EACJqhF,WAAW,IAAK,IAChBA,WAAW,IAAK,IAChBA,WAAW,IAAK,KAChBA,WAAW,IAAK,KAChBA,WAAW,IAAK,KAChBnnC,MAAM,KACN1pB,QAAO,SAAAxwB,GAAC,MAAiB,KAAbA,EAAE4wD,WAGNgxC,GAAiB,SAACC,GAC7B,IAAI3T,EAAM2T,EACV,MAAO3T,EAAI/gB,SAAS,YAClB+gB,EAAMA,EAAI3oF,QACR,WACAwnE,GAAS,CAACj+C,GAAQ48C,QAAS58C,GAAQg9C,UAAUa,WAGjD,IAAMngE,EAAYs1F,GAAc99F,GAAMK,QAAQ6kF,GAAKC,UAAU38E,WAC7D,MAAO0hF,EAAI/gB,SAAS,aAClB+gB,EAAMA,EAAI3oF,QAAQ,YAAaiH,GAEjC,OAAO0hF,GAGH4T,GAAgB,SAACt1F,GACrB,OAAQA,GACN,KAAK5I,EAAUypE,OACb,MAAO,SACT,KAAKzpE,EAAU0pE,SACb,MAAO,WACT,KAAK1pE,EAAU4pE,SACb,MAAO,WACT,KAAK5pE,EAAU2pE,SACb,MAAO,WACT,QACE,OAAOlC,GAAa7+D,KAIbu1F,GAAa,SAAC7yE,GACzB,QAAKA,GAGE,4JAA4J8yE,KACjK9yE,IAIS+yE,GAAiB,SAC5Bz/F,GAEA,IAAM0/F,EAAe,uCACrB,OAAK1/F,GAAYA,EAAS5D,QAAU,EAC3BsC,GAAE,YAEPsB,EAASm/F,sBAAwBn/F,EAC5BtB,GAAE,yBAEPsB,EAAS03C,MAAM,IAAIw0C,MAAK,SAAApuF,GAAC,OAAK4hG,EAAa/0B,SAAS7sE,MAC/CY,GAAE,kBAAoB,IAAMghG,OADrC,GCtFa52B,UAAIkyB,OAAO,CACxBC,MAAO,CACLj7F,SAAU88F,OACV78F,KAAMsF,MACNrF,oBAAqBg7F,SAEvBv6D,WAAY,CACVg/D,eACAC,sBAEFzE,SAAU,CACRrvE,UAAS,WACP,OAAOpsB,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU76D,WAE5CwtE,KAAI,WACF,OAAIrO,GAAK5F,uBACA,iBACE4F,GAAK3F,iBACP,UAEA,KAGXl8C,MAAK,WACH,OAAO6hD,GAAK5F,uBAAyB,UAAYzC,GAAOya,YAE1DrtE,OAAM,WACJ,OAAOi7D,GAAK3F,kBAEd+T,aAAY,WACV,OAAOpO,GAAK5F,uBAAyB,UAAY,YAGrD7sD,QAAS,CACPp4B,QAAO,WACLV,KAAK49F,MAAM,YAEb/D,QAAO,SAACvT,GACNA,EAAOoZ,GAAepZ,GAClBA,EAAKlI,QAAQ,QAAU,GAEhBkI,EAAKxH,WAAW,kBADzBl/E,OAAOi+F,KAAK3a,GAAOid,aAAe7Z,GAIlCtmF,KAAKogG,QAAQpjG,KAAKspF,OCvF4Y,M,aCOla,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC+Z,WAAA,OCvB9B,IAAI,GAAS,WAAa,IAAItgG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACQ,YAAY,sBAAsBo5F,MAAM,CAAE,0BAA2Bh6F,EAAIugG,eAAgB,CAACngG,EAAG,QAAQ,CAAEJ,EAAU,OAAE,CAACI,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,aAAaN,MAAM,CAAC,KAAO,KAAK,GAAK,KAAK,GAAK,IAAI,GAAK,IAAI,GAAK,MAAM,CAACN,EAAIwgG,GAAG,YAAY,GAAGpgG,EAAG,aAAa,CAACA,EAAG,QAAQ,CAACQ,YAAY,wCAAwCN,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIwgG,GAAG,YAAY,KAAK,IAAI,IAC1e,GAAkB,GCyBPn3B,UAAIkyB,OAAO,CACxBG,SAAU,CACRnrE,OAAM,WACJ,OAAOi7D,GAAK3F,kBAEd0a,aAAY,WACV,OAAO/U,GAAK5F,2BChC6Z,M,uCCO3a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC6a,QAAA,KAAKC,cAAA,KAAWC,QAAA,KAAKlC,WAAA,OC1BnD,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,sBAAsB,CAAC45F,MAAM,CACpL,aAAch6F,EAAI4gG,UAClB,mBAAoB5gG,EAAI6gG,eACxB,gBAAiB7gG,EAAI8gG,aACrB,sBAAuB9gG,EAAI+gG,mBAC3BzgG,MAAM,CAAC,MAAQN,EAAIs5B,MAAM,KAAOt5B,EAAIghG,KAAK,MAAQhhG,EAAIghG,KAAO,GAAG,cAAgB,OAAO,IACxF,GAAkB,GC8BP33B,UAAIkyB,OAAO,CACxBC,MAAO,CACLwF,KAAM/hB,OACN2hB,UAAWnF,QACXqF,aAAcrF,QACdoF,eAAgBpF,QAChBsF,kBAAmBtF,SAErBC,SAAU,CACRpiE,MAAK,WACH,OAAOoqD,GAAKkC,uBAAyB,UAAY,gBC9C+W,M,yBCQla,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACqb,qBAAA,KAAkBN,QAAA,OCzBhD,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAOI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,QAAQ,CAAC95F,EAAIk6F,GAAG,iCAAiC,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,gEAAgE95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIumF,WAAWnmF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,WAAWl6F,EAAIm6F,GAAGn6F,EAAIm7C,cAAc,IACtoB,GAAkB,GCqBPkuB,UAAIkyB,OAAO,CACxBC,MAAO,CACLrgD,OAAQkiD,QAEV3B,SAAU,CACRnV,KAAI,WACF,OAAOtmF,KAAKihG,OAAO3a,OAGvBxtD,QAAS,CACP+gE,QAAO,SAACvT,GACNtmF,KAAKogG,QAAQpjG,KAAKspF,OCjCgZ,MCOpa,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACma,cAAA,KAAWrE,SAAA,KAAMsE,QAAA,OCzB/C,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACd,IAAIU,EAAIV,IAAIgB,MAAM,CAAC,OAASN,EAAIkC,QAAQi/F,OAAO,MAAQnhG,EAAIkC,QAAQynC,MAAM,MAAQ3pC,EAAIkC,QAAQwsB,MAAM,kBAAkB1uB,EAAIkC,QAAQ62F,cAAc,QAAU/4F,EAAIkC,QAAQ82F,SAASt4F,GAAG,CAAC,MAAQV,EAAIkC,QAAQk/F,qBAAqB9G,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,OAAOk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,MAAM,CAACQ,YAAY,qCAAqC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIkC,QAAQo2B,MAAM,SAAS+oE,OAAM,GAAM,CAAC/hG,IAAI,UAAUk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,YAAaJ,EAAIkC,QAAoB,aAAE9B,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQN,EAAIkC,QAAQu3F,UAAU,MAAQz5F,EAAIkC,QAAQu3F,UAAU,QAAUz5F,EAAIshG,oBAAoB5gG,GAAG,CAAC,MAAQV,EAAIkC,QAAQw3F,eAAe,CAAC15F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIkC,QAAQs3F,UAAU,OAAOx5F,EAAIyB,KAAKrB,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQN,EAAIkC,QAAQq3F,UAAU,MAAQv5F,EAAIkC,QAAQq3F,UAAU,QAAUv5F,EAAIshG,oBAAoB5gG,GAAG,CAAC,MAAQV,EAAIkC,QAAQgqF,eAAe,CAAClsF,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIkC,QAAQ+2F,UAAU,SAASoI,OAAM,QACn+B,GAAkB,GCDlB,GAAS,WAAa,IAAIrhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAImhG,OAAO,WAAa,GAAG,WAAa,GAAG,MAAQnhG,EAAI0uB,QAAQ,CAACtuB,EAAG,SAAS,CAAC45F,MAAM,CAC3M,qBAAsBh6F,EAAIuhG,WAC1B,0BAA2BvhG,EAAIwhG,iBAC9B,CAACphG,EAAG,eAAe,CAACQ,YAAY,WAAWo5F,MAAMh6F,EAAIg5F,QAAU,oBAAsB,aAAa,CAAC54F,EAAG,MAAM,CAACQ,YAAY,uBAAuB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAI2pC,UAAU3pC,EAAIwgG,GAAG,aAAapgG,EAAG,YAAYJ,EAAIwgG,GAAG,cAAgBxgG,EAAI+4F,cAA8L/4F,EAAIyB,KAAnLrB,EAAG,QAAQ,CAACE,MAAM,CAAC,SAAW,IAAI,MAAQ,GAAG,KAAO,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,YAAY,CAACz9F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIk6F,GAAG,gBAAgB,IAAa,GAAG95F,EAAG,cAAc,CAAC45F,MAAM,CAC7c,oBAAqBh6F,EAAIyhG,gBACzB,mBAAoBzhG,EAAI0hG,iBAAmB1hG,EAAI2hG,QAC/C,kBAAmB3hG,EAAI4hG,OACtB,CAAE5hG,EAAW,QAAEI,EAAG,MAAM,CAAC45F,MAAM,CAAE,oBAAqBh6F,EAAIuhG,aAAevhG,EAAIwhG,iBAAkB,CAACphG,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,IAAI,aAAaN,EAAIuhG,YAAcvhG,EAAIwhG,eAAe,oBAAoBxhG,EAAIuhG,aAAevhG,EAAIwhG,mBAAmB,GAAGxhG,EAAIwgG,GAAG,SAAS,GAAGpgG,EAAG,iBAAiB,CAAC45F,MAAM,CAAE,kBAAmBh6F,EAAI4hG,OAAQ,CAAC5hG,EAAIwgG,GAAG,YAAY,GAAGxgG,EAAIwgG,GAAG,YAAY,IAAI,IACrX,GAAkB,GCmFPn3B,UAAIkyB,OAAO,CACxBr6D,WAAY,CACV2gE,YAEFrG,MAAO,CACL2F,OAAQ1F,QACR9xD,MAAO0zD,OACPsE,QAASlG,QACT8F,WAAY9F,QACZ+F,eAAgB/F,QAChBgG,gBAAiBhG,QACjBiG,eAAgBjG,QAChB/sE,MAAO,CAACuwD,OAAQoe,QAChBtE,cAAe0C,QACfzC,QAASyC,QACTmG,KAAMnG,WC1G+Z,M,mDCQra,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAYhC,KAAkB,GAAW,CAACW,QAAA,KAAK0F,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUC,WAAA,QAAWC,WAAA,KAAQ7F,SAAA,KAAMoC,WAAA,OCmB1Ep1B,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVihE,eAEF3G,MAAO,CACLl6F,oBAAqB1E,QAEvBwlG,MAAO,CACL9gG,oBAAqB,CACnB+gG,QAAO,SAACC,GACNriG,KAAKX,MACLW,KAAKsiG,WAAWD,MAItBvpE,QAAS,CACPwpE,WAAU,SAAC9jG,GAAsB,WAC/BwB,KAAKqhG,oBAAqB,EAC1BrhG,KAAKiC,QAAQi/F,YAAsBtgG,IAAbpC,EAAE0iG,QAAuB1iG,EAAE0iG,OACjDlhG,KAAKiC,QAAQwsB,WAAoB7tB,IAAZpC,EAAEiwB,MAAsBjwB,EAAEiwB,MAAQ,IACvDzuB,KAAKiC,QAAQ62F,cAAgBt6F,EAAEs6F,cAC/B94F,KAAKiC,QAAQk/F,oBAAsB3iG,EAAE2iG,oBACjC,WACE,EAAKoB,yBAAyB/jG,EAAE2iG,sBAElCnhG,KAAKwiG,YACTxiG,KAAKiC,QAAQ82F,QAAUv6F,EAAEu6F,QACzB/4F,KAAKiC,QAAQynC,MAAQlrC,EAAEkrC,MACvB1pC,KAAKiC,QAAQo2B,KAAO75B,EAAE65B,KAEtBr4B,KAAKiC,QAAQ+2F,cACIp4F,IAAfpC,EAAEw6F,SAAyBx6F,EAAEw6F,SAAWh5F,KAAK+6F,GAAG,YAAYxrE,WAC9DvvB,KAAKiC,QAAQs3F,cACI34F,IAAfpC,EAAE+6F,SAAyB/6F,EAAE+6F,SAAWv5F,KAAK+6F,GAAG,UAAUxrE,WAC5DvvB,KAAKiC,QAAQq3F,UAAY96F,EAAE86F,UAC3Bt5F,KAAKiC,QAAQu3F,UAAYh7F,EAAEg7F,UAC3Bx5F,KAAKiC,QAAQgqF,aAAe,WAC1B,EAAKsW,yBAAyB/jG,EAAEytF,eAElCjsF,KAAKiC,QAAQw3F,aAAej7F,EAAEi7F,aAC1B,WACE,EAAK8I,yBAAyB/jG,EAAEi7F,oBAElC74F,GAEN2hG,yBAAwB,SAAC7J,GAAkB,WACzC14F,KAAKqhG,oBAAqB,EAC1B,IAAIoB,EAAkB/J,SACE93F,IAApB6hG,EACFA,EAAgBh/F,MAAK,WACnB,EAAK++F,iBAGPxiG,KAAKwiG,eAGTA,YAAW,WACTxiG,KAAKiC,QAAQi/F,QAAS,IAG1BhlG,KAAM,iBAIA,CACJmlG,oBAAoB,EACpBp/F,QAAS,CACPi/F,QAAQ,EACRjV,aAAc,aACdkV,oBAAqB,cAEvB9hG,IAAK,MCzHka,MCQva,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC88F,QAAA,KAAKqC,WAAA,OCzBnC,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,oBAAoBZ,EAAIo6F,GAAIp6F,EAAiB,eAAE,SAASR,EAAE66F,GAAO,OAAOj6F,EAAG,aAAa,CAACd,IAAIE,EAAEovB,GAAG+zE,MAAQ,mBAAsB3iG,EAAI4iG,QAAQvI,GAAU,MAAQ/5F,MAAM,CAAC,OAAQ,EAAK,QAAUd,EAAEqjG,QAAQ,OAAS,GAAG,SAAW,GAAG,MAAQrjG,EAAE85B,OAAO54B,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI8iG,MAAMtjG,EAAEovB,MAAM0rE,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,SAASk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI8iG,MAAMtjG,EAAEovB,OAAO,CAACxuB,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,kBAAkB,KAAKmH,OAAM,IAAO,MAAK,IAAO,CAACjhG,EAAG,MAAM,CAACQ,YAAY,8CAA8Co5F,MAAM,CAAE+I,UAAWvjG,EAAEs6F,SAAUp5F,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIgjG,MAAMxjG,MAAM,CAACY,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAG36F,EAAEkiF,MAAM,QAAQ,GAAGthF,EAAG,QAAQ,CAACQ,YAAY,kDAAkDN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAG36F,EAAEywB,YAAY,IAAI,QAAO,IACvjC,GAAkB,GC8DPo5C,UAAIkyB,OAAO,CACxBG,SAAU,CACRlU,cAAa,WACX,OAAOvnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKO,iBAGpCzuD,QAAS,CACP+pE,MAAK,SAACl0E,GACJ3uB,KAAK67F,OAAOlQ,OAAO1D,GAAUgB,mBAAoBt6D,IAEnDo0E,MAAK,SAAC70E,GACAA,EAAa2rE,UACf75F,KAAKogG,QAAQpjG,KAAKkxB,EAAa2rE,SAC/B75F,KAAK6iG,MAAM30E,EAAaS,MAG5Bg0E,QAAO,SAACvI,GACN,OAAO,GAAK,GAAKA,MChFiZ,M,yBCQpa,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC+B,QAAA,KAAKqE,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,KAAKsC,aAAA,OC5BnD,IAAI,GAAS,WAAa,IAAIjjG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,qBAAqB,CAAEJ,EAAQ,KAAEI,EAAG,UAAU,CAACQ,YAAY,qDAAqDo5F,MAAM,CAAE,aAAch6F,EAAI6C,OAAQvC,MAAM,CAAC,MAAQN,EAAI6C,MAAQ,UAAY,YAAY,MAAQ,KAAK,CAACzC,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,4DAA4DN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQN,EAAI6C,MAAQ,QAAU,kBAAkB,CAAC7C,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAI6C,MAAQ,oBAAsB,uBAAuB,GAAGzC,EAAG,QAAQ,CAACQ,YAAY,cAAc,CAACR,EAAG,OAAO,CAACQ,YAAY,mBAAmB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAImB,cAAmC,OAApBnB,EAAIisC,YAAsB7rC,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,SAAS,CAACN,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIkjG,WAAW,OAAOljG,EAAIyB,KAAMzB,EAAY,SAAEI,EAAG,QAAQ,CAACQ,YAAY,aAAaN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,QAAQ,MAAQ,GAAG,KAAO,GAAG,KAAO,IAAII,GAAG,CAAC,MAAQV,EAAImjG,OAAO,CAAC/iG,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,gBAAgB,IAAI,GAAGl6F,EAAIyB,MAAM,IAAI,GAAGzB,EAAIyB,MAAM,IACrkC,GAAkB,GCwCP4nE,UAAIkyB,OAAO,CACxBC,MAAO,CACLt6F,KAAMu6F,QACNt6F,QAASk8F,OACTpxD,YAAagzC,OACb79E,SAAUq6F,QACV54F,MAAO44F,SAET2G,MAAO,CACLn2D,YAAa,CACXo2D,QAAO,WACL,QAAyBxhG,IAArBZ,KAAKgsC,YAAT,CAGA,IAAM2wC,EAAQwmB,KAAKC,MAAMpjG,KAAKgsC,YAAc,MACtCge,EAAUm5C,KAAKC,OAAOpjG,KAAKgsC,YAAsB,KAAR2wC,GAAgB,IACzDn0B,EAAUxoD,KAAKgsC,YAAsB,KAAR2wC,EAAyB,GAAV3yB,EAClDhqD,KAAKijG,UAAY,GAAH,OAAMtmB,EAAK,YAAI3yB,EAAU,GAAK,IAAM,IAAE,OAAGA,EAAO,YAC5DxB,EAAU,GAAK,IAAM,IACvB,OAAGA,KAEL66C,WAAW,IAGfvqE,QAAS,CACPoqE,KAAI,WACFljG,KAAK49F,MAAM,UAGf1hG,KAAM,iBAA0C,CAC9C+mG,eAAWriG,MCvEqZ,M,0BCOha,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC0iG,UAAA,KAAOnH,QAAA,KAAKqE,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,KAAK6C,iBAAA,UC5B1D,IAAI,GAAS,WAAa,IAAIxjG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,UAAU,IAAM,GAAG,QAAU,GAAG,MAAQ,KAAK,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,yCAAyCN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,SAASI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI89F,KAAK99F,EAAIyjG,cAAc,CAACzjG,EAAIk6F,GAAG,eAAe,GAAG95F,EAAG,QAAQ,CAACQ,YAAY,yCAAyCN,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAa,UAAEI,EAAG,YAAY,CAACQ,YAAY,mBAAmBN,MAAM,CAAC,SAAW,MAAMN,EAAIyB,MAAM,GAAGrB,EAAG,QAAQ,CAACQ,YAAY,2CAA2CN,MAAM,CAAC,KAAO,SAAS,CAACN,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIqsB,WAAW,OAAOjsB,EAAG,QAAQ,CAACQ,YAAY,yCAAyCN,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAa,UAAEI,EAAG,YAAY,CAACQ,YAAY,mBAAmBN,MAAM,CAAC,SAAW,MAAMN,EAAIyB,MAAM,GAAGrB,EAAG,QAAQ,CAACQ,YAAY,yCAAyCN,MAAM,CAAC,KAAO,SAAS,CAAEN,EAAa,UAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,GAAG,MAAQ,SAASI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,0BAA0B,CAAC95F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,YAAY,OAAOh7F,EAAIyB,MAAM,IAAI,IAAI,IACrvC,GAAkB,GCwCP4nE,UAAIkyB,OAAO,CACxBG,SAAU,CACRrvE,UAAS,WACP,OAAOpsB,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU76D,WAE5Co3E,UAAS,WACP,MAAO,0BAGX1qE,QAAS,CACP+gE,QAAO,SAACvT,GACNtmF,KAAKogG,QAAQpjG,KAAKspF,IAEpBuX,KAAI,SAACvX,GACH1mF,OAAOi+F,KAAKvX,EAAM,cCvDiY,M,yBCQrZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAAC6V,QAAA,KAAKqE,QAAA,KAAKlC,YAAA,KAASmF,WAAA,KAAQ/C,QAAA,OC5BzD,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAC/F,GAAkB,G,gDCWPipE,UAAIkyB,OAAO,CACxB6G,MAAO,CACL3a,OAAQ,CACN4a,QAAO,WACL,GAA2B,IAAvBpiG,KAAKwnF,OAAO9qF,OAAhB,CAGA,IAAMyvF,EAAQnsF,KAAKwnF,OAAO,GAC1BxnF,KAAK67F,OAAOlQ,OAAO1D,GAAUkB,UAC7B,IAAMua,EAAQ,IAAIC,MAAM3jG,KAAKmsF,MAAMA,IACnCuX,EAAME,SAERC,MAAM,IAGVpI,SAAU,CACRjU,OAAM,WACJ,OAAOxnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKQ,UAGpC1uD,QAAS,CACPqzD,MAAK,SAACA,GACJ,OAAQA,GACN,KAAK5M,GAAMukB,cACT,OAAOC,KACT,KAAKxkB,GAAMykB,UACT,OAAOC,KACT,QACE,OAAO96B,GAAagjB,QCxCsY,MCOha,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,M,mZCgCf,kmGAAA3vF,GAAA,wBAAAA,EAAA,sBAAAA,GAAA,iBAAAA,GAAA,ssDAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,4bAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,yhBAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,qGAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,skBAqCe4sE,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVijE,WACAC,oBACAvC,WACAwC,aACAC,gBACAC,aACAC,SACAC,gBACAjlB,UAEF4iB,MAAO,CACL7hG,SAAU,CACR8hG,QAAO,sBACDpiG,KAAKM,UACP,IAAIuC,EAAY,IAAIhB,EAAiB7B,KAAK67F,SACvCpc,UACAh8E,MAAK,SAAAg8E,GACJvV,GAAKC,OAASsV,EAAQ/6E,QAAQ6qB,WAC9B,EAAKk1E,gBAAkBx1C,GAAM0rB,UAC7B,EAAK+pB,UAAUjlB,GAASh8E,MAAK,WAC3B,EAAKkhG,oBACL,EAAKC,uBACL,EAAKC,8BAGRjhG,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAIrDygG,WAAW,GAEb17F,UAAW,CACTy6F,QAAO,SAACz6F,GACFA,IAAchG,EAAU+uE,aAC1B1wE,KAAKogG,QAAQpjG,KAAK,sBAGtBqmG,WAAW,GAEblc,eAAc,SAACkN,GACTA,GACF4E,GAAY,CACVH,eAAe,EACfpvD,MAAO1qC,GAAE,cACTq5B,KAAMr5B,GAAE,wBACRg6F,SAAUh6F,GAAE,UACZs6F,UAAW,UACXrN,aAAc,WACZhpD,SAAS84D,aAKjB1U,aAAY,WACV,IAAIyd,EACF71C,GAAMtF,IAAI78B,GAASuiC,kBAAkBmuB,YACrCx9E,KAAKykG,gBAAgBjnB,YACnBsnB,EAAwB,IAC1B9kG,KAAK2kG,oBAEP,IAAII,EACF91C,GAAMtF,IAAI78B,GAASuiC,kBAAkBmuB,YACrCx9E,KAAKglG,2BAA2BxnB,YAC9BunB,EAAmC,KACrC/kG,KAAKilG,4BAIXxJ,SAAU,CACRpU,aAAY,WACV,OAAOrnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKK,eAElC/mF,SAAQ,WACN,OAAON,KAAK67F,OAAO15F,QAAQ6kF,GAAK1mF,WAElC6mF,eAAc,WACZ,OAAOnnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKG,iBAElC78E,UAAS,WACP,OAAOtK,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU38E,WAE5C/I,gBAAe,WACb,YAAuBX,IAAnBZ,KAAKsK,UACA,oBAEA5I,EAAU1B,KAAKsK,YAG1B3C,UAAS,WACP,OAAO3H,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAUt/E,WAE5CtG,oBAAmB,WACjB,OAAOrB,KAAK67F,OAAO15F,QAAQ6kF,GAAK3lF,sBAElCb,oBAAmB,WACjB,YAA4BI,IAArBZ,KAAKihG,OAAOiE,MAAsBllG,KAAKihG,OAAOiE,KAAKC,iBAE5D7jG,oBAAmB,WACjB,IAAItB,KAAKQ,oBAGT,OAAOc,GACLtB,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UACzBjnF,KAAKihG,OAAOmE,WAGhBpkG,YAAW,WACT,OAAOhB,KAAK67F,OAAO15F,QAAQ6kF,GAAKhmF,cAElCH,UAAW,CACTlC,IAAG,WACD,OAAOqB,KAAK67F,OAAO15F,QAAQ6kF,GAAKnmF,YAElC+7E,IAAG,SAAC79E,GACFiB,KAAK67F,OAAOlQ,OAAO1D,GAAUK,aAAcvpF,KAG/C+B,iBAAgB,WACd,IAAKd,KAAKa,UACR,MAAO,GAET,IAAIK,EAAUlB,KAAKa,UAAWK,QAASgpE,GAAKC,QAI5C,OAHKjpE,IACHA,EAAUlB,KAAKa,UAAWK,QAAS,MAE9BA,GAETH,qBAAoB,WAClB,GAAKf,KAAKa,UAGV,OAAOb,KAAKa,UAAUmrC,aAExB1b,OAAM,WACJ,OAAOi7D,GAAK3F,kBAEdyf,gBAAe,WACb,OAAOrlG,KAAK67F,OAAO15F,QAAQ6kF,GAAKa,UAC9Bp7D,GAAsBojE,YACtB,IAGJyV,YAAW,WACT,YACqB1kG,IAAnBZ,KAAK2H,WACL,CAAChG,EAAUivE,KAAMjvE,EAAUkvE,MAAOlvE,EAAUmvE,YAAY7F,SACtDjrE,KAAK2H,aAKbmxB,QAAS,CACPp4B,QAAO,WACLV,KAAK67F,OAAOnQ,SAAS3B,GAAQU,aAAc7qF,OAAOqjC,SAAS8gD,WAE7D3iF,gBAAe,WACbpB,KAAK67F,OAAOlQ,OAAO1D,GAAUM,eAAgB,CAAEtnF,MAAM,KAEvDskG,sBAAqB,WACnBvlG,KAAK67F,OAAOlQ,OAAO1D,GAAUO,cAAe,CAC1C/5D,MAAO7uB,OAAO4lG,WACd92E,OAAQ9uB,OAAO6lG,eAGnBR,wBAAuB,sBACrB,GAAIjlG,KAAKM,SAAU,CACjB,IAAMolG,EAAe1lG,KAAK67F,OAAO15F,QAAQ6kF,GAAKtgF,YAAY+nB,MACpDk3E,EAAgB3lG,KAAK67F,OAAO15F,QAAQ6kF,GAAKtgF,YAAYgoB,OACvDg3E,EAAe,KAAOC,EAAgB,MACxC3lG,KAAKglG,2BAA6B/1C,GAAMtF,IACtC78B,GAASuiC,kBAEX,IAAIxsD,EAAY,IAAIhB,EAAiB7B,KAAK67F,SACvC+J,uBACC,IAAIp3E,GAA0B,CAC5BC,MAAOi3E,EACPh3E,OAAQi3E,KAGX/hG,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,SAKvD+hG,kBAAiB,sBACf3kG,KAAKykG,gBAAkBx1C,GAAMtF,IAAI78B,GAASuiC,kBACtCrvD,KAAKM,UACP,IAAI4U,GAAiB,IAAIrT,EAAiB7B,KAAK67F,SAC5CgK,eACApiG,MAAK,SAAAuoF,GACJ,EAAKnrF,UAAYmrF,EAAInrF,UAEnB,EAAKilG,gBACJ,EAAKA,cAAcC,OAClB/Z,EAAIlgD,wCAGN,EAAK+vD,OAAOlQ,OAAO1D,GAAUI,0BAA0B,GAEzD,EAAKyd,cAAgB9Z,EAAIlgD,yCAE1BloC,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAIrDiiG,sBAAqB,sBACf7kG,KAAKsK,YAAc5I,EAAU0pE,UAAYprE,KAAKslG,YAChD,IAAI1+E,GAAsB,IAAI/kB,EAAiB7B,KAAK67F,SACjDmK,cACAviG,MAAK,SAAAuoF,GACJ,EAAK6P,OAAOlQ,OAAO1D,GAAUE,oBAAqB6D,MAEnDpoF,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,MAExC5C,KAAKsK,YAAc5I,EAAUypE,QACtCnrE,KAAK67F,OAAOlQ,OAAO1D,GAAUE,oBAAqB,IAGhDuc,UAAS,SAACjlB,GAAmB,yIAC1B,EAAKoc,OACTnQ,SAAS3B,GAAQgB,aAAc,CAC9BzgF,UAAWm1E,EAAQn1E,UACnBuwE,KAAM4E,EAAQnzD,SACdqmE,MAAOlT,EAAQzzD,qBAEhBvoB,MAAK,WACJ,OAAO,EAAKo4F,OAAOnQ,SAAS3B,GAAQmB,cAAe,CACjD5gF,UAAWm1E,EAAQn1E,UACnBqoF,MAAOlT,EAAQvzD,yBAGlBzoB,MAAK,WACJ,EAAKo4F,OAAOlQ,OACV1D,GAAUC,YACV1I,GAAuBC,OAG1Bh8E,MAAK,WACJ,EAAKlD,KAAO0lG,GAAW,EAAKpK,OAAO15F,QAAQ6kF,GAAKC,eAChD,0CArB6B,IAuBnC2d,qBAAoB,sBAClB,IACE,GAAIrZ,GAAK3F,iBACP,OAEF,GACE,iEAAiEka,KAC/DoG,UAAUC,WAEZ,CACA,IAAMC,EAAMpmG,KAAKqlG,gBAAgB/kB,gBAG/B8lB,EAAI1pG,OAAS,GACb0pG,EAAItY,OAAM,SAAAzvF,GAAC,OACTA,EAAEgoG,SACAp3C,GAAMtF,IAAI78B,GAASuiC,kBAAkBqjC,SACR,EAA3ByQ,KAAKmD,IAAI,EAAGF,EAAI1pG,eAKtBu8F,GAAY,CACVvvD,MAAO,UAAF,OAAY1qC,GAAE,WACnByvB,MAAO,IACP4J,KAAMr5B,GAAE,4BACRg6F,SAAU,UAAF,OAAYh6F,GAAE,WACtBs6F,UAAW,UACXrN,aAAc,WAEZ,OADA,EAAKoZ,gBAAgB/kB,eAAe5jF,OAAS,EACtC,EAAKm/F,OACTnQ,SAAS3B,GAAQiB,aAAc,CAC9BrlF,KAAM8mB,GAAsBojE,YAC5BnjE,UAAW,IAEZjpB,MAAK,WACJ,EAAK28F,QAAQpjG,KAAK,eAGxBmkG,oBAAqB,WAInB,OAHA,EAAKkE,gBAAgB/kB,eAAetjF,KAClCiyD,GAAMtF,IAAI78B,GAASuiC,mBAEd,EAAKwsC,OAAOnQ,SAAS3B,GAAQiB,aAAc,CAChDrlF,KAAM8mB,GAAsBojE,YAC5BnjE,UAAW,QAMrB,MAAOyoE,GACPxyF,QAAQC,MAAM,4BAA6BuyF,MAIjD6G,QAAO,WACLh8F,KAAK88F,WAAU,sBACb98F,KAAKulG,wBACJ3lG,OAAe2mG,eAAeC,iBAC7B,SACAxmG,KAAKulG,uBAEP7Q,SAAS8R,iBAAiB,oBAAoB,WAC5C,EAAK3K,OAAOlQ,OAAO1D,GAAUQ,YAAaiM,SAASz9D,WAErDy9D,SAAS8R,iBAAiB,aAAa,WACrC,EAAK3K,OAAOlQ,OAAO1D,GAAUS,yBAE/BgM,SAAS8R,iBAAiB,cAAc,WACtC,EAAK3K,OAAOlQ,OAAO1D,GAAUS,yBAE/B9oF,OAAO4mG,iBAAiB,gBAAgB,SAAArR,GAClC,EAAK0G,OAAO15F,QAAQ6kF,GAAKS,kBAC3B0N,EAAEsR,iBACFtR,EAAEuR,YAAc,OAGpB1J,aAAY,gBAEWp8F,IAAnB,EAAKC,WAC0B,OAA/B,EAAKA,UAAUmrC,aACf,EAAKnrC,UAAUmrC,YAAe,GAE9B,EAAKnrC,UAAUmrC,gBAEhB,KACHgxD,aAAY,WACV,EAAKnB,OAAOlQ,OAAO1D,GAAUwB,aAC5B,SAGPvtF,KAAI,WAMF,MAAO,CACLqE,KAAM,GACNkkG,gBAAiBx1C,GAAMtF,IAAI78B,GAASuiC,kBACpC21C,2BAA4B/1C,GAAM0rB,UAClCmrB,mBAAellG,MCpbuV,M,sCCQxW,GAAY,gBACd,GACA,EACAa,GACA,EACA,KACA,WACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAACklG,QAAA,KAAKC,SAAA,O,iBCzB/B,GAAS,WAAa,IAAI7mG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAOI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,QAAQ,CAAC95F,EAAIk6F,GAAG,iCAAiC,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACQ,YAAY,oBAAoB,CAACZ,EAAIk6F,GAAG,sDAAsD95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIyC,WAAW,IAC/iB,GAAkB,GCoBP4mE,UAAIkyB,OAAO,CACxBG,SAAU,CACRj5F,IAAG,WACD,OAAO5C,OAAOqjC,SAAS4jE,OAG3B/tE,QAAS,CACP+gE,QAAO,SAACvT,GACNtmF,KAAKogG,QAAQpjG,KAAKspF,OC7BiY,MCOrZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACma,cAAA,KAAWrE,SAAA,KAAMsE,QAAA,OCzB/C,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAOI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,QAAQ,CAAC95F,EAAIk6F,GAAG,iCAAiC,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACQ,YAAY,oBAAoB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAImB,cAAcf,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACQ,YAAY,+DAA+DF,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ,QAAQ,CAAC95F,EAAIk6F,GAAG,2BAA2B,IAC3pB,GAAkB,GCuBP7wB,UAAIkyB,OAAO,CACxB6G,MAAO,CACL2E,UAAW,CACT1E,QAAO,WACDpiG,KAAK8mG,YACP9mG,KAAKkB,QAAUk8F,OAAOp9F,KAAK8mG,WAC3B9mG,KAAKogG,QAAQpjG,KAAKgD,KAAKihG,OAAO3a,QAGlC+c,WAAW,IAGf5H,SAAU,CACRqL,UAAS,WACP,OAAO9mG,KAAKihG,OAAOhC,MAAM/9F,UAG7B43B,QAAS,CACP+gE,QAAO,SAACvT,GACNtmF,KAAKogG,QAAQpjG,KAAKspF,KAGtBpqF,KAAM,iBAA4B,CAChCgF,QAAS,wBC/CyY,MCOlZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACu/F,cAAA,KAAWrE,SAAA,KAAMsE,QAAA,OCzB/C,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,KAAK,GAAK,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,UAAU,QAAU,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,OAAOk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,MAAM,CAACQ,YAAY,iBAAiB,CAACR,EAAG,IAAI,CAACJ,EAAIk6F,GAAG,+HAA+H95F,EAAG,KAAK,CAACA,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,mBAAmB95F,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,oBAAoB95F,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,uBAAuB95F,EAAG,QAAQ,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,GAAG,MAAQ,WAAW,GAAK,MAAM,CAACN,EAAIk6F,GAAG,uBAAuB,IAAI,IAAI,KAAKmH,OAAM,QAAW,GAAGjhG,EAAG,aAAa,IAAI,IAC9xB,GAAkB,GCDlB,GAAS,WAAa,IAAIJ,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,UAAY,IAAI,MAAQN,EAAI0uB,QAAQ,CAACtuB,EAAG,eAAe,CAACQ,YAAY,mCAAmCo5F,MAAMh6F,EAAIg5F,QAAU,oBAAsB,aAAa,CAACh5F,EAAIwgG,GAAG,YAAaxgG,EAAS,MAAEI,EAAG,MAAM,CAACQ,YAAY,mGAAmG,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI2pC,OAAO,OAAO3pC,EAAIyB,KAAKzB,EAAIwgG,GAAG,aAAapgG,EAAG,YAAYJ,EAAIwgG,GAAG,cAAexgG,EAAe,YAAEI,EAAG,QAAQ,CAACQ,YAAY,qBAAqBo5F,MAAM,CAAE,uBAAwBh6F,EAAIgnG,WAAYtmG,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,cAAc,CAACz9F,EAAG,SAAS,CAAC45F,MAAM,CAAEiN,KAAMjnG,EAAI2hG,SAAUrhG,MAAM,CAAC,KAAO,KAAK,MAAQ,cAAc,CAACN,EAAIk6F,GAAG,oBAAoB,GAAGl6F,EAAIyB,KAAMzB,EAAa,UAAEI,EAAG,QAAQ,CAACQ,YAAY,sBAAsBF,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,qBAAqB,CAACz9F,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,KAAO,KAAK,CAACN,EAAIk6F,GAAG,eAAel6F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,mBAAmB,MAAM,GAAGh7F,EAAIyB,KAAMzB,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,YAAY,CAACz9F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIk6F,GAAG,kBAAkB,GAAGl6F,EAAIyB,MAAM,GAAGrB,EAAG,cAAc,CAACQ,YAAY,oBAAoBo5F,MAAM,CAC/xC,mBAAoBh6F,EAAI0hG,eACxB,oBAAqB1hG,EAAIknG,eACxB,CAAClnG,EAAIwgG,GAAG,SAAS,GAAGpgG,EAAG,iBAAiB,CAACJ,EAAIwgG,GAAG,YAAY,IAAI,IACnE,GAAkB,GCqEPn3B,UAAIkyB,OAAO,CACxBC,MAAO,CACL7xD,MAAO0zD,OACP2J,UAAWvL,QACXr6F,SAAUq6F,QACV0L,YAAa1L,QACbkG,QAASlG,QACTiG,eAAgBjG,QAChByL,aAAczL,QACdzC,QAASyC,QACT/sE,MAAOuwD,UCnF8Z,MCQra,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACmd,QAAA,KAAK0F,SAAA,KAAMC,aAAA,QAAaC,UAAA,QAAUC,WAAA,QAAW5F,SAAA,KAAMoC,WAAA,OCmBlEp1B,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVkmE,iBCnDqa,MCQra,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAShC,KAAkB,GAAW,CAAChL,QAAA,KAAKqE,QAAA,KAAKC,cAAA,KAAWC,QAAA,KAAKlC,WAAA,OC5BxD,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,cAAc,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,QAAQ,CAACN,EAAIk6F,GAAG,iCAAiC,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,oEAAoE95F,EAAG,QAAQ,CAACE,MAAM,CAAC,QAAU,SAAS,MAAQ,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIk6F,GAAG,oFAAoF,IACniB,GAAkB,GCuBP7wB,UAAIkyB,OAAO,ICxBkY,MCOxZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACmF,cAAA,KAAWrE,SAAA,KAAMsE,QAAA,OCzB/C,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACQ,YAAY,WAAW,CAACR,EAAG,eAAe,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,gBAAgB,OAAO56F,EAAG,SAAS,CAACq6F,IAAI,OAAO75F,YAAY,gBAAgBymG,MAAM,CAACroG,MAAOgB,EAAS,MAAE24F,SAAS,SAAU2O,GAAMtnG,EAAIk7C,MAAMosD,GAAKC,WAAW,UAAU,CAACnnG,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,iBAAiBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,qBAAqB56F,EAAG,QAAQ,CAACQ,YAAY,qCAAqCN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,eAAe,MAAQ,CAAC,SAAU3F,GAAK,QAASA,KAAOgS,MAAM,CAACroG,MAAOgB,EAAIoG,QAAmB,YAAEuyF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoG,QAAS,cAAekhG,IAAMC,WAAW,0BAA0B,GAAGnnG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,aAAa,MAAMI,GAAG,CAAC,MAAQV,EAAIynG,kBAAkB,CAACrnG,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACN,EAAIk6F,GAAG,uBAAuB,IAAI,GAAG95F,EAAG,QAAQ,CAACQ,YAAY,mBAAmBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,mBAAmB,MAAQ,CAAC,SAAU3F,GAAK,QAASA,KAAOgS,MAAM,CAACroG,MAAOgB,EAAIoG,QAAqB,cAAEuyF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoG,QAAS,gBAAiBkhG,IAAMC,WAAW,4BAA4B,GAAGnnG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,aAAa,MAAMI,GAAG,CAAC,MAAQV,EAAI0nG,gBAAgB,CAACtnG,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACN,EAAIk6F,GAAG,uBAAuB,IAAI,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,cAAc,GAAGA,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,uBAAuB,SAAS56F,EAAG,QAAQ,CAACQ,YAAY,mBAAmBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,cAAcqM,MAAM,CAACroG,MAAOgB,EAAIoG,QAAiB,UAAEuyF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoG,QAAS,YAAakhG,IAAMC,WAAW,wBAAwB,GAAGnnG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,aAAa,MAAMI,GAAG,CAAC,MAAQV,EAAI2nG,cAAc,CAACvnG,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,UAAU,CAACN,EAAIk6F,GAAG,uBAAuB,IAAI,GAAIl6F,EAAI4nG,aAAe5nG,EAAI6nG,eAAiB7nG,EAAI8nG,gBAAiB1nG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAAC2nG,YAAY,CAAC,YAAY,OAAO,OAAS,kBAAkBznG,MAAM,CAAC,GAAK,aAAaN,EAAIyB,KAAMzB,EAAY,SAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAAC2nG,YAAY,CAAC,iBAAiB,QAAQznG,MAAM,CAAC,MAAQ,QAAQ,CAACN,EAAIk6F,GAAG,oBAAoB95F,EAAG,OAAO,CAACQ,YAAY,iBAAiB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAIgoG,iBAAiB,GAAGhoG,EAAIyB,KAAOzB,EAAIioG,SAA4OjoG,EAAIyB,KAAtOrB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,SAAW,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIkoG,aAAY,MAAS,CAAC9nG,EAAG,SAAS,CAACJ,EAAIk6F,GAAG,oBAAoBl6F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,kBAAkB,MAAM,IAAI,IAAa,IAAI,GAAG56F,EAAG,YAAYA,EAAG,iBAAiB,CAACQ,YAAY,gBAAgBmnG,YAAY,CAAC,kBAAkB,aAAa,CAAC3nG,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,UAAU,UAAY,GAAG,QAAUN,EAAImoG,kBAAkB,UAAYnoG,EAAIk7C,OAAOx6C,GAAG,CAAC,MAAQV,EAAIooG,UAAU,CAAChoG,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,OAAO,CAACN,EAAIk6F,GAAG,uBAAuBl6F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,YAAY,MAAM,IAAI,IAAI,IACzoG,GAAkB,GCDlB,GAAS,WAAa,IAAIh7F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC45F,MAAM,CAAE,gBAAiBh6F,EAAIqoG,UAAW,CAACjoG,EAAG,eAAe,CAAC45F,MAAMh6F,EAAIsoG,SAAW,YAAc,GAAGhoG,MAAM,CAAC,MAAQN,EAAIhB,MAAM,MAAQgB,EAAIuoG,MAAM,YAAcvoG,EAAIwoG,YAAY,UAAYxoG,EAAIgnG,UAAU,SAAWhnG,EAAIyoG,SAAS,cAA4B5nG,IAAjBb,EAAI0oG,SAAyB1oG,EAAI0oG,SAAW,EAAE,MAAQ1oG,EAAI2oG,MAAM,iBAAiB3oG,EAAI08C,aAAa,UAAY18C,EAAI4oG,UAAU,YAAa,EAAM,SAAW5oG,EAAIsoG,SAAS,UAAYtoG,EAAI6oG,UAAU,QAAU7oG,EAAI2hG,QAAQ,aAAe,MAAM,MAAQ,GAAG,SAAW,IAAIjhG,GAAG,CAAC,OAASV,EAAI8oG,OAAO,MAAQ9oG,EAAI+uD,MAAM,MAAQ,SAAUqmC,GAAK,OAAOp1F,EAAI69F,MAAM,QAASzI,KAAOkF,YAAYt6F,EAAIu6F,GAAG,CAAEv6F,EAAS,MAAE,CAACV,IAAI,QAAQk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAY,SAAEI,EAAG,OAAO,CAACQ,YAAY,WAAWo5F,MAAM,CAAE,YAAah6F,EAAIhB,QAAS,CAACgB,EAAIk6F,GAAG,OAAOl6F,EAAIyB,KAAKzB,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIuoG,OAAO,OAAOlH,OAAM,GAAM,KAAK,CAAC/hG,IAAI,SAASk7F,GAAG,WAAW,MAAO,CAACx6F,EAAIwgG,GAAG,YAAYa,OAAM,IAAO,MAAK,MAAS,IAC3+B,GAAkB,GCDlB0H,GAAU,EAEC,cACb,OAAOA,MCuFM1/B,UAAIkyB,OAAO,CACxBC,MAAO,CACLx8F,MAAOq+F,OACPkL,MAAOlL,OACPmL,YAAanL,OACb2J,UAAWvL,QACXgN,SAAUhN,QACVuN,WAAYvN,QACZiN,SAAUrL,OACVsL,MAAO7iG,MACP42C,aAAc2gD,OACd4L,SAAUxN,QACVmN,UAAWnN,QACX6M,SAAU7M,QACV4M,QAAS5M,QACToN,UAAW5pB,OACX0iB,QAASlG,SAEX1iE,QAAS,CACP+vE,OAAM,SAACzc,GACLpsF,KAAKqiG,SAASjW,GAAK,IAErBt9B,MAAK,SAACs9B,GACJpsF,KAAKqiG,SAASjW,GAAMpsF,KAAK+oG,aAE3B1G,SAAQ,SAACjW,EAAoB6c,GACtB7c,IACHA,EAAM,MAEJ6c,EACFjpG,KAAKkpG,UAAU9c,GAEfpsF,KAAKmpG,sBAAsB/c,IAG/B8c,UAAS,SAAC9c,GACRpsF,KAAK49F,MAAM,QAASxR,IAEtB+c,sBAAqB,SAAC/c,GAAkB,WAChCgd,EAASC,KACfrpG,KAAKspG,aAAeF,EACpBrd,YAAW,WACL,EAAKud,eAAiBF,GACxB,EAAKF,UAAU9c,KAEhB,OAGPlwF,KAAM,iBAAiC,CACrCotG,aAAc,MC3IuZ,M,yBCQra,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACC,cAAA,OCPvB,IAAMC,GAAmB,SAC9Bx5E,EACAyxD,EACAoY,EACAd,GAEA,IAAMx5F,EAAkB,CACtBovB,GAAI06E,KAAa95E,WACjBS,KAAMA,EACNyxD,KAAMA,EACNmhB,QAAS,IACT/I,QAASA,EACTxgE,MAAO0/D,EAAU,UAAY,WAE/Bj3F,GAAM6pF,OAAO1D,GAAUe,gBAAiBzpF,IAG7BkqG,GAAuB,SAClCjlD,EAYAklD,GAEA,IAAI15E,EAAO,GACX,OAAQw0B,GACN,IAAK,SACHx0B,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,mBAC5C,MACF,IAAK,UACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,qBAC5C,MACF,IAAK,cACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,uBAC5C,MACF,IAAK,cACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GACxC,+BAEF,MACF,IAAK,gBACHgxB,EAAOhxB,GAAE,2BACT,MACF,IAAK,QACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,wBAC5C,MACF,IAAK,OACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,mBAC5C,MACF,IAAK,OACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,kBAC5C,MACF,IAAK,SACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,oBAC5C,MACF,IAAK,OACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,kBAC5C,MACF,IAAK,UACHgxB,EAAO,GAAH,OAAMhxB,GAAE,QAAO,YAAI0qG,EAAIt0E,YAAW,YAAIp2B,GAAE,qBAC5C,MACF,QACEmqE,GAAa3kB,GAEjBx0B,GAAQ,KAAO05E,EAAI/vE,UACnB6vE,GACEx5E,EACA,mBAAkB,WACdu7D,GAAK3F,iBAAmB,SAAW,QAAO,mBAC5CzhC,GAAqBuoC,QACvB,iBAASgd,EAAIp7F,OAAM,O,wZCLvB,kmGAAA9R,GAAA,wBAAAA,EAAA,sBAAAA,GAAA,iBAAAA,GAAA,ssDAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,4bAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,yhBAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,qGAAAA,EAAA,yBAAAA,GAAA,IAAAA,EAAA,uBAAAA,GAAA,skBAmBe4sE,cAAIkyB,OAAO,CACxBr6D,WAAY,CACV0oE,eAEFlO,SAAU,CACRsM,YAAW,WACT,OACE/nG,KAAKmG,QAAQo3B,oBACb,MACAv9B,KAAKmG,QAAQq3B,sBAInB1E,QAAS,CACP4uE,YAAW,WACT1nG,KAAK2nG,aAAc,EACnB3nG,KAAK4pG,eAEPnC,cAAa,WACXznG,KAAK4nG,eAAgB,EACrB5nG,KAAK4pG,eAEPpC,gBAAe,WACbxnG,KAAK6nG,iBAAkB,EACvB7nG,KAAK4pG,eAEPA,YAAW,sBACHC,EAAQ,IAAIC,IACZC,EAAU,CACdC,oBAAcC,SACdD,oBAAcE,MACdF,oBAAcG,QAEhBN,EAAMjtB,IAAIwtB,qBAAeC,iBAAkBN,GAE3C,IAAMO,EAAa,IAAIC,+BACvBD,EAAWT,MAAQA,EACnB,IAAIW,EAAW,GACfF,EAAWG,wBAAwBhnG,MAAK,SAAAinG,GACtCF,EAAWE,EAAQ,GAAGF,YAExBF,EACGK,0BAA0BH,EAAU,SACpC/mG,MAAK,SAAAlG,GACA,EAAKoqG,cACP,EAAKxhG,QAAQq4C,UAAYjhD,EAAOqtG,UAChC,EAAKjD,aAAc,GAEjB,EAAKE,kBACP,EAAK1hG,QAAQivB,YAAc73B,EAAOqtG,UAClC,EAAK/C,iBAAkB,GAErB,EAAKD,gBACP,EAAKzhG,QAAQo4C,cAAgBhhD,EAAOqtG,UACpC,EAAKhD,eAAgB,MAGxBhkG,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAGnDulG,QAAO,gBAEkCvnG,IAArCZ,KAAKmG,QAAQq3B,0BACwB58B,IAArCZ,KAAKmG,QAAQo3B,oBAEbv9B,KAAK6qG,YAEL7qG,KAAK8qG,oCAGHC,oBAAmB,oJAChB,EAAKjO,YAAYr5F,MAAK,WAC3B,IAAIunG,EAAY,EAAKC,MAAMD,UACdpqG,IAAToqG,GACFA,EAAKE,YAEP,0CANqB,IAQzBJ,iCAAgC,sBAC9B7R,GAAY,CACVH,eAAe,EACfpvD,MAAO1pC,KAAK+6F,GAAG,uBAAuBxrE,WACtC8I,KAAMr4B,KAAK+6F,GAAG,2BAA2BxrE,WACzCypE,SAAUh5F,KAAK+6F,GAAG,WAAWxrE,WAC7B+pE,UAAW,UACXrN,aAAc,WACZ,EAAK4e,aAEPtR,SAAUv5F,KAAK+6F,GAAG,UAAUxrE,WAC5BiqE,UAAW,QACXC,aAAc,gBAGlBoR,UAAS,sBACP7qG,KAAKkoG,mBAAoB,EACzB,IAAInpF,GAAa,IAAIld,EAAiB7B,KAAK67F,SACxCsM,QAAQnoG,KAAKmG,SACb1C,MAAK,SAAAuoF,GACAA,GACFyd,GAAqB,UAAWzd,GAChC,EAAK7lF,QAAU,IAAIm4C,GACnB,EAAK0pD,UAAW,EAChB,EAAK9yE,WAAY,EACjB,EAAK61E,sBACL,EAAK9C,aAAY,IAEjB/O,GACE,EAAK6B,GAAG,gBAAgBxrE,WACxB,EAAKwrE,GAAG,+BAA+BxrE,YAG3C,EAAK24E,mBAAoB,KAE1BtkG,OAAM,SAAAhB,GACDgxF,GAAIhxF,GACN41F,GAAY51F,GAAO,WACjB,EAAKslG,mBAAoB,KAG3B,EAAKrM,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,MAGnD5C,KAAKk1B,WAAY,GAEnB+yE,YAAW,SAACkD,GAAkB,WAC5BjF,UAAUkF,YAAYC,oBACpB,SAAArD,GACE,EAAK7hG,QAAQo3B,oBAAsByqE,EAASsD,OAAOC,SAASh8E,WAC5D,EAAKppB,QAAQq3B,oBAAsBwqE,EAASsD,OAAOE,UAAUj8E,WAC7D,EAAKy4E,UAAW,KAElB,WACMmD,GACFjS,GACE,EAAK6B,GAAG,mBAAmBxrE,WAC3B,EAAKwrE,GAAG,oBAAoBxrE,iBAOxCysE,QAAO,WACLh8F,KAAKioG,aAAY,GACbjoG,KAAKihG,OAAOhC,MAAMwM,KACpBzrG,KAAKmG,QAAQivB,YAAcp1B,KAAKihG,OAAOhC,MAAMwM,KAGjDvvG,KAAM,iBAUA,CACJ++C,OAAO,EACPymD,SAAS,EACTwG,mBAAmB,EACnBP,aAAa,EACbE,iBAAiB,EACjBD,eAAe,EACfI,UAAU,EACV7hG,QAAS,IAAIm4C,GACbppB,WAAW,MCrR2Y,M,aCOtZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAchC,KAAkB,GAAW,CAACinE,QAAA,KAAK0F,SAAA,KAAMC,aAAA,QAAaE,WAAA,QAAWxB,QAAA,KAAKlC,YAAA,KAASoN,SAAA,KAAMtP,SAAA,KAAMsE,QAAA,KAAKlC,WAAA,OChChG,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAI2pC,MAAM,SAAW3pC,EAAI4rG,SAAStR,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,OAAOk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAW,QAAEI,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,iBAAiB,MAAQh7F,EAAI4rG,QAAQltD,cAAc,UAAY,OAAO,GAAGt+C,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,mBAAmB,MAAQh7F,EAAI4rG,QAAQjtD,gBAAgB,UAAY,OAAO,GAAGv+C,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,UAAU,MAAQh7F,EAAI0V,WAAW,GAAGtV,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,YAAY,MAAQh7F,EAAI6rG,aAAa,GAAI7rG,EAAI4rG,QAAkB,WAAExrG,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,qBAAqB,MAAQh7F,EAAI4rG,QAAQnnF,WAAW,UAAY,OAAO,GAAGzkB,EAAIyB,KAAMzB,EAAI4rG,QAAoB,aAAExrG,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,0BAA0B,MAAQh7F,EAAI4rG,QAAQhtD,aAAa,UAAY,OAAO,GAAG5+C,EAAIyB,KAAMzB,EAAI4rG,QAAY,KAAExrG,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,QAAQ,MAAQh7F,EAAI4rG,QAAQ3xE,KAAK,UAAY,OAAO,GAAGj6B,EAAIyB,KAAKrB,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,GAAGN,EAAIyB,OAAO4/F,OAAM,GAAM,CAAC/hG,IAAI,UAAUk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,QAAQ,CAACA,EAAG,YAAaJ,EAAkB,eAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAWI,GAAG,CAAC,MAAQV,EAAIooG,UAAU,CAAChoG,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,OAAO,CAACN,EAAIk6F,GAAG,uBAAuBl6F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,YAAY,MAAM,IAAI,GAAGh7F,EAAIyB,KAAMzB,EAAe,YAAEI,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAWI,GAAG,CAAC,MAAQV,EAAI8rG,OAAO,CAAC1rG,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,OAAO,CAACN,EAAIk6F,GAAG,kBAAkBl6F,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,oBAAoB,MAAM,IAAI,GAAGh7F,EAAIyB,MAAM,KAAK4/F,OAAM,QACvpE,GAAkB,GCDlB,GAAS,WAAa,IAAIrhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,WAAa,mBAAmB,WAAW,GAAG,0BAAyB,EAAM,UAAYN,EAAI+iG,WAAWzI,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GAAK,MAAO,CAACr6F,EAAG,MAAM,CAACQ,YAAY,SAAS,CAACR,EAAG,MAAM,CAACQ,YAAY,2DAA2D,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIuoG,OAAO,OAAOnoG,EAAG,MAAM,CAACQ,YAAY,iBAAiB,CAACR,EAAG,MAAM,CAACQ,YAAY,gDAAgD,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI+rG,cAAc,OAAO3rG,EAAG,MAAM,CAACQ,YAAY,mCAAmC,CAAEZ,EAAI+iG,WAAa/iG,EAAI+rG,aAAc3rG,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,GAAG,MAAQ,KAAK,OAAS,MAAMI,GAAG,CAAC,MAAQ,SAASq5F,GAAQ/5F,EAAIQ,MAAO,KAAQ,CAACJ,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,YAAY,KAAO,OAAO,CAACN,EAAIk6F,GAAG,gCAAgC,GAAGl6F,EAAIyB,KAAKzB,EAAIwgG,GAAG,eAAe,WAAW,MAAK,GAAM6G,MAAM,CAACroG,MAAOgB,EAAQ,KAAE24F,SAAS,SAAU2O,GAAMtnG,EAAIQ,KAAK8mG,GAAKC,WAAW,SAAS,CAACnnG,EAAG,UAAU,CAACQ,YAAY,gCAAgC,CAACR,EAAG,OAAO,CAACQ,YAAY,mBAAmB,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI+rG,cAAc,UAAU,IAC5oC,GAAkB,GCiFP1iC,UAAIkyB,OAAO,CACxBC,MAAO,CACL+M,MAAOlL,OACPr+F,MAAO,CAACq+F,OAAQpe,OAAQwc,QAAS7+F,QACjCmmG,UAAWtH,QACXuQ,qBAAsBvQ,SAExBC,SAAU,CACRqQ,aAAY,WACV,OAAmB,IAAf9rG,KAAKjB,MACAC,GAAE,eAEQ,IAAfgB,KAAKjB,MACAC,GAAE,aAENgB,KAAKjB,MAGNkwD,GAAM6rB,QAAQ96E,KAAKjB,OACjBiB,KAAK+rG,qBACC/rG,KAAKjB,MAAgB48E,YAG5B37E,KAAKjB,MAAgBg9E,qBACtB,IAAG,WACE/7E,KAAKjB,MAAgBo8E,WAAU,KAGjCn7E,KAAKjB,MAAMwwB,gBAblB,IAgBJrzB,KAAM,iBAEA,CAAEqE,MAAM,MCnH2Z,M,yBCQva,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAQhC,KAAkB,GAAW,CAAC47F,QAAA,KAAKC,SAAA,KAAMK,SAAA,KAAMuP,UAAA,OCkDhC5iC,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVkmE,cACA8E,iBAEF9J,MAAO,CACLjjF,cAAe,CACbkjF,QAAO,WACLpiG,KAAKksG,gBAEP7I,WAAW,IAGf5H,SAAU,CACRv8E,cAAa,WACX,IAAMyP,EAAK3uB,KAAKihG,OAAOhC,MAAMtwE,GAC7B,GAAKA,EAGL,OAAO3uB,KAAKihG,OAAOhC,MAAMtwE,IAE3B+a,MAAK,WACH,OAAK1pC,KAAK2rG,QAGH,GAAP,OAAU3sG,GAAE,eAAc,aAAKgB,KAAK2rG,QAAQv2E,aAFnC,IAIX3f,OAAM,WACJ,MAAO,GAAP,OAAUzV,KAAK2rG,QAASp2E,eAAc,cAAMv1B,KAAK2rG,QAAS1xE,cACxDj6B,KAAK2rG,QAASnuD,iBACdx9C,KAAK2rG,QAASn2E,gBAElBo2E,SAAQ,WACN,MAAO,GAAP,OAAU5rG,KAAK2rG,QAASnuD,iBACtBx9C,KAAK2rG,QAAS1xE,cACdj6B,KAAK2rG,QAASp2E,eAAc,cAAMv1B,KAAK2rG,QAASn2E,gBAEpD22E,YAAW,WACT,QAAKnsG,KAAK2rG,UAIR3rG,KAAK2rG,QAAQvsF,aAAekV,GAAWq5C,QACvC3tE,KAAK2rG,QAAQ/sD,kBAGjBwtD,eAAc,WACZ,QAAKpsG,KAAK2rG,SAGH3rG,KAAK2rG,QAAQvsF,aAAekV,GAAWu5C,SAGlD/0C,QAAS,CACPqvE,QAAO,WACLnoG,KAAKogG,QAAQpjG,KAAK,sBAAwBgD,KAAK2rG,QAASv2E,cAE1Dy2E,KAAI,WACF7rG,KAAKogG,QAAQpjG,KAAK,oBAAsBgD,KAAKihG,OAAOhC,MAAMtwE,KAE5Du9E,aAAY,sBACLlsG,KAAKkf,cAIV,IAAIH,GAAa,IAAIld,EAAiB7B,KAAK67F,SACxC8P,QAAQ3rG,KAAKkf,eACbzb,MAAK,SAAAuoF,GACJ,EAAK2f,QAAU3f,KAEhBpoF,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,MAT/C5C,KAAK2rG,aAAU/qG,IAarB1E,KAAM,iBAEA,CACJyvG,aAAS/qG,MC3JwZ,MCOja,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACu7F,QAAA,KAAKqE,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,KAAKlC,WAAA,OC3BnD,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAAEJ,EAAIssG,YAActsG,EAAIusG,WAAYnsG,EAAG,YAAYJ,EAAIyB,KAAMzB,EAAIwsG,UAAYxsG,EAAIysG,WAAYrsG,EAAG,QAAQ,CAACQ,YAAY,kBAAkB,CAACR,EAAG,0BAA0B,GAAGJ,EAAIyB,KAAMzB,EAAIwsG,UAAYxsG,EAAIysG,WAAYrsG,EAAG,QAAQ,CAACQ,YAAY,0CAA0CN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,SAAW,OAAO,GAAGN,EAAIyB,KAAKrB,EAAG,QAAQ,CAACQ,YAAY,iBAAiBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,MAAM,CAACQ,YAAY,aAAa,CAACR,EAAG,kBAAkBA,EAAG,kBAAkB,KAAMJ,EAAIwsG,UAAYxsG,EAAIysG,YAAczsG,EAAIusG,WAAYnsG,EAAG,QAAQ,CAACQ,YAAY,0CAA0CN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,SAAW,OAAO,GAAGN,EAAIyB,KAAMzB,EAAIwsG,UAAYxsG,EAAIysG,WAAYrsG,EAAG,QAAQ,CAACQ,YAAY,kBAAkB,CAACR,EAAG,yBAAyB,GAAGJ,EAAIyB,KAAMzB,EAAc,WAAEI,EAAG,QAAQ,CAACQ,YAAY,kBAAkB,CAACR,EAAG,MAAM,CAACQ,YAAY,aAAa,CAACR,EAAG,yBAAyBA,EAAG,wBAAwB,KAAKJ,EAAIyB,KAAMzB,EAAIssG,YAActsG,EAAIusG,WAAYnsG,EAAG,YAAYJ,EAAIyB,MAAM,IAAI,IACjoC,GAAkB,GCDlB,GAAS,WAAa,IAAIzB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,2CAA2C,GAAG56F,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAW,QAAEI,EAAG,QAAQJ,EAAIo6F,GAAG,GAAI,SAAShrC,GAAG,OAAOhvD,EAAG,QAAQ,CAACd,IAAI8vD,EAAExuD,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,IAAI,OAAS,MAAM,MAAQ,UAAU,MAAK,GAAGF,EAAG,QAAQJ,EAAIo6F,GAAIp6F,EAAS,OAAE,SAASgG,GAAM,OAAO5F,EAAG,QAAQ,CAACd,IAAI0G,EAAKqZ,WAAWze,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,MAAS,MAAK,IAAI,GAAIhG,EAAY,SAAEI,EAAG,QAAQ,CAACQ,YAAY,sCAAsCN,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAW,QAAEI,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,IAAI,OAAS,QAAQF,EAAG,0BAA0B,CAACE,MAAM,CAAC,4BAA8BN,EAAI0sG,4BAA4B,sBAAwB1sG,EAAI2sG,0BAA0B,GAAG3sG,EAAIyB,MAAM,IAC1gC,GAAkB,GCDlB,GAAS,WAAa,IAAIzB,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACQ,YAAY,iCAAiCN,MAAM,CAAC,UAAY,IAAI,MAAQ,MAAM,OAAS,MAAM,MAAQ,iBAAiB,QAAU,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI85F,QAAQ95F,EAAIgG,KAAKqZ,eAAe,CAACjf,EAAG,QAAQ,CAACQ,YAAY,WAAW,CAACR,EAAG,QAAQ,CAACQ,YAAY,yDAAyDN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,gCAAgC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIgG,KAAKg9C,wBAAwB,SAAS5iD,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,yDAAyDN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,iCAAiC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIgG,KAAKgvB,kBAAkB,UAAU,GAAG50B,EAAG,QAAQ,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,wBAAwBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,iCAAiC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIgG,KAAKmlD,WAAW,SAAS/qD,EAAG,aAAa,GAAGA,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,qDAAqDN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,MAAM,CAACQ,YAAY,oBAAoB,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI0tE,eAAe1tE,EAAIgG,KAAKqZ,aAAa,SAASjf,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,kDAAkDN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAON,EAAI4sG,cAAgB,GAAK,KAAK,CAAC5sG,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIiuE,eAAejuE,EAAIgG,KAAKqZ,aAAa,QAAQ,IAAI,IAAI,IACt/C,GAAkB,GCsEPgqD,UAAIkyB,OAAO,CACxBC,MAAO,CACLx1F,KAAMwhB,GACNu7E,UAAWtH,SAEbC,SAAU,CACRkR,cAAa,WACX,OAAO3sG,KAAK+F,KAAKqZ,aAAekV,GAAWo5C,UAG/C50C,QAAS,CACP20C,eAAgBA,GAChBO,eAAgBA,GAChB6rB,QAAO,SAACz6E,GACNpf,KAAKogG,QAAQpjG,KAAK,cAAgBoiB,OCrFwY,MCQ5a,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAShC,KAAkB,GAAW,CAACohF,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,KAAKsL,UAAA,KAAOxN,WAAA,OC5BrD,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,iBAAiBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,MAAQ,UAAU,UAAU,KAAK,CAACN,EAAIk6F,GAAG,iCAAiC95F,EAAG,OAAO,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI0sG,6BAA6B,IAAI1sG,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,oDAAoD,QAAQ,GAAG56F,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,SAAS,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,MAAQ,UAAU,UAAU,KAAK,CAACN,EAAIk6F,GAAG,iCAAiC95F,EAAG,OAAO,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI2sG,uBAAuB,IAAI3sG,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,0CAA0C,QAAQ,IAAI,IAC1vB,GAAkB,GCyBP3xB,UAAIkyB,OAAO,CACxBC,MAAO,CACLkR,4BAA6BztB,OAC7B0tB,sBAAuB1tB,UC7B2Z,MCOlb,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAOhC,KAAkB,GAAW,CAACwhB,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,OCzBzC,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACQ,YAAY,oDAAoDo5F,MAAMh6F,EAAI6sG,MAC5K,oCACA,qCAAqC,CAAC7sG,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIiwB,MAAM,QACtE,GAAkB,GCqBPo5C,UAAIkyB,OAAO,CACxBC,MAAO,CACLvrE,KAAMotE,OACNwP,MAAOpR,WC3B6Z,MCQpa,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,M,QCnBX,GAAS,WAAa,IAAIz7F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,oBAAoB,CAACE,MAAM,CAAC,UAAY,IAAI,KAAON,EAAI8sG,aAAa,OAAS9sG,EAAI2uB,OAAO,MAAQ3uB,EAAI0uB,UACnM,GAAkB,GC4BP26C,UAAIkyB,OAAO,CACxBC,MAAO,CACL5C,MAAOyE,OACP1uE,OAAQ,CAAC0uE,OAAQpe,QACjBvwD,MAAO2uE,QAET3B,SAAU,CACRoR,aAAY,WACV,OAAQ7sG,KAAK24F,OACX,IAAK,IACH,MAAO,UACT,IAAK,IACH,MAAO,YACT,IAAK,IACH,MAAO,qBACT,IAAK,IACH,MAAO,uBACT,IAAK,OACH,MAAO,UACT,IAAK,QACH,MAAO,QACT,QACE,OAAOxvB,GAAanpE,KAAK24F,YCnD0Y,M,yBCQza,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACmU,mBAAA,OC2Bf1jC,cAAIkyB,OAAO,CACxBr6D,WAAY,CACV8rE,qBACAC,2BACAC,kBACAC,cAEFzR,SAAU,CACRnxF,UAAS,WACP,OAAOtK,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU38E,WAE5CiiG,SAAQ,WACN,OAAOvsG,KAAKsK,YAAc5I,EAAUypE,QAEtCshC,4BAA2B,WACzB,OAAOzsG,KAAKmtG,MAAMpuB,KAAI,SAAA5vB,GAAC,OAAIA,EAAEpM,0BAAwB,IAEvD2pD,sBAAqB,WACnB,OAAO1sG,KAAKmtG,MAAMpuB,KAAI,SAAA5vB,GAAC,OAAIA,EAAEp6B,oBAAkB,KAGnD+D,QAAS,CACPtM,KAAI,sBACFxsB,KAAK0hG,SAAU,EACf,IAAIr6E,GAAgB,IAAIxlB,EAAiB7B,KAAK67F,SAC3Cr8E,QACA/b,MAAK,SAAAuoF,GACJ,EAAKmhB,MAAQnhB,EACb,EAAK0V,SAAU,KAEhB99F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAKwsB,QAEPtwB,KAAM,iBAGA,CACJwlG,SAAS,EACTyL,MAAO,OC9Fka,MCOza,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC3M,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,kBAAkB,GAAG56F,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAW,QAAEI,EAAG,QAAQJ,EAAIo6F,GAAG,GAAI,SAAShrC,GAAG,OAAOhvD,EAAG,QAAQ,CAACd,IAAI8vD,EAAExuD,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,IAAI,OAAS,MAAM,MAAQ,UAAU,MAAK,GAAGF,EAAG,QAAQJ,EAAIo6F,GAAIp6F,EAAS,OAAE,SAASgG,GAAM,OAAO5F,EAAG,QAAQ,CAACd,IAAI0G,EAAKqZ,WAAWze,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,MAAS,MAAK,IAAI,IAAI,IAClsB,GAAkB,GCoCPqjE,UAAIkyB,OAAO,CACxBr6D,WAAY,CACV8rE,qBACAE,kBACAC,cAEFp0E,QAAS,CACPtM,KAAI,sBACFxsB,KAAK0hG,SAAU,EACf,IAAIr6E,GAAgB,IAAIxlB,EAAiB7B,KAAK67F,SAC3Cv0D,aACA7jC,MAAK,SAAAuoF,GACJ,EAAKmhB,MAAQnhB,EACb,EAAK0V,SAAU,KAEhB99F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAKwsB,QAEPtwB,KAAM,iBAGA,CACJwlG,SAAS,EACTyL,MAAO,OCjEua,MCO9a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC3M,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,oBAAoB,GAAG56F,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAW,QAAEI,EAAG,QAAQJ,EAAIo6F,GAAG,GAAI,SAAShrC,GAAG,OAAOhvD,EAAG,QAAQ,CAACd,IAAI8vD,EAAExuD,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,IAAI,OAAS,MAAM,MAAQ,UAAU,MAAK,GAAGF,EAAG,QAAQJ,EAAIo6F,GAAIp6F,EAAS,OAAE,SAASgG,GAAM,OAAO5F,EAAG,QAAQ,CAACd,IAAI0G,EAAKqZ,WAAWze,YAAY,oBAAoBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,MAAS,MAAK,IAAI,IAAI,IACpqB,GAAkB,GCoCPqjE,UAAIkyB,OAAO,CACxBr6D,WAAY,CACV8rE,qBACAE,kBACAC,cAEFp0E,QAAS,CACPtM,KAAI,sBACFxsB,KAAK0hG,SAAU,EACf,IAAIr6E,GAAgB,IAAIxlB,EAAiB7B,KAAK67F,SAC3Cr8C,eACA/7C,MAAK,SAAAuoF,GACJ,EAAKmhB,MAAQnhB,EACb,EAAK0V,SAAU,KAEhB99F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAKwsB,QAEPtwB,KAAM,iBAGA,CACJwlG,SAAS,EACTyL,MAAO,OCjEya,MCOhb,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC3M,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,8BAA8B,GAAG56F,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,QAAQ,CAAEJ,EAAW,QAAEI,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,UAAU,GAAyB,IAArBN,EAAIotG,MAAMzwG,OAAcyD,EAAG,QAAQ,CAACQ,YAAY,kBAAkB,CAACR,EAAG,OAAO,CAACQ,YAAY,iCAAiC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,kBAAkB,SAASh7F,EAAIyB,KAAKzB,EAAIo6F,GAAIp6F,EAAS,OAAE,SAASgG,GAAM,OAAO5F,EAAG,QAAQ,CAACd,IAAI0G,EAAK8D,UAAUlJ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,KAAO0F,MAAS,OAAM,IAAI,IAAI,IACnyB,GAAkB,GCDlB,GAAS,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACQ,YAAY,uBAAuBo5F,MAAM,CAAE+I,UAAW/iG,EAAIqtG,cAAe/sG,MAAM,CAAC,UAAY,IAAI,MAAQ,iBAAiB,QAAU,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ/5F,EAAIqtG,cAAertG,EAAI85F,QAAQ95F,EAAIgG,KAAK8D,cAA0B,CAAC1J,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,iCAAiC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIqoD,cAAcroD,EAAIgG,KAAK8D,YAAY,SAAS1J,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI8rE,cAAc9rE,EAAIgG,KAAK8D,YAAY,QAAQ,IAAI,GAAG1J,EAAG,aAAaJ,EAAIo6F,GAAIp6F,EAAIgG,KAAKolD,mBAAqB,IAAI,SAASkiD,GAAK,OAAOltG,EAAG,QAAQ,CAACd,IAAIguG,EAAIr9E,MAAM,CAAC7vB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,eAAe,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIutG,UAAUD,EAAIr9E,OAAO,SAAS7vB,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,eAAe,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGmT,EAAIryD,QAAQ,UAAU,OAAM,IAChnC,GAAkB,GCmDPouB,UAAIkyB,OAAO,CACxBC,MAAO,CACLx1F,KAAM0hB,IAERg0E,SAAU,CACRxU,SAAQ,WACN,OAAOjnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,WAElC38E,UAAS,WACP,OAAOtK,KAAKinF,SAAS38E,WAEvB8iG,aAAY,WACV,OACEptG,KAAKinF,SAASt/E,YAAchG,EAAUkvE,OACtC7wE,KAAKinF,SAASt/E,YAAchG,EAAUmvE,aAI5Ch4C,QAAS,CACPsvB,cAAeA,GACfyjB,cAAeA,GACfyhC,UAAS,SAACt9E,GACR,OAAKA,EAGDhwB,KAAKsK,YAAc5I,EAAUypE,OACxBnsE,GAAEgxB,GAEJA,EALE,IAOX6pE,QAAO,SAAChwF,GACN7J,KAAKogG,QAAQpjG,KAAK,2BAA6B6M,OCnFkY,MCOnb,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC22F,QAAA,KAAKlC,YAAA,KAASlC,SAAA,KAAMsE,QAAA,KAAKsL,UAAA,KAAOxN,WAAA,OCa/Cp1B,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVssE,kBACAL,aACAD,mBAEFxR,SAAU,CACRnxF,UAAS,WACP,OAAOtK,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU38E,YAG9CwuB,QAAS,CACPtM,KAAI,sBACFxsB,KAAK0hG,SAAU,EACf,IAAIr6E,GAAgB,IAAIxlB,EAAiB7B,KAAK67F,SAC3C2R,eACA/pG,MAAK,SAAAuoF,GACJ,EAAKmhB,MAAQnhB,EACb,EAAK0V,SAAU,KAEhB99F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAKwsB,QAEPtwB,KAAM,iBAGA,CACJwlG,SAAS,EACTyL,MAAO,OC1Eya,MCOhb,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC3M,QAAA,KAAKE,QAAA,OCxBnC,IAAI,GAAS,WAAa,IAAI3gG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,uBAAuBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,kBAAkB,GAAG56F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAW,QAAEI,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,SAASF,EAAG,UAAU,CAACQ,YAAY,iCAAiCN,MAAM,CAAC,UAAY,IAAI,MAAQ,iBAAiB,QAAU,IAAII,GAAG,CAAC,MAAQV,EAAI0tG,qBAAqB,CAACttG,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,iCAAiC,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAG,eAAe,SAAS56F,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI0hF,MAAM,QAAQ,IAAI,GAAGthF,EAAG,aAAaJ,EAAIo6F,GAAIp6F,EAAI2tG,aAAe,IAAI,SAASL,GAAK,OAAOltG,EAAG,QAAQ,CAACd,IAAIguG,EAAIr9E,MAAM,CAAC7vB,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,eAAe,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIg7F,GAAGsS,EAAIr9E,MAAQ,KAAK,SAAS7vB,EAAG,YAAYA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,eAAe,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGmT,EAAIryD,QAAQ,UAAU,OAAM,IAAI,IAAI,IAChuC,GAAkB,GC4DPouB,UAAIkyB,OAAO,CACxBr6D,WAAY,CACVisE,aACAD,mBAEFxR,SAAU,CACRha,KAAI,WACF,OAAOzT,GAAe15C,GAAWo5C,SAAS,KAG9C50C,QAAS,CACPtM,KAAI,sBACFxsB,KAAK0hG,SAAU,EACf,IAAIr6E,GAAgB,IAAIxlB,EAAiB7B,KAAK67F,SAC3C6R,cACAjqG,MAAK,SAAAuoF,GACJ,EAAK0hB,YAAc1hB,EACnB,EAAK0V,SAAU,KAEhB99F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAGnD6qG,mBAAkB,WAChBztG,KAAKogG,QAAQpjG,KAAK,cAAgB2kF,MAGtCqa,QAAO,WACLh8F,KAAKwsB,QAEPtwB,KAAM,iBAGA,CACJwlG,SAAS,EACTgM,YAAa,OChGka,MCO/a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAClN,QAAA,KAAKlC,YAAA,KAASlC,SAAA,KAAMsE,QAAA,KAAKsL,UAAA,KAAOxN,WAAA,OC5B9D,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,YAAY,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,YAAY,GAAG56F,EAAG,QAAQ,CAACQ,YAAY,sBAAsBN,MAAM,CAAC,KAAO,OAAO,CAAEN,EAAW,QAAEI,EAAG,QAAQJ,EAAIo6F,GAAG,GAAI,SAAShrC,GAAG,OAAOhvD,EAAG,QAAQ,CAACd,IAAI8vD,EAAExuD,YAAY,oBAAoBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,iBAAiB,CAACE,MAAM,CAAC,MAAQ,OAAO,OAAS,UAAU,MAAK,GAAGF,EAAG,QAAQJ,EAAIo6F,GAAIp6F,EAAS,OAAE,SAASgG,GAAM,OAAO5F,EAAG,QAAQ,CAACd,IAAI0G,EAAKsyB,KAAK13B,YAAY,oBAAoBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,mBAAmB,CAACE,MAAM,CAAC,KAAO0F,EAAK,UAAY,OAAO,MAAK,IAAI,IAAI,IACnrB,GAAkB,GCDlB,GAAS,WAAa,IAAIhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACQ,YAAY,uBAAuBo5F,MAAM,CAAE+I,UAAW/iG,EAAI+iG,WAAYziG,MAAM,CAAC,UAAY,IAAI,MAAQ,iBAAiB,OAAS,MAAM,MAAQ,MAAM,QAAU,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ/5F,EAAI+iG,WAAY/iG,EAAI4tG,iBAA6B,CAACxtG,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,OAAO,CAACQ,YAAY,oBAAoBo5F,MAAMh6F,EAAIgG,KAAKs4C,KAAO,eAAiB,gBAAgB,CAACt+C,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIgG,KAAKs9B,YAAYs4C,aAAa,SAASx7E,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,yBAAyBN,MAAM,CAAC,KAAO,SAAS,CAAGN,EAAIgG,KAAKs4C,KAAqEt+C,EAAIyB,KAAnErB,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIk6F,GAAG,sBAA+B,IAAI,GAAG95F,EAAG,aAAaA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,OAAO,CAACQ,YAAY,+BAA+B,CAACZ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIgG,KAAKy9B,SAAS,UAAU,IAAI,IAC18B,GAAkB,GCyCP4lC,UAAIkyB,OAAO,CACxBC,MAAO,CACLx1F,KAAMsO,GACNyuF,UAAWtH,SAEb1iE,QAAS,CACP60E,YAAW,WACT3tG,KAAKogG,QAAQpjG,KAAK,aCjDuZ,MCO3a,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAACwjG,QAAA,KAAKlC,YAAA,KAASlC,SAAA,KAAMsE,QAAA,KAAKsL,UAAA,KAAOxN,WAAA,OCK/Cp1B,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVisE,aACAU,oBACAX,mBAEFn0E,QAAS,CACPtM,KAAI,sBACFxsB,KAAK0hG,SAAU,EACf,IAAIr6E,GAAgB,IAAIxlB,EAAiB7B,KAAK67F,SAC3C7nF,OACAvQ,MAAK,SAAAuoF,GACJ,EAAKmhB,MAAQnhB,EACb,EAAK0V,SAAU,KAEhB99F,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAKwsB,QAEPtwB,KAAM,iBAGA,CACJwlG,SAAS,EACTyL,MAAO,OC7Dia,MCOxa,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAMhC,KAAkB,GAAW,CAAC3M,QAAA,KAAKE,QAAA,OCqCpBt3B,cAAIkyB,OAAO,CACxBr6D,WAAY,CACV4sE,kBACAC,uBACAC,yBACAC,yBACAC,wBACAC,kBAEFzS,SAAU,CACRnxF,UAAS,WACP,OAAOtK,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU38E,WAE5CiiG,SAAQ,WACN,OAAOvsG,KAAKsK,YAAc5I,EAAUypE,QAEtCqhC,WAAU,WACR,OAAOxsG,KAAKsK,YAAc5I,EAAU0pE,UAEtCihC,WAAU,WACR,OAAOrsG,KAAKsK,YAAc5I,EAAU4pE,UAEtCghC,WAAU,WACR,OAAOtsG,KAAKsK,YAAc5I,EAAU2pE,aCpF4W,MCQlZ,I,UAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,OAIa,MAAiB,QAQhC,KAAkB,GAAW,CAACm1B,QAAA,KAAKlC,YAAA,KAASoC,QAAA,KAAKlC,WAAA,OC3BjD,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAEJ,EAAsB,mBAAEI,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,YAAYA,EAAG,QAAQ,CAACQ,YAAY,OAAON,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,SAAS,CAACQ,YAAY,OAAON,MAAM,CAAC,MAAQ,mBAAmB,KAAO,QAAQ,CAACN,EAAIk6F,GAAG,wBAAwB,GAAG95F,EAAG,aAAa,IAAI,GAAGA,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQ,UAAUg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,aAAak7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,qBAAqB,CAACN,EAAIk6F,GAAG,qBAAqB95F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,qBAAqB,CAACN,EAAIk6F,GAAG,qBAAqB95F,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,qBAAqB,CAACN,EAAIk6F,GAAG,uBAAuBmH,OAAM,GAAM,CAAC/hG,IAAI,OAAOk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,SAAS,MAAQh7F,EAAIkqC,OAAO,QAAgC,IAAtBlqC,EAAIkqC,OAAOvtC,OAAa,SAAW,IAAI,UAAY,IAAI0qG,MAAM,CAACroG,MAAOgB,EAAW,QAAE24F,SAAS,SAAU2O,GAAMtnG,EAAIiH,QAAQqgG,GAAKC,WAAW,cAAc,GAAGnnG,EAAG,QAAQ,CAACQ,YAAY,kBAAkBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAYN,EAAIiH,QAAQ,SAAW,IAAI,OAAS,KAAK,MAAQ,IAAIvG,GAAG,CAAC,MAAQV,EAAIouG,cAAc,CAACpuG,EAAIk6F,GAAG,yBAAyB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQ,eAAe,MAAQN,EAAI01F,aAAa,SAAW,KAAK2R,MAAM,CAACroG,MAAOgB,EAAa,UAAE24F,SAAS,SAAU2O,GAAMtnG,EAAI4H,UAAU0/F,GAAKC,WAAW,gBAAgB,GAAGnnG,EAAG,QAAQ,CAACQ,YAAY,kBAAkBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,cAA6BO,IAAlBb,EAAI4H,UAAwB,SAAW,IAAI,OAAS,KAAK,MAAQ,IAAIlH,GAAG,CAAC,MAAQV,EAAIquG,kBAAkB,CAACruG,EAAIk6F,GAAG,sBAAsB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,QAAQ,MAAQh7F,EAAIgyB,MAAM,QAA+B,IAArBhyB,EAAIgyB,MAAMr1B,OAAa,SAAW,KAAK0qG,MAAM,CAACroG,MAAOgB,EAAc,WAAE24F,SAAS,SAAU2O,GAAMtnG,EAAIkG,WAAWohG,GAAKC,WAAW,iBAAiB,GAAGnnG,EAAG,QAAQ,CAACQ,YAAY,kBAAkBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,UAAYN,EAAIkG,WAAW,SAAW,IAAI,OAAS,KAAK,MAAQ,IAAIxF,GAAG,CAAC,MAAQV,EAAI4pF,cAAc,CAAC5pF,EAAIk6F,GAAG,oCAAoC,IAAI,GAAG95F,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,OAAO,CAACN,EAAIk6F,GAAG,uBAAuB95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,OAAO,CAACtuG,EAAIk6F,GAAG,oBAAoB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,MAAM,CAACtuG,EAAIk6F,GAAG,eAAe,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,OAAO,CAACtuG,EAAIk6F,GAAG,cAAc,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,QAAQ,CAACtuG,EAAIk6F,GAAG,YAAY,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,QAAQ,CAACtuG,EAAIk6F,GAAG,uBAAuB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,QAAQ,CAACtuG,EAAIk6F,GAAG,iBAAiB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,OAAO,CAACtuG,EAAIk6F,GAAG,sBAAsB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,QAAQ,CAACtuG,EAAIk6F,GAAG,wBAAwB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,OAAO,CAACtuG,EAAIk6F,GAAG,gBAAgB,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,OAAO,CAACtuG,EAAIk6F,GAAG,eAAe,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,OAAO,CAACluG,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,OAAO,CAACN,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAI8rE,cAAc,OAAO9rE,EAAIk6F,GAAG,UAAU,IAAI,GAAG95F,EAAG,QAAQ,CAACE,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIsuG,SAAS,QAAQ,CAACluG,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,GAAG,KAAO,OAAO,CAACN,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn6F,EAAI8rE,cAAc,OAAO9rE,EAAIk6F,GAAG,mBAAmB,IAAI,IAAI,KAAKmH,OAAM,QAAW,IACloI,GAAkB,GCDlB,GAAS,WAAa,IAAIrhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,iBAAiB,CAAC45F,MAAMh6F,EAAIuuG,WAAWjuG,MAAM,CAAC,MAAQN,EAAIhB,MAAM,MAAQgB,EAAIuoG,MAAM,YAAcvoG,EAAIwoG,YAAY,MAAQxoG,EAAIi3F,MAAM,aAAaj3F,EAAIwuG,kBAAkB,YAAYxuG,EAAIyuG,iBAAiB,cAA4B5tG,IAAjBb,EAAI0oG,SAAyB1oG,EAAI0oG,SAAW,EAAE,UAAY1oG,EAAI4oG,UAAU,YAAa,EAAM,MAAQ5oG,EAAI2oG,MAAM,OAAS3oG,EAAIuuB,OAAO,SAAWvuB,EAAIyoG,SAAS,QAAUzoG,EAAI2hG,QAAQ,aAAa,CAAE+M,UAAW,KAAM,gBAAgB,IAAI,oBAAoB,GAAG,UAAY,GAAG,SAAW,GAAG,MAAQ,IAAIhuG,GAAG,CAAC,MAAQV,EAAI+uD,MAAM,sBAAsB/uD,EAAI2uG,aAAarU,YAAYt6F,EAAIu6F,GAAG,CAAEv6F,EAAS,MAAE,CAACV,IAAI,QAAQk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAIipG,WAAajpG,EAAIyoG,SAAUroG,EAAG,OAAO,CAACQ,YAAY,WAAWo5F,MAAM,CAAE,WAA0B,OAAdh6F,EAAIhB,YAAgC6B,IAAdb,EAAIhB,QAAuB,CAACgB,EAAIk6F,GAAG,OAAOl6F,EAAIyB,KAAKzB,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIuoG,OAAO,OAAOlH,OAAM,GAAM,KAAMrhG,EAAc,WAAE,CAACV,IAAI,OAAOk7F,GAAG,SAASC,GACp9B,IAAIz0F,EAAOy0F,EAAIz0F,KACf,MAAO,CAAChG,EAAIwgG,GAAG,OAAO,KAAK,CAAC,KAAOx6F,OAAU,KAAMhG,EAAc,WAAE,CAACV,IAAI,YAAYk7F,GAAG,SAASC,GAChG,IAAIz0F,EAAOy0F,EAAIz0F,KACf,MAAO,CAAC5F,EAAG,MAAM,CAACQ,YAAY,mBAAmB,CAACZ,EAAIwgG,GAAG,OAAO,KAAK,CAAC,KAAOx6F,KAAQ,MAAM,MAAM,MAAK,MAClG,GAAkB,GC2DPqjE,UAAIkyB,OAAO,CACxBC,MAAO,CACLx8F,MAAO,CAACigF,OAAQoe,QAChBkL,MAAOlL,OACPmL,YAAanL,OACbpG,MAAOnxF,MACP8oG,UAAWvR,OACXwR,SAAU,CAACxR,OAAQyR,UACnBpG,SAAUrL,OACVuL,UAAWnN,QACX8S,WAAYlR,OACZ0R,WAAYtT,QACZkN,MAAO7iG,MACPmjG,SAAUxN,QACVgN,SAAUhN,QACVkG,QAASlG,SAEXC,SAAU,CACR8S,kBAAiB,WACf,OAAIvuG,KAAK2uG,UACA3uG,KAAK2uG,UAEL,MAGXH,iBAAgB,WACd,OAAIxuG,KAAK4uG,SACA5uG,KAAK4uG,SAEL,SAIb91E,QAAS,CACPg2B,MAAK,SAACs9B,GACJpsF,KAAK49F,MAAM,QAASxR,IAEtBsiB,YAAW,SAACtiB,GACE,KAARA,QAAsBxrF,IAARwrF,GAChBpsF,KAAK8uD,MAAM,OAGfxgC,OAAM,SAACqvD,EAAQoxB,EAAmBH,GAChC,OAAO5P,GAAgB+P,EAAWH,GAAU,OC3GyX,M,yBCQva,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAACI,iBAAA,OCxB9B,IAAI,GAAS,WAAa,IAAIjvG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAAC45F,MAAM,CAAE,gBAAiBh6F,EAAIqoG,UAAW,CAACjoG,EAAG,WAAW,CAAC45F,MAAMh6F,EAAIuuG,WAAWjuG,MAAM,CAAC,MAAQN,EAAIhB,MAAM,MAAQgB,EAAIuoG,MAAM,YAAcvoG,EAAIwoG,YAAY,MAAQxoG,EAAIi3F,MAAM,aAAaj3F,EAAIwuG,kBAAkB,YAAYxuG,EAAIyuG,iBAAiB,cAA4B5tG,IAAjBb,EAAI0oG,SAAyB1oG,EAAI0oG,SAAW,EAAE,SAAW1oG,EAAIyoG,SAAS,SAAWzoG,EAAIsoG,SAAS,QAAUtoG,EAAI2hG,QAAQ,MAAQ3hG,EAAI2oG,MAAM,UAAY3oG,EAAIgnG,UAAU,aAAa,CAAE0H,UAAW,KAAM,SAAW,GAAG,MAAQ,IAAIhuG,GAAG,CAAC,MAAQV,EAAI+uD,OAAOurC,YAAYt6F,EAAIu6F,GAAG,CAAEv6F,EAAS,MAAE,CAACV,IAAI,QAAQk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAIipG,WAAajpG,EAAIyoG,SAAUroG,EAAG,OAAO,CAACQ,YAAY,WAAWo5F,MAAM,CAAE,WAA0B,OAAdh6F,EAAIhB,YAAgC6B,IAAdb,EAAIhB,QAAuB,CAACgB,EAAIk6F,GAAG,OAAOl6F,EAAIyB,KAAKzB,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIuoG,OAAO,OAAOlH,OAAM,GAAM,KAAK,CAAC/hG,IAAI,eAAek7F,GAAG,WAAW,MAAO,CAACx6F,EAAIwgG,GAAG,kBAAkBa,OAAM,GAAM,CAAC/hG,IAAI,SAASk7F,GAAG,WAAW,MAAO,CAACx6F,EAAIwgG,GAAG,kBAAkBa,OAAM,GAAOrhG,EAAc,WAAE,CAACV,IAAI,OAAOk7F,GAAG,SAASC,GAC1iC,IAAIz0F,EAAOy0F,EAAIz0F,KACf,MAAO,CAAChG,EAAIwgG,GAAG,OAAO,KAAK,CAAC,KAAOx6F,OAAU,KAAMhG,EAAc,WAAE,CAACV,IAAI,YAAYk7F,GAAG,SAASC,GAChG,IAAIz0F,EAAOy0F,EAAIz0F,KACf,MAAO,CAAC5F,EAAG,MAAM,CAACQ,YAAY,mBAAmB,CAACZ,EAAIwgG,GAAG,OAAO,KAAK,CAAC,KAAOx6F,KAAQ,MAAM,MAAM,MAAK,MAAS,IAC3G,GAAkB,GCyFPqjE,UAAIkyB,OAAO,CACxBC,MAAO,CACLx8F,MAAO,CAACigF,OAAQoe,OAAQ5B,QAAS7+F,QACjC2rG,MAAOlL,OACPmL,YAAanL,OACbpG,MAAOnxF,MACP8oG,UAAWvR,OACXwR,SAAUxR,OACVqL,SAAUrL,OACVkR,WAAYlR,OACZoL,SAAUhN,QACV6M,SAAU7M,QACVkG,QAASlG,QACTuL,UAAWvL,QACXkN,MAAO7iG,MACPipG,WAAYtT,QACZwN,SAAUxN,QACV4M,QAAS5M,SAEXC,SAAU,CACR8S,kBAAiB,WACf,YAA0B3tG,IAAnBZ,KAAK2uG,UAA0B,KAAO3uG,KAAK2uG,WAEpDH,iBAAgB,WACd,YAAyB5tG,IAAlBZ,KAAK4uG,SAAyB,OAAS5uG,KAAK4uG,WAGvD91E,QAAS,CACPg2B,MAAK,SAACs9B,GACJpsF,KAAK49F,MAAM,QAASxR,OC3H6Y,M,yBCQna,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,WACA,MAIa,MAAiB,QAKhC,KAAkB,GAAW,CAAC6iB,WAAA,OCgIf7lC,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVkmE,cACA+H,gBACAC,aAEFhN,MAAO,CACLn7F,QAAO,WACDhH,KAAKgH,SACPhH,KAAKovG,cAGT,uBAAwB,CACtBhN,QAAO,WACL,IAAMzzE,EAAKqwD,OAAOh/E,KAAKihG,OAAOhC,MAAMoQ,UAC/Brc,MAAMrkE,IAAOA,IAChB3uB,KAAKgH,QAAU2nB,EACf3uB,KAAKmuG,gBAGT9K,WAAW,IAGf5H,SAAU,CACRxU,SAAQ,WACN,OAAOjnF,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,YAGpCnuD,QAAS,CACP+yC,cAAeA,GACf4pB,WAAYA,GACZO,WAAYA,GACZqY,SAAQ,SAACrnG,GACPhH,KAAKgH,QAAUA,EACfhH,KAAKmuG,eAEPA,YAAW,sBACTnuG,KAAKsvG,oBAAqB,EAC1B,IAAIzsG,EAAY,IAAIhB,EAAiB7B,KAAK67F,SACvCsS,YAAYnuG,KAAKgH,SACjBvD,MAAK,WACJ7D,OAAOqjC,SAAS4jE,KAAO,OAExBjjG,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAGnD+mF,YAAW,sBACT3pF,KAAKsvG,oBAAqB,EAC1B,IAAIzsG,EAAY,IAAIhB,EAAiB7B,KAAK67F,SACvC0T,mBAAmBvvG,KAAKiG,YACxBxC,MAAK,WACJ7D,OAAOqjC,SAAS4jE,KAAO,OAExBjjG,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAGnDwrG,gBAAe,sBACbpuG,KAAKsvG,oBAAqB,EAC1B,IAAIzsG,EAAY,IAAIhB,EAAiB7B,KAAK67F,SACvCuS,gBAAgBpuG,KAAK2H,WACrBlE,MAAK,WACJ7D,OAAOqjC,SAAS4jE,KAAO,OAExBjjG,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAGnD4sG,eAAc,sBACZ,IAAIvmG,EAAa,IAAIpH,EAAiB7B,KAAK67F,SACxC4T,oBACAhsG,MAAK,SAAAuoF,GACJ,EAAK/hD,OAAS+hD,KAEfpoF,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,OAGnDwsG,WAAU,sBACR,IAAIl6F,GAAiB,IAAIrT,EAAiB7B,KAAK67F,SAC5C6T,kBAAkB1vG,KAAKgH,SACvBvD,MAAK,SAAAuoF,GACJ,EAAKj6D,MAAQi6D,KAEdpoF,OAAM,SAAAhB,GACL,EAAKi5F,OAAOnQ,SAAS3B,GAAQE,eAAgBrnF,QAIrDo5F,QAAO,WACLh8F,KAAKgH,QAAUhH,KAAKinF,SAASjgF,QAC7BhH,KAAK2H,UAAY3H,KAAKinF,SAASt/E,UAC/B3H,KAAKwvG,kBAEPtzG,KAAM,iBAOA,CACJozG,oBAAoB,EACpBtoG,aAASpG,EACT+G,eAAW/G,EACXqpC,OAAQ,GACRhkC,gBAAYrF,EACZmxB,MAAO,OCpQ8Y,MCOrZ,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAShC,KAAkB,GAAW,CAACoqE,QAAA,KAAKqE,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,KAAKlC,WAAA,OC3BnD,IAAI,GAAS,WAAa,IAAIz+F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,aAAaN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,YAAcN,EAAI4vG,YAAY,KAAO5vG,EAAI6vG,KAAK,UAAY7vG,EAAI2hG,SAASjhG,GAAG,CAAC,eAAiBV,EAAI8vG,eAAe,KAAO,SAAS/V,GAAQ/5F,EAAI+vG,eAAgB,GAAM,YAAc,SAAU1a,GAAK,OAAQr1F,EAAIgwG,cAAgB3a,GAAM,OAAS,SAAS0E,GAAQ,OAAO/5F,EAAIiwG,QAAO,GAAM,IAAO,QAAU,SAASlW,GAAQ,OAAO/5F,EAAIiwG,QAAO,GAAM,QAAY,GAAG7vG,EAAG,QAAQ,CAACQ,YAAY,gCAAgCN,MAAM,CAAC,KAAO,OAAO,CAACF,EAAG,gBAAgB,CAACE,MAAM,CAAC,UAAYN,EAAI2hG,QAAQ,kBAAoB3hG,EAAIkwG,kBAAkB,aAAelwG,EAAImwG,aAAa,YAAcnwG,EAAI4vG,YAAY,QAAU5vG,EAAIquB,SAAS3tB,GAAG,CAAC,oBAAsBV,EAAIowG,oBAAoB,MAAQpwG,EAAIqwG,MAAM,OAAS,SAAStW,GAAQ,OAAO/5F,EAAIiwG,QAAO,GAAM,QAAW,IAAI,GAAG7vG,EAAG,mBAAmB,CAACE,MAAM,CAAC,OAASN,EAAI+vG,cAAc,YAAc/vG,EAAI4vG,YAAY,KAAO5vG,EAAI6vG,MAAMnvG,GAAG,CAAC,MAAQ,SAASq5F,GAAQ/5F,EAAI+vG,eAAgB,GAAO,YAAc,SAAU1a,GAAK,OAAQr1F,EAAIgwG,cAAgB3a,MAASj1F,EAAG,cAAc,CAACM,GAAG,CAAC,OAAS,SAASq5F,GAAQ,OAAO/5F,EAAIiwG,QAAO,GAAO,QAAY,IACjuC,GAAkB,GCCR,YAAU1kB,GACtB,IACE,IAAM+kB,EAAa/kB,EAAQglB,IAAIC,cAAc,iBACvCC,EAAellB,EAAQglB,IAAIC,cAAc,0BAC/CjlB,EAAQmlB,SAASC,KAAKL,EAAO,CAAEM,UAAWH,EAASliD,SAAU,MAC7D,MAAO6mC,MCPP,GAAS,WAAa,IAAIp1F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,aAAa,CAACE,MAAM,CAAC,MAAQN,EAAI2pC,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,UAAY,GAAG,YAAc,GAAG,QAAU3pC,EAAI2hG,SAASjhG,GAAG,CAAC,eAAiBV,EAAI8vG,eAAe,QAAU,SAAS/V,GAAQ,OAAO/5F,EAAI69F,MAAM,aAAavD,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAI05B,SAAW15B,EAAI6wG,OAAQzwG,EAAG,aAAa,CAACE,MAAM,CAAC,KAAON,EAAIg7F,GAAG,iBAAiB,QAAUh7F,EAAI4xB,YAAYlxB,GAAG,CAAC,MAAQV,EAAI8wG,iBAAiB9wG,EAAIyB,OAAO4/F,OAAM,GAAM,CAAC/hG,IAAI,aAAak7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,QAAQ,CAACQ,YAAY,qBAAqBF,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,WAAW,CAACz9F,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,MAAQ,cAAc,CAACN,EAAIk6F,GAAG,cAAc,KAAKmH,OAAM,GAAM,CAAC/hG,IAAI,OAAOk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,2CAA2C,CAACR,EAAG,iBAAiB,CAACE,MAAM,CAAC,YAAcN,EAAI4vG,aAAalvG,GAAG,CAAC,OAAS,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,eAAe,IAAI,GAAGz9F,EAAG,QAAQ,CAACA,EAAG,QAAQ,CAACQ,YAAY,uBAAuB,CAACR,EAAG,SAAS,CAACE,MAAM,CAAC,cAAc,MAAM,cAAc,IAAI+mG,MAAM,CAACroG,MAAOgB,EAAoB,iBAAE24F,SAAS,SAAU2O,GAAMtnG,EAAI+wG,iBAAiBzJ,GAAKC,WAAW,qBAAqBvnG,EAAIo6F,GAAIp6F,EAAQ,MAAE,SAAS2wC,GAAK,OAAOvwC,EAAG,QAAQ,CAACd,IAAIqxC,EAAI/hB,IAAI,CAAC5uB,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI6hF,gBAAgBlxC,EAAI/hB,KAAK,UAAS,IAAI,IAAI,KAAKyyE,OAAM,QAC93C,GAAkB,GCDlB,GAAS,WAAa,IAAIrhG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,SAAS,CAACE,MAAM,CAAC,WAAa,mBAAmB,WAAW,IAAIg6F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,SAASC,GACpN,IAAI/5F,EAAK+5F,EAAI/5F,GACb,MAAO,CAACN,EAAG,QAAQJ,EAAI06F,GAAG,CAACp6F,MAAM,CAAC,MAASN,EAAIgxG,cAA6B,GAAb,WAAgB,SAAWhxG,EAAIyoG,UAAU/nG,GAAG,CAAC,MAAQV,EAAIixG,YAAYjxG,EAAIkxG,kBAAerwG,EAAYH,GAAI,CAAGV,EAAIgxG,cAAqEhxG,EAAIyB,KAA1DrB,EAAG,SAAS,CAACE,MAAM,CAAC,KAAO,KAAK,CAACN,EAAIk6F,GAAG,cAAwBl6F,EAAiB,cAAEI,EAAG,SAAS,CAACQ,YAAY,mBAAmBN,MAAM,CAAC,KAAO,GAAG,KAAO,OAAO,CAACN,EAAIk6F,GAAG,sBAAsBl6F,EAAIyB,KAAKzB,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAIiwB,MAAM,KAAOjwB,EAAIkxG,aAA0ElxG,EAAIyB,KAAhErB,EAAG,SAAS,CAACE,MAAM,CAAC,MAAQ,KAAK,CAACN,EAAIk6F,GAAG,oBAA6B,SAAS,CAAC95F,EAAG,SAAS,CAACQ,YAAY,yBAAyBZ,EAAIo6F,GAAIp6F,EAAW,SAAE,SAASmxG,GAAQ,OAAO/wG,EAAG,cAAc,CAACd,IAAI6xG,EAAOviF,GAAGtuB,MAAM,CAAC,MAAQ,IAAII,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAIoxG,YAAYD,EAAOviF,OAAO,CAACxuB,EAAG,mBAAmB,CAACA,EAAG,SAAS,CAACJ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGgX,EAAOzvB,UAAU,GAAGthF,EAAG,sBAAsB,CAACJ,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGgX,EAAOlhF,MAAM,QAAQ,MAAK,IAAI,IACx2B,GAAkB,GCyCPo5C,UAAIkyB,OAAO,CACxBC,MAAO,CACLvrE,KAAMotE,OACNn7F,QAAS4D,MACT2iG,SAAUhN,QACVuV,cAAevV,SAEjBC,SAAU,CACRwV,aAAY,WACV,OAA+B,IAAxBjxG,KAAKiC,QAAQvF,SAGxBo8B,QAAS,CACPk4E,UAAS,WACFhxG,KAAKixG,cAGVjxG,KAAKmxG,YAAYnxG,KAAKiC,QAAQ,GAAG0sB,KAEnCwiF,YAAW,SAACxiF,GACV3uB,KAAK49F,MAAM,QAASjvE,OChE+Y,MCOra,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAWhC,KAAkB,GAAW,CAACwtE,QAAA,KAAKC,SAAA,KAAME,SAAA,KAAMC,aAAA,KAAUC,iBAAA,QAAiB+B,iBAAA,KAAc9B,SAAA,OC7BxF,IAAI,GAAS,WAAa,IAAI18F,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,QAAQ,CAACE,MAAM,CAAC,MAAQ,WAAW,CAACF,EAAG,QAAQ,CAACQ,YAAY,oBAAoBN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,SAAS,MAAQh7F,EAAI61F,kBAAkB,SAAW,IAAI,SAAW71F,EAAIqxG,WAAW3wG,GAAG,CAAC,MAAQV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAA6B,eAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,iBAAkBk7F,IAAMC,WAAW,oCAAoC,GAAGnnG,EAAG,QAAQ,CAACQ,YAAY,oCAAoCN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,uBAAuB,MAAQh7F,EAAI2xF,WAAW,SAAW,IAAI,SAAW3xF,EAAIqxG,WAAW3wG,GAAG,CAAC,MAAQV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAiC,mBAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,qBAAsBk7F,IAAMC,WAAW,wCAAwC,GAAGnnG,EAAG,QAAQ,CAACQ,YAAY,oCAAoCN,MAAM,CAAC,KAAO,MAAM,CAACF,EAAG,WAAW,CAACE,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,qBAAqB,MAAQh7F,EAAI88C,cAAc,SAAW,IAAI,SAAW98C,EAAIqxG,WAAW3wG,GAAG,CAAC,MAAQV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAoC,sBAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,wBAAyBk7F,IAAMC,WAAW,2CAA2C,GAAIvnG,EAAwB,qBAAEI,EAAG,QAAQ,CAACQ,YAAY,yCAAyCN,MAAM,CAAC,KAAO,SAAS,CAACF,EAAG,aAAa,CAACQ,YAAY,mBAAmBN,MAAM,CAAC,MAAQN,EAAIg7F,GAAG,sBAAsBt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAA4B,cAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,gBAAiBk7F,IAAMC,WAAW,mCAAmC,GAAGvnG,EAAIyB,MAAM,IACjvD,GAAkB,GC+DP4nE,UAAIkyB,OAAO,CACxBr6D,WAAY,CACVkuE,aAEF5T,MAAO,CACLoU,YAAa5tB,IAEf0Z,SAAU,CACRtvF,eAAc,WACZ,OAAOnM,KAAK67F,OAAO15F,QAAQ6kF,GAAKa,UAC9Bp7D,GAAsB+hE,SACtBxuF,KAAK2vG,YAAYhhF,KAGrByiF,UAAS,WACP,OAAOpxG,KAAK2vG,YAAYhhF,KAAOgzD,IAEjC0vB,qBAAoB,WAClB,OACErxG,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU38E,YAAc5I,EAAU0pE,UAC3DprE,KAAK2vG,YAAYhhF,KAAO2F,GAAWo5C,UAIzC50C,QAAS,CACP44D,SAAUA,GACV70C,YAAaA,GACb+4C,gBAAiBA,GACjBoa,OAAM,WACJhwG,KAAK49F,MAAM,cC7Fgc,M,aCO7c,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,Q,6rBAOhC,KAAkB,GAAW,CAAC0T,aAAA,KAAU9Q,QAAA,KAAKE,QAAA,OCyC9Bt3B,cAAIkyB,OAAO,CACxBr6D,WAAY,CACVkmE,cACAoK,cACAC,mBAEFjW,MAAO,CACLqU,KAAM/pG,MACN8pG,YAAa5tB,GACb2f,QAASlG,SAEX2G,MAAO,CACL,eAAgB,CACdC,QAAO,WACL,IAAMnD,EAAQ,MAAKj/F,KAAKihG,OAAOhC,OACzBvuD,EAAMuuD,EAAMvuD,IAAMsuC,OAAOigB,EAAMvuD,UAAO9vC,EACvC8vC,WAGEuuD,EAAMvuD,IACb1wC,KAAK49F,MAAM,cAAeltD,GAC1B1wC,KAAKogG,QAAQpjG,KAAK,CAChBiiG,MAAOA,EACP3Y,KAAMtmF,KAAKihG,OAAO3a,SAGtB+c,WAAW,IAGf5H,SAAU,CACR/xD,MAAK,WACH,MAAO,GAAP,OAAU1pC,KAAK+6F,GAAG,YAAW,cAAMnZ,GAAgB5hF,KAAK2vG,YAAYhhF,MAEtEmiF,iBAAkB,CAChBnyG,IAAG,sBACD,OAAQqB,KAAK4vG,KAAuB6B,WAClC,SAAAzyG,GAAC,OAAIA,EAAE2vB,KAAO,EAAKghF,YAAYhhF,OAGnCiuD,IAAG,SAACwd,GACFp6F,KAAK49F,MAAM,cAAgB59F,KAAK4vG,KAAuBxV,GAAOzrE,MAGlEgD,WAAU,WACR,OAAOtF,KAAkB0yD,KAAI,SAAA5vB,GAAC,gBAAUA,GAAC,IAAEsyB,KAAM5V,GAAc1c,EAAExgC,UAEnEtC,gBAAe,WACb,OAAOrsB,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU56D,iBAE5CoN,OAAM,WACJ,OAAOz5B,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAU38E,YAAc5I,EAAUypE,QAEpEylC,OAAM,WACJ,OAAO5wG,KAAK67F,OAAO15F,QAAQ6kF,GAAKC,UAAUt/E,YAAchG,EAAUgvE,QAEpExkE,eAAc,WACZ,OAAOnM,KAAK67F,OAAO15F,QAAQ6kF,GAAKa,UAC9Bp7D,GAAsB+hE,SACtBxuF,KAAK2vG,YAAYhhF,MAIvBmK,QAAS,CACP8oD,gBAAiBA,GACjBiuB,eAAc,WACZ7vG,KAAK49F,MAAM,mBAEbiT,cAAa,SAAChnG,GACZ7J,KAAKogG,QAAQpjG,KAAK,CAChBspF,KAAMtmF,KAAKihG,OAAO3a,KAClB2Y,MAAO,CACLz6C,OAAQL,GAAqBwoC,WAAWp9D,WACxC1lB,UAAWA,EAAU0lB,kBC1Igb,M,0BCO3c,GAAY,gBACd,GACA,GACA,IACA,EACA,KACA,KACA,MAIa,MAAiB,QAUhC,KAAkB,GAAW,CAAC4sE,QAAA,KAAKqE,QAAA,KAAKpE,SAAA,KAAMsE,QAAA,KAAKgR,QAAA,KAAKC,SAAA,OC5BxD,IAAI,GAAS,WAAa,IAAI5xG,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,UAAU,CAACQ,YAAY,kBAAkBN,MAAM,CAAC,QAAU,GAAG,UAAY,MAAM,CAACF,EAAG,eAAe,CAACE,MAAM,CAAC,QAAUN,EAAImC,QAAQ,MAAQnC,EAAIkwG,kBAAkBzwF,MAAM,WAAW,KAAK,QAAUzf,EAAI2hG,QAAQ,oBAAoB,EAAE,OAAS3hG,EAAI6xG,YAAY,sBAAsB7xG,EAAIkwG,kBAAkB55E,MAAM,QAAUt2B,EAAIkC,QAAQ,eAAe,CAC7a,sBAAuBlC,EAAIg7F,GAAG,YAAc,IAC5C,0BAA2Bh7F,EAAIg7F,GAAG,aAClC,yBAA0B,CAAC,IAC3B,YAAah7F,EAAIg7F,GAAG,qBACpB,sBAAsB,GAAG,eAAe,GAAG,MAAQ,IAAIt6F,GAAG,CAAC,iBAAiB,SAASq5F,GAAQ/5F,EAAIkC,QAAQ63F,IAASO,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,SAASk7F,GAAG,SAASC,GAClK,IAAIe,EAAQf,EAAIe,MACZ96F,EAAK+5F,EAAI/5F,GACjB,MAAO,CAACN,EAAG,oBAAoB,CAACE,MAAM,CAAC,MAAQk7F,EAAM,GAAK96F,GAAI45F,YAAYt6F,EAAIu6F,GAAG,CAAC,CAACj7F,IAAI,YAAYk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,QAAS,YAAc9xG,EAAIg7F,GAAG,WAAWt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAqB,OAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,SAAUk7F,IAAMC,WAAW,6BAA6BlG,OAAM,GAAM,CAAC/hG,IAAI,qBAAqBk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,QAAS,YAAc9xG,EAAIg7F,GAAG,gBAAgBt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAA0B,YAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,cAAek7F,IAAMC,WAAW,kCAAkClG,OAAM,GAAM,CAAC/hG,IAAI,cAAck7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,QAAS,YAAc9xG,EAAIg7F,GAAG,SAASt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAmB,KAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,OAAQk7F,IAAMC,WAAW,2BAA2BlG,OAAM,GAAM,CAAC/hG,IAAI,qBAAqBk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,QAAS,YAAc9xG,EAAIg7F,GAAG,gBAAgBt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAA0B,YAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,cAAek7F,IAAMC,WAAW,kCAAkClG,OAAM,GAAM,CAAC/hG,IAAI,eAAek7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,QAAS,YAAc9xG,EAAIg7F,GAAG,YAAYt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAoB,MAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,QAASk7F,IAAMC,WAAW,4BAA4BlG,OAAM,GAAM,CAAC/hG,IAAI,uBAAuBk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,kBAAmB,YAAc9xG,EAAIg7F,GAAG,cAAct6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAwB,UAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,YAAak7F,IAAMC,WAAW,gCAAgClG,OAAM,GAAM,CAAC/hG,IAAI,iCAAiCk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CACrlEwxG,QAAS,YACT,YAAc9xG,EAAIg7F,GAAG,kBAAkB,MAAQ,CAC/C5xE,OAAQppB,EAAIoM,eAAektC,qBAC3BvW,QAAS/iC,EAAIoM,eAAeotC,sBAC5Bu4D,UAAW/xG,EAAIoM,eAAey3C,0BAC7BnjD,GAAG,CAAC,MAAQ,SAAU2rF,GACrBrsF,EAAIoM,eAAektC,qBAAuB+yC,EAAIjjE,OAC9CppB,EAAIoM,eAAeotC,sBAAwB6yC,EAAItpD,QAC/C/iC,EAAIoM,eAAey3C,wBAA0BwoC,EAAI0lB,WACjD,OAAS/xG,EAAIiwG,YAAY5O,OAAM,GAAM,CAAC/hG,IAAI,mCAAmCk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CACxIwxG,QAAS,YACT,YAAc9xG,EAAIg7F,GAAG,oBAAoB,MAAQ,CACjD5xE,OAAQppB,EAAIoM,eAAemtC,uBAC3BxW,QAAS/iC,EAAIoM,eAAeqtC,wBAC5Bs4D,UAAW/xG,EAAIoM,eAAe03C,4BAC7BpjD,GAAG,CAAC,MAAQ,SAAU2rF,GACrBrsF,EAAIoM,eAAemtC,uBAAyB8yC,EAAIjjE,OAChDppB,EAAIoM,eAAeqtC,wBAA0B4yC,EAAItpD,QACjD/iC,EAAIoM,eAAe03C,0BAA4BuoC,EAAI0lB,WACnD,OAAS/xG,EAAIiwG,YAAY5O,OAAM,GAAM,CAAC/hG,IAAI,sBAAsBk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAyB,sBAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,YAAa,YAAc9xG,EAAIg7F,GAAG,aAAat6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAyB,WAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,aAAck7F,IAAMC,WAAW,+BAA+BvnG,EAAIyB,OAAO4/F,OAAM,GAAM,CAAC/hG,IAAI,sBAAsBk7F,GAAG,WAAW,MAAO,CAAEx6F,EAAyB,sBAAEI,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,YAAa,YAAc9xG,EAAIg7F,GAAG,aAAat6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAyB,WAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,aAAck7F,IAAMC,WAAW,+BAA+BvnG,EAAIyB,OAAO4/F,OAAM,GAAM,CAAC/hG,IAAI,sBAAsBk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,YAAa,YAAc9xG,EAAIg7F,GAAG,aAAat6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAAyB,WAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,aAAck7F,IAAMC,WAAW,iCAAiClG,OAAM,GAAM,CAAC/hG,IAAI,uBAAuBk7F,GAAG,WAAW,MAAO,CAACp6F,EAAG,eAAe,CAACE,MAAM,CAAC,OAAS,CAAEwxG,QAAS,eAAgB,YAAc9xG,EAAIg7F,GAAG,SAASt6F,GAAG,CAAC,OAASV,EAAIiwG,QAAQ5I,MAAM,CAACroG,MAAOgB,EAAIoM,eAA4B,cAAEusF,SAAS,SAAU2O,GAAMtnG,EAAIwnG,KAAKxnG,EAAIoM,eAAgB,gBAAiBk7F,IAAMC,WAAW,oCAAoClG,OAAM,IAAO,MAAK,QAAW,CAAC/hG,IAAI,YAAYk7F,GAAG,SAASC,GAChgD,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,WAAW,CAACE,MAAM,CAAC,OAAS0F,EAAK4oB,GAAG,QAAU5uB,EAAIquB,QAAQ1xB,OAASqD,EAAIquB,QAAU,CAACroB,EAAK4oB,UAAU,CAACtvB,IAAI,iBAAiBk7F,GAAG,SAASC,GAChI,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,gBAAgB,CAACE,MAAM,CAAC,KAAO0F,EAAK,QAAUhG,EAAIquB,QAAQ68C,SAASllE,EAAK4oB,KAAKluB,GAAG,CAAC,MAAQ,SAASq5F,GAAQ,OAAO/5F,EAAI69F,MAAM,QAAS73F,EAAK4oB,WAAW,CAACtvB,IAAI,kBAAkBk7F,GAAG,SAASC,GACpL,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAChG,EAAIk6F,GAAG,IAAIl6F,EAAIm6F,GAAGn6F,EAAI0tE,eAAe1nE,EAAK9B,SAAS,QAAQ,CAAC5E,IAAI,qBAAqBk7F,GAAG,SAASC,GAC3F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAON,EAAIgyG,cAAchsG,GAAM,MAAQ,YAAY,CAAC1G,IAAI,+BAA+Bk7F,GAAG,SAASC,GAC5H,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKo9C,wBAAwB,MAAQ,YAAY,CAAC9jD,IAAI,iCAAiCk7F,GAAG,SAASC,GACnI,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKq9C,0BAA0B,MAAQ,YAAY,CAAC/jD,IAAI,kBAAkBk7F,GAAG,SAASC,GACtH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKktB,WAAW,MAAQ,YAAY,CAAC5zB,IAAI,oBAAoBk7F,GAAG,SAASC,GACzG,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAK2pB,aAAa,MAAQ,YAAY,CAACrwB,IAAI,oBAAoBk7F,GAAG,SAASC,GAC3G,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAK40B,aAAa,MAAQ,YAAY,CAACt7B,IAAI,oBAAoBk7F,GAAG,SAASC,GAC3G,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAK63B,aAAa,MAAQ,YAAY,CAACv+B,IAAI,YAAYk7F,GAAG,SAASC,GACnG,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAK81B,KAAK,MAAQ,WAAW,CAACx8B,IAAI,eAAek7F,GAAG,SAASC,GAC7F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAK+qB,QAAQ,MAAQ,YAAY,CAACzxB,IAAI,uBAAuBk7F,GAAG,SAASC,GACzG,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAK+qB,cAAc,CAACzxB,IAAI,yBAAyBk7F,GAAG,SAASC,GACvF,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKk9C,kBAAkB,MAAQ,YAAY,CAAC5jD,IAAI,iCAAiCk7F,GAAG,SAASC,GAC7H,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKk9C,wBAAwB,CAAC5jD,IAAI,sBAAsBk7F,GAAG,SAASC,GAC9F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKwvB,eAAe,MAAQ,YAAY,CAACl2B,IAAI,8BAA8Bk7F,GAAG,SAASC,GACvH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKwvB,qBAAqB,CAACl2B,IAAI,oBAAoBk7F,GAAG,SAASC,GACzF,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKk0B,aAAa,MAAQ,YAAY,CAAC56B,IAAI,4BAA4Bk7F,GAAG,SAASC,GACnH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKk0B,mBAAmB,CAAC56B,IAAI,wBAAwBk7F,GAAG,SAASC,GAC3F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKm0B,iBAAiB,MAAQ,YAAY,CAAC76B,IAAI,gCAAgCk7F,GAAG,SAASC,GAC3H,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKm0B,uBAAuB,CAAC76B,IAAI,sBAAsBk7F,GAAG,SAASC,GAC7F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKo0B,eAAe,MAAQ,YAAY,CAAC96B,IAAI,8BAA8Bk7F,GAAG,SAASC,GACvH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKo0B,qBAAqB,CAAC96B,IAAI,mBAAmBk7F,GAAG,SAASC,GACxF,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKm1B,YAAY,MAAQ,YAAY,CAAC77B,IAAI,2BAA2Bk7F,GAAG,SAASC,GACjH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKm1B,kBAAkB,CAAC77B,IAAI,kBAAkBk7F,GAAG,SAASC,GACpF,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKg2B,WAAW,MAAQ,YAAY,CAAC18B,IAAI,0BAA0Bk7F,GAAG,SAASC,GAC/G,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKg2B,iBAAiB,CAAC18B,IAAI,wBAAwBk7F,GAAG,SAASC,GACzF,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKy1B,iBAAiB,MAAQ,YAAY,CAACn8B,IAAI,gCAAgCk7F,GAAG,SAASC,GAC3H,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKy1B,uBAAuB,CAACn8B,IAAI,oBAAoBk7F,GAAG,SAASC,GAC3F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKo2B,aAAa,MAAQ,YAAY,CAAC98B,IAAI,4BAA4Bk7F,GAAG,SAASC,GACnH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKo2B,mBAAmB,CAAC98B,IAAI,0BAA0Bk7F,GAAG,SAASC,GAC7F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKg4B,mBAAmB,MAAQ,YAAY,CAAC1+B,IAAI,kCAAkCk7F,GAAG,SAASC,GAC/H,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKg4B,yBAAyB,CAAC1+B,IAAI,iBAAiBk7F,GAAG,SAASC,GAC1F,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAKoxB,UAAU,MAAQ,YAAY,CAAC93B,IAAI,yBAAyBk7F,GAAG,SAASC,GAC7G,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,cAAc,CAACE,MAAM,CAAC,KAAO0F,EAAKoxB,gBAAgB,CAAC93B,IAAI,qBAAqBk7F,GAAG,SAASC,GACrF,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,OAAO,CAACQ,YAAY,oBAAoB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn0F,EAAKq5B,cAAgBr5B,EAAKq5B,cAAgB,EAAI,UAAU,CAAC//B,IAAI,uBAAuBk7F,GAAG,SAASC,GACpJ,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,OAAO,CAACQ,YAAY,oBAAoB,CAACZ,EAAIk6F,GAAGl6F,EAAIm6F,GAAGn0F,EAAK+8C,gBAAkB/8C,EAAK+8C,gBAAkB,UAAU,CAACzjD,IAAI,6BAA6Bk7F,GAAG,SAASC,GAC1J,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAON,EAAIiyG,+BAA+BjsG,EAAKm9C,uBAAuB,MAAQ,YAAY,CAAC7jD,IAAI,sBAAsBk7F,GAAG,SAASC,GAC1J,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAON,EAAIkyG,mBAAmBlsG,GAAM,MAAQ,YAAY,CAAC1G,IAAI,uBAAuBk7F,GAAG,SAASC,GACzH,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAON,EAAImyG,oBAAoBnsG,GAAM,MAAQ,YAAY,CAAC1G,IAAI,wBAAwBk7F,GAAG,SAASC,GAC3H,IAAIz0F,EAAOy0F,EAAIz0F,KAC7B,MAAO,CAAC5F,EAAG,oBAAoB,CAACE,MAAM,CAAC,KAAO0F,EAAK01B,iBAAiB,MAAQ,aAAa,MAAK,MAAS,IACnG,GAAkB,G,w8CC5GP,gBACbnxB,EACA6nG,EACAtwB,EACAuwB,GAEA,IAAIpmB,EAAMqmB,KASV,YARmBzxG,IAAfwxG,IACFpmB,EAAMomB,EACHrzB,KAAI,SAAApwD,GAAE,OAAIq9D,EAAIphB,MAAK,SAAAhsE,GAAC,OAAIA,EAAE+vB,KAAOA,QACjCL,QAAO,SAAAgkF,GAAC,YAAU1xG,IAAN0xG,MAEZH,IACHnmB,EAAM,GAAH,UAAOumB,GAAmB1wB,IAAM,GAAKmK,KAEnCA,EAAI19D,QAAO,SAAAgkF,GAAC,OAAKA,EAAEE,YAAcF,EAAEE,UAAUvnC,SAAS3gE,OAGzD+nG,GAAmB,WACvB,OAAOnwG,GAAQ68E,KACb,SAAAuzB,GAAC,WAEGG,UAAWH,EAAE3jF,GAAM,EAAI2jF,EAAE3jF,QAAK/tB,GAC3B0xG,OASLC,GAAqB,SAAC1wB,GAC1B,IAAMmK,EAAqC,CACzC,CACEr9D,IAAK,IACL5vB,MAAO,OACP0vB,MAAO,KAUX,OAPIozD,IAAUvtD,GAAWs5C,UACvBoe,EAAIhvF,KAAK,CACP2xB,IAAK,IACL5vB,MAAO,YACP0vB,MAAO,IAGJu9D,GAGH9pF,GAAyC,CAC7C,CACEysB,GAAI+zB,GAAYkgC,GAChB7jF,MAAO,KACPixB,KAAM,SACNvB,MAAO,IAET,CACEE,GAAI+zB,GAAY+/B,YAChB1jF,MAAO,cACPixB,KAAM,cACNvB,MAAO,GAET,CACEE,GAAI+zB,GAAYgwD,WAChB3zG,MAAO,aACPixB,KAAM,SACNvB,MAAO,GAET,CACEE,GAAI+zB,GAAY8/B,cAChBzjF,MAAO,gBACPixB,KAAM,YACNvB,MAAO,GAET,CACE+jF,UAAW,CAAC9wG,EAAUypE,QACtBx8C,GAAI+zB,GAAYsgC,WAChBjkF,MAAO,aACPixB,KAAM,SACNvB,MAAO,GAET,CACE+jF,UAAW,CAAC9wG,EAAU0pE,UACtBz8C,GAAI+zB,GAAYmgC,aAChB9jF,MAAO,eACPixB,KAAM,WACNvB,MAAO,GAET,CACE+jF,UAAW,CAAC9wG,EAAU4pE,UACtB38C,GAAI+zB,GAAYiwD,aAChB5zG,MAAO,eACPixB,KAAM,WACNvB,MAAO,GAET,CACE+jF,UAAW,CAAC9wG,EAAU4pE,SAAU5pE,EAAU2pE,UAC1C18C,GAAI+zB,GAAYkwD,aAChB7zG,MAAO,eACPixB,KAAM,WACNvB,MAAO,GAET,CACEE,GAAI+zB,GAAY2/B,wBAChBtjF,MAAO,0BACPixB,KAAM,iBACNvB,MAAO,GAET,CACEE,GAAI+zB,GAAY4/B,0BAChBvjF,MAAO,4BACPixB,KAAM,mBACNvB,MAAO,GAET,CACEE,GAAI+zB,GAAY60B,QAChBx4E,MAAO,UACPixB,KAAM,UACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYmwD,gBAChB9zG,MAAO,kBACPixB,KAAM,kBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYu1B,kBAChBl5E,MAAO,oBACPixB,KAAM,yBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYowD,0BAChB/zG,MAAO,4BACPixB,KAAM,iCACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY80B,eAChBz4E,MAAO,iBACPixB,KAAM,iBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYqwD,uBAChBh0G,MAAO,yBACPixB,KAAM,yBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYk1B,aAChB74E,MAAO,eACPixB,KAAM,eACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYswD,qBAChBj0G,MAAO,uBACPixB,KAAM,uBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYm1B,iBAChB94E,MAAO,mBACPixB,KAAM,mBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYuwD,yBAChBl0G,MAAO,2BACPixB,KAAM,2BACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYo1B,eAChB/4E,MAAO,iBACPixB,KAAM,iBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYwwD,uBAChBn0G,MAAO,yBACPixB,KAAM,yBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYywD,YAChBp0G,MAAO,cACPixB,KAAM,cACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY0wD,oBAChBr0G,MAAO,sBACPixB,KAAM,sBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYg1B,WAChB34E,MAAO,aACPixB,KAAM,aACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY2wD,mBAChBt0G,MAAO,qBACPixB,KAAM,qBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYq1B,iBAChBh5E,MAAO,mBACPixB,KAAM,mBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY4wD,yBAChBv0G,MAAO,2BACPixB,KAAM,2BACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYogC,aAChB/jF,MAAO,eACPixB,KAAM,gBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY6wD,qBAChBx0G,MAAO,uBACPixB,KAAM,wBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYs1B,mBAChBj5E,MAAO,qBACPixB,KAAM,qBACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY8wD,2BAChBz0G,MAAO,6BACPixB,KAAM,6BACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAYw1B,UAChBn5E,MAAO,YACPixB,KAAM,UACNvB,MAAO,KAET,CACEE,GAAI+zB,GAAY+wD,kBAChB10G,MAAO,oBACPixB,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WAAA,KAAQ+J,mBAAA,OFgGzG,SAAKJ,GACHA,iBACAA,iCACAA,yBACAA,mCACAA,yBALF,CAAKA,QAAgB,KAQrB,SAAKC,GACHA,yBACAA,2BACAA,mCACAA,2BACAA,qBACAA,uBACAA,yBACAA,yBACAA,+CACAA,uBACAA,yBACAA,mCACAA,2CACAA,qCACAA,6BACAA,6BACAA,iDACAA,yCACAA,yBACAA,eACAA,yBACAA,iBACAA,2BACAA,qCACAA,iBACAA,2BACAA,+BACAA,mBA5BF,CAAKA,QAAmB,KAuCTzvC,cAAIkyB,OAAO,CACxBr6D,WAAY,CACViuE,gBACAC,YACA8J,iBACAtP,cACAuP,mBAEF3d,MAAO,CACLx8F,MAAO,CAACigF,OAAQoe,OAAQ5B,QAAS7+F,OAAQkJ,OACzC0iG,YAAanL,OACbja,OAAQxmF,OACRo4G,kBAAmBvZ,SAErB2G,MAAO,CACLhf,OAAQ,CACNif,QAAO,WACL,OAAQpiG,KAAKmjF,OAAO0uB,SAClB,KAAK7xG,KAAK00G,SAAStgF,cACjBp0B,KAAKm5G,sBACL,MACF,KAAKn5G,KAAK00G,SAASj7E,OACjBz5B,KAAKo5G,eACL,MACF,KAAKp5G,KAAK00G,SAAS/+F,QACjB3V,KAAKq5G,iBACL,MACF,KAAKr5G,KAAK00G,SAAS4E,SACjBt5G,KAAKu5G,iBACL,MACF,KAAKv5G,KAAK00G,SAASzxE,SACnB,KAAKjjC,KAAK00G,SAASC,cACjB30G,KAAKw5G,gBACLx5G,KAAKq5G,iBACL,MACF,KAAKr5G,KAAK00G,SAASG,eACjB70G,KAAKy5G,sBACLz5G,KAAKq5G,iBACL,MACF,KAAKr5G,KAAK00G,SAASE,kBACjB50G,KAAK05G,yBACL15G,KAAKq5G,iBACL,MACF,KAAKr5G,KAAK00G,SAASiF,SACjB35G,KAAKwvG,iBACL,MACF,KAAKxvG,KAAK00G,SAAS1gE,IACjBh0C,KAAK45G,YACL,MACF,KAAK55G,KAAK00G,SAASmF,SACjB75G,KAAK85G,iBACL,MACF,KAAK95G,KAAK00G,SAAS74E,KACjB77B,KAAK+5G,aACL,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KZ7I,QAAS,CACPyrF,MAAOA,GACP9rE,aAAcA,GACd42B,YAAaA,GACbnE,cAAeA,GACf8kC,OAAM,WACJhwG,KAAK49F,MAAM,WAEb8oF,qBAAoB,SAACr5E,GACnB,OACEA,EAAIxrE,WACJ,MACAwrE,EAAIzrE,WACHyrE,EAAI1rE,4BACD,KAAO0rE,EAAI1rE,4BAA8B,IACzC,MAIVzlC,KAAM,iBAIA,CACJuqL,iBAAa7lL,EACbsvG,aAAc,IAAIlvB,GAAa,CAC7BpqD,aAAc,IACdsqD,OAAQ,CAAC,WACTC,SAAU,EAAC,KAEbj/E,QAAS,CACP,CAAEnD,MAAO,UAAW0vB,MAAO,GAC3B,CACE1vB,MAAO,YACPixB,KAAM,YACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,IAET,CACE1vB,MAAO,UACPixB,KAAM,WACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,IAET,CACE1vB,MAAO,YACPixB,KAAM,QACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,KAET,CACE1vB,MAAO,mBACPixB,KAAM,+BACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,KAET,CACE1vB,MAAO,OACPixB,KAAM,QACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,KAET,CACE1vB,MAAO,UACPixB,KAAM,MACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,KAET,CACE1vB,MAAO,eACPixB,KAAM,SACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,KAET,CACE1vB,MAAO,SACPixB,KAAM,SACNsoE,cAAc,EACd7pE,MAAO,GAET,CACE1vB,MAAO,gBACPixB,KAAM,QACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,IAET,CACE1vB,MAAO,oBACPixB,KAAM,OACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,IAET,CACE1vB,MAAO,QACPixB,KAAM,QACNsoE,cAAc,EACd7pE,MAAO,IAET,CACE1vB,MAAO,WACPixB,KAAM,SACNyiF,WAAW,EACXna,cAAc,EACd7pE,MAAO,UCrVqa,QCOhb,IAAY,gBACd,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","file":"js/app.36f22525.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// 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\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 \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--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=style&index=0&id=7b5a1866&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailviewer.vue?vue&type=style&index=0&id=7867ff06&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarMenu.vue?vue&type=style&index=0&id=f39dcd96&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRankings.vue?vue&type=style&index=0&id=31b4f806&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadOnlyDate.vue?vue&type=style&index=0&id=6be4482f&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingNotAvailable.vue?vue&type=style&index=0&id=cb629ae6&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionLoadHistory.vue?vue&type=style&index=0&id=fc56d1da&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSpotTender.vue?vue&type=style&index=0&id=674125f4&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SkeletonLoader.vue?vue&type=style&index=0&id=783f477e&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationsTable.vue?vue&type=style&index=0&id=58a3ed14&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessagesTable.vue?vue&type=style&index=0&id=470fdbcc&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDropdown.vue?vue&type=style&index=0&id=12423d10&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadListTabs.vue?vue&type=style&index=0&id=3ca3f3a9&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsFilters.vue?vue&type=style&index=0&id=6faf0f34&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderReview.vue?vue&type=style&index=0&id=692a5e1b&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=style&index=0&id=355bce08&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsSheet.vue?vue&type=style&index=0&id=5a84301b&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialog.vue?vue&type=style&index=0&id=77db94f2&scoped=true&lang=css&\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=179f2d8b&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSearchTable.vue?vue&type=style&index=0&id=d06be3b6&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsVis.vue?vue&type=style&index=0&id=c1a7f618&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionPrices.vue?vue&type=style&index=0&id=028fbcc9&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextWithAutocomplete.vue?vue&type=style&index=0&id=6ae22e68&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppendixPackageSpecDialog.vue?vue&type=style&index=0&id=0961bf08&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/triona-lines.a398911a.png\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadOnlyText.vue?vue&type=style&index=0&id=63dcf101&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextMulti.vue?vue&type=style&index=0&id=616e8ebc&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchDouble.vue?vue&type=style&index=0&id=b6c35338&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentInput.vue?vue&type=style&index=0&id=610a81ae&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/nb-NO.4b57a28e.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGenerator.vue?vue&type=style&index=0&id=4b7aa908&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/sv-SE.97ce2d67.svg\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirmation.vue?vue&type=style&index=0&id=417e9e52&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/en-US.0b2080d0.svg\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogActions.vue?vue&type=style&index=0&id=1e2e9937&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementReview.vue?vue&type=style&index=0&id=1762b697&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadListTable.vue?vue&type=style&index=0&id=a6e6688e&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRelatedLoads.vue?vue&type=style&index=0&id=d289fa40&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFilter.vue?vue&type=style&index=0&id=f50da5b2&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublishSpeedSlider.vue?vue&type=style&index=0&id=634246db&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexAccordion.vue?vue&type=style&index=0&id=f8e91a2a&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadRelatedTable.vue?vue&type=style&index=0&id=ea9bd888&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InternetExplorerNotSupported.vue?vue&type=style&index=0&id=3ecc4ec6&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogCard.vue?vue&type=style&index=0&id=0d8d2186&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateAgreementRouteDialog.vue?vue&type=style&index=0&id=fefb3950&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSearchInput.vue?vue&type=style&index=0&id=1187bdfb&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"media/countdown.e27480c6.mp3\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emission.vue?vue&type=style&index=0&id=b4e338fa&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/fair-transport-logo.b5693f70.png\";","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTable.vue?vue&type=style&index=0&id=a556f11a&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSingle.vue?vue&type=style&index=0&id=58123a06&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundTasksTable.vue?vue&type=style&index=0&id=10730d24&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTablePriceInputs.vue?vue&type=style&index=0&id=4b443182&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomTableHeader.vue?vue&type=style&index=0&id=75ffef0c&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadRelatedTableCompact.vue?vue&type=style&index=0&id=66b574c2&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditContainersDialog.vue?vue&type=style&index=0&id=b22092e0&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotDots.vue?vue&type=style&index=0&id=3a860850&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsTable.vue?vue&type=style&index=0&id=960ee5e8&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTableExpansion.vue?vue&type=style&index=0&id=ba90b270&scoped=true&lang=css&\"","module.exports = __webpack_public_path__ + \"img/fi-FI.c54c981c.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileToolbarMenu.vue?vue&type=style&index=0&id=111d3536&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDots.vue?vue&type=style&index=0&id=121e96d5&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogLoadDetails.vue?vue&type=style&index=0&id=4efbeb7c&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchSingle.vue?vue&type=style&index=0&id=4dd22b84&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSaved.vue?vue&type=style&index=0&id=bc7e893e&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnitAutocomplete.vue?vue&type=style&index=0&id=2dbca77c&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyOverview.vue?vue&type=style&index=0&id=71abc5e0&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditNews.vue?vue&type=style&index=0&id=962b6c74&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=style&index=0&id=63d6c22b&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=style&index=0&id=6952ecf6&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchCard.vue?vue&type=style&index=0&id=3ed99558&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainers.vue?vue&type=style&index=0&id=8b5a5680&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDocumentsTable.vue?vue&type=style&index=0&id=25ee1be2&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutocompleteMultiCountry.vue?vue&type=style&index=0&id=98fe72e0&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePickerDuration.vue?vue&type=style&index=0&id=e77bac2a&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementActions.vue?vue&type=style&index=0&id=4e660199&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupplierSelectTable.vue?vue&type=style&index=0&id=f5fdc262&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GreyTitle.vue?vue&type=style&index=0&id=48657204&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePickerDialog.vue?vue&type=style&index=0&id=1b7ff12d&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarDay.vue?vue&type=style&index=0&id=9f67e500&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingCalendar.vue?vue&type=style&index=0&id=0e9ae9f3&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Autocomplete.vue?vue&type=style&index=0&id=6586c4ac&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDropZone.vue?vue&type=style&index=0&id=0e0f6cfe&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButWhy.vue?vue&type=style&index=0&id=5b6e8bb2&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTable.vue?vue&type=style&index=0&id=7e65bd3c&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientEditSpotTenderDialog.vue?vue&type=style&index=0&id=1d885c88&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageRecipientDialog.vue?vue&type=style&index=0&id=66aa3bca&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogCard.vue?vue&type=style&index=0&id=146b911c&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExcludedActorsCard.vue?vue&type=style&index=0&id=5549cb42&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTabsEdit.vue?vue&type=style&index=0&id=43740fea&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=style&index=0&id=1f40c05c&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainersDetailsDialog.vue?vue&type=style&index=0&id=47522cd0&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownMulti.vue?vue&type=style&index=0&id=f7e026e4&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbars.vue?vue&type=style&index=0&id=0b014380&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlots.vue?vue&type=style&index=0&id=2bf53069&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=style&index=0&id=6a6525aa&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadHistoryDialog.vue?vue&type=style&index=0&id=78d8c863&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoMenu.vue?vue&type=style&index=0&id=57b6cd82&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationReadOnly.vue?vue&type=style&index=0&id=56d57a72&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsTableExpansion.vue?vue&type=style&index=0&id=52a3495a&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendar.vue?vue&type=style&index=0&id=4dc2b0b5&scoped=true&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app',[_c('Toolbar',{attrs:{\"username\":_vm.username,\"menu\":_vm.menu,\"unauthenticatedPage\":_vm.unauthenticatedPage},on:{\"signout\":_vm.signout}}),_c('v-main',{staticClass:\"background-pale\"},[_c('Alert',{attrs:{\"show\":_vm.broadcast !== undefined,\"message\":_vm.broadcastMessage,\"secondsLeft\":_vm.broadcastSecondsLeft}}),_c('Alert',{attrs:{\"show\":_vm.globalError.show,\"message\":_vm.globalError.message,\"closable\":_vm.globalError.closable,\"error\":true},on:{\"hide\":_vm.hideGlobalError}}),_c('Sound'),_c('Confirmation',{attrs:{\"confirmationOptions\":_vm.confirmationOptions}}),_c('Snackbars'),_c('ContentContainer',[(_vm.menu.length === 0 && !_vm.unauthenticatedPage)?_c('Spinner',{attrs:{\"size\":180,\"top-margin\":\"\"}}):(_vm.pageForbiddenReason !== undefined)?_c('Forbidden',{attrs:{\"reason\":_vm.pageForbiddenReason}}):_c('div',{staticClass:\"medium-padding-top medium-padding-sides\"},[_c('router-view'),_c('router-view',{attrs:{\"name\":_vm.actorTypeString}})],1)],1)],1),(_vm.mobile)?_c('MobileFooter'):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v14.1.0.0 (NJsonSchema v11.0.2.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport axios, { AxiosError, AxiosInstance, AxiosRequestConfig, AxiosResponse, CancelToken } from 'axios';\r\nimport CDate, { CDuration } from \"@/scripts/misc/cdate\";\r\nexport class ApiConfiguration {\r\n constructor(public store: any) {\r\n }\r\n}\r\n\r\nexport class ApiClientBase extends ApiConfiguration {\r\n constructor(apiConf: ApiConfiguration) {\r\n super(apiConf.store);\r\n }\r\n\r\n protected async transformOptions(options: AxiosRequestConfig): Promise {\r\n options.headers = { ...options.headers, \"Authorization\": `Bearer ${this.store.getters.token}`, \"CurrentClientVersion\": this.store.getters.currentClientVersion };\r\n //console.error(options);\r\n return Promise.resolve(options);\r\n }\r\n\r\n // KAN SLÅS PÅ I NSWAG-CONFIG SÅ DENNA ANROPAS.\r\n protected transformResult(url: string, response: AxiosResponse, processor: (response: AxiosResponse) => any) {\r\n console.error(response);\r\n return processor(response);\r\n }\r\n}\r\n\r\nexport interface IUsersClient {\r\n profile(): Promise;\r\n saveLanguage(culture: Culture | undefined): Promise;\r\n userConfiguration(req: UserConfigurationDto): Promise;\r\n userListExport(): Promise;\r\n basicUserSettingsList(): Promise;\r\n basicUserSettings(loadUserId: number | undefined): Promise;\r\n saveBasicUserSettings(saveDto: BasicUserSettingsDto): Promise;\r\n notificationSettings(loadUserId: number | undefined): Promise;\r\n saveNotificationSettings(saveDto: NotificationSettingsDto): Promise;\r\n checkUsername(username: string | null | undefined): Promise;\r\n resetCredentials(username: string | null | undefined): Promise;\r\n reportScreenDimensions(dimensions: ReportScreenDimensionsDto): Promise;\r\n listForSupportAdmin(): Promise;\r\n exportSelectionForSupportAdmin(loadUserIds: number[]): Promise;\r\n byActorId(actorId: number | null | undefined): Promise;\r\n resetLockout(loadUserId: number | undefined): Promise;\r\n enable(loadUserId: number | undefined, enable: boolean | undefined): Promise;\r\n edit(user: UserDto): Promise;\r\n clearConfigurations(loadUserId: number | undefined): Promise;\r\n copyConfigurations(loadUserId: number | undefined): Promise;\r\n mutateActor(actorId: number | undefined): Promise;\r\n mutateUserLevel(userLevel: UserLevel | undefined): Promise;\r\n resetCredentialsLink(username: string | null | undefined): Promise;\r\n}\r\n\r\nexport class UsersClient extends ApiClientBase implements IUsersClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n profile( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/profile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processProfile(_response);\r\n });\r\n }\r\n\r\n protected processProfile(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProfileDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveLanguage(culture: Culture | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/save-language?\";\r\n if (culture === null)\r\n throw new Error(\"The parameter 'culture' cannot be null.\");\r\n else if (culture !== undefined)\r\n url_ += \"culture=\" + encodeURIComponent(\"\" + culture) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveLanguage(_response);\r\n });\r\n }\r\n\r\n protected processSaveLanguage(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n userConfiguration(req: UserConfigurationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/user-configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(req);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUserConfiguration(_response);\r\n });\r\n }\r\n\r\n protected processUserConfiguration(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n userListExport( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/user-list-export\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUserListExport(_response);\r\n });\r\n }\r\n\r\n protected processUserListExport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n basicUserSettingsList( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/basic-user-settings-list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBasicUserSettingsList(_response);\r\n });\r\n }\r\n\r\n protected processBasicUserSettingsList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BasicUserSettingsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n basicUserSettings(loadUserId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/basic-user-settings?\";\r\n if (loadUserId === null)\r\n throw new Error(\"The parameter 'loadUserId' cannot be null.\");\r\n else if (loadUserId !== undefined)\r\n url_ += \"loadUserId=\" + encodeURIComponent(\"\" + loadUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBasicUserSettings(_response);\r\n });\r\n }\r\n\r\n protected processBasicUserSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = BasicUserSettingsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveBasicUserSettings(saveDto: BasicUserSettingsDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/save-basic-user-settings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveBasicUserSettings(_response);\r\n });\r\n }\r\n\r\n protected processSaveBasicUserSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n notificationSettings(loadUserId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/notification-settings?\";\r\n if (loadUserId === null)\r\n throw new Error(\"The parameter 'loadUserId' cannot be null.\");\r\n else if (loadUserId !== undefined)\r\n url_ += \"loadUserId=\" + encodeURIComponent(\"\" + loadUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNotificationSettings(_response);\r\n });\r\n }\r\n\r\n protected processNotificationSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = NotificationSettingsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveNotificationSettings(saveDto: NotificationSettingsDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/save-notification-settings\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveNotificationSettings(_response);\r\n });\r\n }\r\n\r\n protected processSaveNotificationSettings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n checkUsername(username: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/check-username?\";\r\n if (username !== undefined && username !== null)\r\n url_ += \"username=\" + encodeURIComponent(\"\" + username) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCheckUsername(_response);\r\n });\r\n }\r\n\r\n protected processCheckUsername(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resetCredentials(username: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/reset-credentials?\";\r\n if (username !== undefined && username !== null)\r\n url_ += \"username=\" + encodeURIComponent(\"\" + username) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetCredentials(_response);\r\n });\r\n }\r\n\r\n protected processResetCredentials(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reportScreenDimensions(dimensions: ReportScreenDimensionsDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/users/report-screen-dimensions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(dimensions);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReportScreenDimensions(_response);\r\n });\r\n }\r\n\r\n protected processReportScreenDimensions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listForSupportAdmin( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/list-for-support-admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processListForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupportAdminUserListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportSelectionForSupportAdmin(loadUserIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/export-selection-for-support-admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadUserIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportSelectionForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processExportSelectionForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n byActorId(actorId: number | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/by-actor-id?\";\r\n if (actorId !== undefined && actorId !== null)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processByActorId(_response);\r\n });\r\n }\r\n\r\n protected processByActorId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(UserDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resetLockout(loadUserId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/reset-lockout?\";\r\n if (loadUserId === null)\r\n throw new Error(\"The parameter 'loadUserId' cannot be null.\");\r\n else if (loadUserId !== undefined)\r\n url_ += \"loadUserId=\" + encodeURIComponent(\"\" + loadUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetLockout(_response);\r\n });\r\n }\r\n\r\n protected processResetLockout(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n enable(loadUserId: number | undefined, enable: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/enable?\";\r\n if (loadUserId === null)\r\n throw new Error(\"The parameter 'loadUserId' cannot be null.\");\r\n else if (loadUserId !== undefined)\r\n url_ += \"loadUserId=\" + encodeURIComponent(\"\" + loadUserId) + \"&\";\r\n if (enable === null)\r\n throw new Error(\"The parameter 'enable' cannot be null.\");\r\n else if (enable !== undefined)\r\n url_ += \"enable=\" + encodeURIComponent(\"\" + enable) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEnable(_response);\r\n });\r\n }\r\n\r\n protected processEnable(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(user: UserDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(user);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEdit(_response);\r\n });\r\n }\r\n\r\n protected processEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clearConfigurations(loadUserId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/clear-configurations?\";\r\n if (loadUserId === null)\r\n throw new Error(\"The parameter 'loadUserId' cannot be null.\");\r\n else if (loadUserId !== undefined)\r\n url_ += \"loadUserId=\" + encodeURIComponent(\"\" + loadUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClearConfigurations(_response);\r\n });\r\n }\r\n\r\n protected processClearConfigurations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n copyConfigurations(loadUserId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/copy-configurations?\";\r\n if (loadUserId === null)\r\n throw new Error(\"The parameter 'loadUserId' cannot be null.\");\r\n else if (loadUserId !== undefined)\r\n url_ += \"loadUserId=\" + encodeURIComponent(\"\" + loadUserId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCopyConfigurations(_response);\r\n });\r\n }\r\n\r\n protected processCopyConfigurations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n mutateActor(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/mutate-actor?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMutateActor(_response);\r\n });\r\n }\r\n\r\n protected processMutateActor(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n mutateUserLevel(userLevel: UserLevel | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/mutate-user-level?\";\r\n if (userLevel === null)\r\n throw new Error(\"The parameter 'userLevel' cannot be null.\");\r\n else if (userLevel !== undefined)\r\n url_ += \"userLevel=\" + encodeURIComponent(\"\" + userLevel) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMutateUserLevel(_response);\r\n });\r\n }\r\n\r\n protected processMutateUserLevel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resetCredentialsLink(username: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/users/reset-credentials-link?\";\r\n if (username !== undefined && username !== null)\r\n url_ += \"username=\" + encodeURIComponent(\"\" + username) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetCredentialsLink(_response);\r\n });\r\n }\r\n\r\n protected processResetCredentialsLink(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISurveyClientClient {\r\n surveys(): Promise;\r\n latestSubmission(supplierId: number | undefined): Promise;\r\n suppliers(): Promise;\r\n}\r\n\r\nexport class SurveyClientClient extends ApiClientBase implements ISurveyClientClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n surveys( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-client/surveys\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSurveys(_response);\r\n });\r\n }\r\n\r\n protected processSurveys(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SurveyDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n latestSubmission(supplierId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-client/latest-submission?\";\r\n if (supplierId === null)\r\n throw new Error(\"The parameter 'supplierId' cannot be null.\");\r\n else if (supplierId !== undefined)\r\n url_ += \"supplierId=\" + encodeURIComponent(\"\" + supplierId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLatestSubmission(_response);\r\n });\r\n }\r\n\r\n protected processLatestSubmission(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SurveySubmissionDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suppliers( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-client/suppliers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuppliers(_response);\r\n });\r\n }\r\n\r\n protected processSuppliers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SurveySupplierDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISurveySupplierClient {\r\n surveys(): Promise;\r\n submissions(): Promise;\r\n submission(submissionId: number | undefined): Promise;\r\n submit(submission: SurveySubmissionSaveDto): Promise;\r\n}\r\n\r\nexport class SurveySupplierClient extends ApiClientBase implements ISurveySupplierClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n surveys( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-supplier/surveys\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSurveys(_response);\r\n });\r\n }\r\n\r\n protected processSurveys(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SurveyDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submissions( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-supplier/submissions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubmissions(_response);\r\n });\r\n }\r\n\r\n protected processSubmissions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SurveySubmissionDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submission(submissionId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-supplier/submission?\";\r\n if (submissionId === null)\r\n throw new Error(\"The parameter 'submissionId' cannot be null.\");\r\n else if (submissionId !== undefined)\r\n url_ += \"submissionId=\" + encodeURIComponent(\"\" + submissionId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubmission(_response);\r\n });\r\n }\r\n\r\n protected processSubmission(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SurveySubmissionDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submit(submission: SurveySubmissionSaveDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/survey-supplier/submit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(submission);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubmit(_response);\r\n });\r\n }\r\n\r\n protected processSubmit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISupportClient {\r\n preSupport(): Promise;\r\n send(supportFormDto: SupportFormDto): Promise;\r\n}\r\n\r\nexport class SupportClient extends ApiClientBase implements ISupportClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n preSupport( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support/pre-support\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreSupport(_response);\r\n });\r\n }\r\n\r\n protected processPreSupport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SupportFormPreDetailsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n send(supportFormDto: SupportFormDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support/send\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(supportFormDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSend(_response);\r\n });\r\n }\r\n\r\n protected processSend(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IActorsClient {\r\n actorForSupportAdmin(actorId: number | undefined): Promise;\r\n listForSupportAdmin(): Promise;\r\n exportListForSupportAdmin(actorIds: number[]): Promise;\r\n editForSupportAdmin(actor: ActorDto): Promise;\r\n enable(actorId: number | undefined, enable: boolean | undefined): Promise;\r\n lockUsers(actorId: number | undefined, lockUsers: boolean | undefined): Promise;\r\n actorsForMutation(): Promise;\r\n suppliersForSupportAdmin(cargoType: CargoType | null | undefined): Promise;\r\n clientsForSupportAdmin(includeInactive: boolean | undefined): Promise;\r\n editInvoiceInformation(invoiceDto: EditInvoiceInformationDto): Promise;\r\n orgNo(): Promise;\r\n actorInvoiceInformationForSupportAdmin(actorId: number | undefined): Promise;\r\n list(actorType: ActorType | undefined): Promise;\r\n listExport(actorTypeToExport: ActorType | undefined, actorIds: number[]): Promise;\r\n details(actorId: number | undefined): Promise;\r\n superAdmins(): Promise;\r\n preEdit(): Promise;\r\n edit(saveDto: EditActorDto): Promise;\r\n publishRules(clientId: number | undefined): Promise;\r\n savePublishRules(publishRules: PublishRuleDto[]): Promise;\r\n clientSchedule(clientId: number | undefined): Promise;\r\n saveClientSchedule(saveDto: ClientScheduleDto): Promise;\r\n actorConfiguration(req: ActorConfigurationDto): Promise;\r\n deleteActorConfiguration(req: ActorConfigurationDto): Promise;\r\n saveExcludedActors(actorIds: number[]): Promise;\r\n actorInvoiceInformation(): Promise;\r\n}\r\n\r\nexport class ActorsClient extends ApiClientBase implements IActorsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n actorForSupportAdmin(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/actor-for-support-admin?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActorForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processActorForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ActorDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listForSupportAdmin( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/list-for-support-admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processListForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupportAdminActorListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportListForSupportAdmin(actorIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/export-list-for-support-admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(actorIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportListForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processExportListForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editForSupportAdmin(actor: ActorDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/edit-for-support-admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(actor);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEditForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processEditForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n enable(actorId: number | undefined, enable: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/enable?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n if (enable === null)\r\n throw new Error(\"The parameter 'enable' cannot be null.\");\r\n else if (enable !== undefined)\r\n url_ += \"enable=\" + encodeURIComponent(\"\" + enable) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEnable(_response);\r\n });\r\n }\r\n\r\n protected processEnable(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n lockUsers(actorId: number | undefined, lockUsers: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/lock-users?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n if (lockUsers === null)\r\n throw new Error(\"The parameter 'lockUsers' cannot be null.\");\r\n else if (lockUsers !== undefined)\r\n url_ += \"lockUsers=\" + encodeURIComponent(\"\" + lockUsers) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLockUsers(_response);\r\n });\r\n }\r\n\r\n protected processLockUsers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actorsForMutation( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/actors-for-mutation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActorsForMutation(_response);\r\n });\r\n }\r\n\r\n protected processActorsForMutation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suppliersForSupportAdmin(cargoType: CargoType | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/suppliers-for-support-admin?\";\r\n if (cargoType !== undefined && cargoType !== null)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuppliersForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processSuppliersForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientsForSupportAdmin(includeInactive: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/clients-for-support-admin?\";\r\n if (includeInactive === null)\r\n throw new Error(\"The parameter 'includeInactive' cannot be null.\");\r\n else if (includeInactive !== undefined)\r\n url_ += \"includeInactive=\" + encodeURIComponent(\"\" + includeInactive) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientsForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processClientsForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editInvoiceInformation(invoiceDto: EditInvoiceInformationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/edit-invoice-information\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(invoiceDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEditInvoiceInformation(_response);\r\n });\r\n }\r\n\r\n protected processEditInvoiceInformation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n orgNo( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/org-no\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOrgNo(_response);\r\n });\r\n }\r\n\r\n protected processOrgNo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActorOrgNoDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actorInvoiceInformationForSupportAdmin(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/actor-invoice-information-for-support-admin?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActorInvoiceInformationForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processActorInvoiceInformationForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(actorType: ActorType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/list?\";\r\n if (actorType === null)\r\n throw new Error(\"The parameter 'actorType' cannot be null.\");\r\n else if (actorType !== undefined)\r\n url_ += \"actorType=\" + encodeURIComponent(\"\" + actorType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActorListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listExport(actorTypeToExport: ActorType | undefined, actorIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/list-export?\";\r\n if (actorTypeToExport === null)\r\n throw new Error(\"The parameter 'actorTypeToExport' cannot be null.\");\r\n else if (actorTypeToExport !== undefined)\r\n url_ += \"actorTypeToExport=\" + encodeURIComponent(\"\" + actorTypeToExport) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(actorIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListExport(_response);\r\n });\r\n }\r\n\r\n protected processListExport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n details(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/details?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDetails(_response);\r\n });\r\n }\r\n\r\n protected processDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ActorDetailsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n superAdmins( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/super-admins\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuperAdmins(_response);\r\n });\r\n }\r\n\r\n protected processSuperAdmins(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SuperAdminDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preEdit( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/pre-edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreEdit(_response);\r\n });\r\n }\r\n\r\n protected processPreEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PreEditActorDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(saveDto: EditActorDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEdit(_response);\r\n });\r\n }\r\n\r\n protected processEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n publishRules(clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/publish-rules?\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPublishRules(_response);\r\n });\r\n }\r\n\r\n protected processPublishRules(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PublishRuleDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n savePublishRules(publishRules: PublishRuleDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/save-publish-rules\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(publishRules);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSavePublishRules(_response);\r\n });\r\n }\r\n\r\n protected processSavePublishRules(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientSchedule(clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/client-schedule?\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientSchedule(_response);\r\n });\r\n }\r\n\r\n protected processClientSchedule(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ClientScheduleDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveClientSchedule(saveDto: ClientScheduleDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/save-client-schedule\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveClientSchedule(_response);\r\n });\r\n }\r\n\r\n protected processSaveClientSchedule(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actorConfiguration(req: ActorConfigurationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/actor-configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(req);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActorConfiguration(_response);\r\n });\r\n }\r\n\r\n protected processActorConfiguration(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteActorConfiguration(req: ActorConfigurationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/delete-actor-configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(req);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteActorConfiguration(_response);\r\n });\r\n }\r\n\r\n protected processDeleteActorConfiguration(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveExcludedActors(actorIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/save-excluded-actors\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(actorIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveExcludedActors(_response);\r\n });\r\n }\r\n\r\n protected processSaveExcludedActors(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actorInvoiceInformation( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/actors/actor-invoice-information\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActorInvoiceInformation(_response);\r\n });\r\n }\r\n\r\n protected processActorInvoiceInformation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IActorSigningClient {\r\n list(): Promise;\r\n terminate(actorId: number | undefined): Promise;\r\n initialize(actorId: number | undefined): Promise;\r\n sendReminder(actorId: number | undefined): Promise;\r\n}\r\n\r\nexport class ActorSigningClient extends ApiClientBase implements IActorSigningClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actor-signing/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActorSigningDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n terminate(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actor-signing/terminate?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTerminate(_response);\r\n });\r\n }\r\n\r\n protected processTerminate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n initialize(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actor-signing/initialize?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInitialize(_response);\r\n });\r\n }\r\n\r\n protected processInitialize(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n sendReminder(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actor-signing/send-reminder?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSendReminder(_response);\r\n });\r\n }\r\n\r\n protected processSendReminder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IAgreementsClient {\r\n agreements(searchCriteria: AgreementSearchCriteriaDto): Promise;\r\n updatePrice(agreementRows: AgreementRowPriceUpdateDto[]): Promise;\r\n addSupplierToProcurements(data: AddSupplierToProcurementsDto): Promise;\r\n exportToExcel(searchCriteria: AgreementSearchCriteriaDto): Promise;\r\n clientsWithProcurements(cargoType: CargoType | undefined): Promise;\r\n setProcurementEnd(agreementId: number | undefined): Promise;\r\n specialRequirements(agreementRouteId: number | undefined): Promise;\r\n}\r\n\r\nexport class AgreementsClient extends ApiClientBase implements IAgreementsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n agreements(searchCriteria: AgreementSearchCriteriaDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/agreements/agreements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreements(_response);\r\n });\r\n }\r\n\r\n protected processAgreements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updatePrice(agreementRows: AgreementRowPriceUpdateDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/agreements/update-price\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(agreementRows);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdatePrice(_response);\r\n });\r\n }\r\n\r\n protected processUpdatePrice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addSupplierToProcurements(data: AddSupplierToProcurementsDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/agreements/add-supplier-to-procurements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(data);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddSupplierToProcurements(_response);\r\n });\r\n }\r\n\r\n protected processAddSupplierToProcurements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(searchCriteria: AgreementSearchCriteriaDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/agreements/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientsWithProcurements(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/agreements/clients-with-procurements?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientsWithProcurements(_response);\r\n });\r\n }\r\n\r\n protected processClientsWithProcurements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setProcurementEnd(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/agreements/set-procurement-end?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSetProcurementEnd(_response);\r\n });\r\n }\r\n\r\n protected processSetProcurementEnd(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n specialRequirements(agreementRouteId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements/special-requirements?\";\r\n if (agreementRouteId === null)\r\n throw new Error(\"The parameter 'agreementRouteId' cannot be null.\");\r\n else if (agreementRouteId !== undefined)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSpecialRequirements(_response);\r\n });\r\n }\r\n\r\n protected processSpecialRequirements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISupportAdminDashboardClient {\r\n currentLoads(): Promise;\r\n procurements(): Promise;\r\n agreements(): Promise;\r\n}\r\n\r\nexport class SupportAdminDashboardClient extends ApiClientBase implements ISupportAdminDashboardClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n currentLoads( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/support-admin-dashboard/current-loads\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCurrentLoads(_response);\r\n });\r\n }\r\n\r\n protected processCurrentLoads(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupportAdminDashboardCurrentLoads.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n procurements( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/support-admin-dashboard/procurements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processProcurements(_response);\r\n });\r\n }\r\n\r\n protected processProcurements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupportAdminDashboardProcurements.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreements( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/support-admin-dashboard/agreements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreements(_response);\r\n });\r\n }\r\n\r\n protected processAgreements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupportAdminDashboardAgreements.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IDistanceClient {\r\n list(criteria: AgreementRouteDistanceSearchCriteriaContainer): Promise;\r\n update(agreementRoute: AgreementRouteDistanceDto): Promise;\r\n}\r\n\r\nexport class DistanceClient extends ApiClientBase implements IDistanceClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list(criteria: AgreementRouteDistanceSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/distance/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementRouteDistanceContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(agreementRoute: AgreementRouteDistanceDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/distance/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(agreementRoute);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementRouteDistanceDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IDocumentsClient {\r\n supportAdminList(): Promise;\r\n supportAdminDetails(documentGroupId: number | undefined): Promise;\r\n saveToNewsGroup(file: SaveDiskFileToDocumentDto): Promise;\r\n list(docType: DocType | null | undefined, includeHidden: boolean | undefined): Promise;\r\n clients(docType: DocType | null | undefined): Promise;\r\n spotTender(loadId: number | undefined): Promise;\r\n clientDocumentsForSuppliers(): Promise;\r\n details(documentGroupId: number | undefined): Promise;\r\n save(saveDto: DocumentGroupSaveDto): Promise;\r\n saveToLoadGroup(file: SaveDiskFileToDocumentDto): Promise;\r\n saveToMessageGroup(file: SaveDiskFileToDocumentDto): Promise;\r\n loadDocuments(loadId: number | undefined): Promise;\r\n}\r\n\r\nexport class DocumentsClient extends ApiClientBase implements IDocumentsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n supportAdminList( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/support-admin-list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSupportAdminList(_response);\r\n });\r\n }\r\n\r\n protected processSupportAdminList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DocumentGroupDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n supportAdminDetails(documentGroupId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/support-admin-details?\";\r\n if (documentGroupId === null)\r\n throw new Error(\"The parameter 'documentGroupId' cannot be null.\");\r\n else if (documentGroupId !== undefined)\r\n url_ += \"documentGroupId=\" + encodeURIComponent(\"\" + documentGroupId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSupportAdminDetails(_response);\r\n });\r\n }\r\n\r\n protected processSupportAdminDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DocumentGroupContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveToNewsGroup(file: SaveDiskFileToDocumentDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/save-to-news-group\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(file);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveToNewsGroup(_response);\r\n });\r\n }\r\n\r\n protected processSaveToNewsGroup(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(docType: DocType | null | undefined, includeHidden: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/list?\";\r\n if (docType !== undefined && docType !== null)\r\n url_ += \"docType=\" + encodeURIComponent(\"\" + docType) + \"&\";\r\n if (includeHidden === null)\r\n throw new Error(\"The parameter 'includeHidden' cannot be null.\");\r\n else if (includeHidden !== undefined)\r\n url_ += \"includeHidden=\" + encodeURIComponent(\"\" + includeHidden) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DocumentGroupDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clients(docType: DocType | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/clients?\";\r\n if (docType !== undefined && docType !== null)\r\n url_ += \"docType=\" + encodeURIComponent(\"\" + docType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClients(_response);\r\n });\r\n }\r\n\r\n protected processClients(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DocumentGroupDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n spotTender(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/spot-tender?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DocumentGroupDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientDocumentsForSuppliers( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/client-documents-for-suppliers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientDocumentsForSuppliers(_response);\r\n });\r\n }\r\n\r\n protected processClientDocumentsForSuppliers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClientDocumentsForSuppliersDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n details(documentGroupId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/details?\";\r\n if (documentGroupId === null)\r\n throw new Error(\"The parameter 'documentGroupId' cannot be null.\");\r\n else if (documentGroupId !== undefined)\r\n url_ += \"documentGroupId=\" + encodeURIComponent(\"\" + documentGroupId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDetails(_response);\r\n });\r\n }\r\n\r\n protected processDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DocumentGroupContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(saveDto: DocumentGroupSaveDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveToLoadGroup(file: SaveDiskFileToDocumentDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/save-to-load-group\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(file);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveToLoadGroup(_response);\r\n });\r\n }\r\n\r\n protected processSaveToLoadGroup(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveToMessageGroup(file: SaveDiskFileToDocumentDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/save-to-message-group\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(file);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveToMessageGroup(_response);\r\n });\r\n }\r\n\r\n protected processSaveToMessageGroup(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadDocuments(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/documents/load-documents?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadDocuments(_response);\r\n });\r\n }\r\n\r\n protected processLoadDocuments(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadDocumentDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IMailviewerClient {\r\n emails(criteria: EmailSearchCriteria): Promise;\r\n renderEmail(renderTemplateDto: RenderTemplateDto): Promise;\r\n resetEmailRetrycount(emailId: number | undefined): Promise;\r\n}\r\n\r\nexport class MailviewerClient extends ApiClientBase implements IMailviewerClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n emails(criteria: EmailSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/mailviewer/emails\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEmails(_response);\r\n });\r\n }\r\n\r\n protected processEmails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EmailDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n renderEmail(renderTemplateDto: RenderTemplateDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/mailviewer/render-email\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(renderTemplateDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRenderEmail(_response);\r\n });\r\n }\r\n\r\n protected processRenderEmail(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resetEmailRetrycount(emailId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/mailviewer/reset-email-retrycount?\";\r\n if (emailId === null)\r\n throw new Error(\"The parameter 'emailId' cannot be null.\");\r\n else if (emailId !== undefined)\r\n url_ += \"emailId=\" + encodeURIComponent(\"\" + emailId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResetEmailRetrycount(_response);\r\n });\r\n }\r\n\r\n protected processResetEmailRetrycount(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IExplorerClient {\r\n selectionOptions(): Promise;\r\n nodes(criteria: ExplorerSearchCriteria): Promise;\r\n load(loadId: number | undefined): Promise;\r\n loadhistory(loadId: number | undefined): Promise;\r\n visibility(loadId: number | undefined): Promise;\r\n resigns(loadId: number | undefined): Promise;\r\n publishInfo(loadId: number | undefined): Promise;\r\n suppliernotified(loadId: number | undefined): Promise;\r\n supplierunbookedloads(loadId: number | undefined): Promise;\r\n pricerowByLoadid(loadId: number | undefined): Promise;\r\n pricerowByPricerowid(priceRowId: number | undefined): Promise;\r\n loadrelations(loadId: number | undefined): Promise;\r\n agreementrow(agreementRowId: number | undefined): Promise;\r\n agreementroute(agreementRouteId: number | undefined): Promise;\r\n agreementroutehistory(agreementRouteId: number | undefined): Promise;\r\n agreementroutetrucktypes(agreementRouteId: number | undefined): Promise;\r\n agreement(agreementId: number | undefined): Promise;\r\n agreementhistory(agreementId: number | undefined): Promise;\r\n agreementqualitypoints(agreementId: number | undefined): Promise;\r\n undoloadingload(loadId: number | undefined): Promise;\r\n}\r\n\r\nexport class ExplorerClient extends ApiClientBase implements IExplorerClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n selectionOptions( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/selection-options\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSelectionOptions(_response);\r\n });\r\n }\r\n\r\n protected processSelectionOptions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ExplorerSelectionOptionsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n nodes(criteria: ExplorerSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/nodes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNodes(_response);\r\n });\r\n }\r\n\r\n protected processNodes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExplorerNodeDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n load(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/load?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoad(_response);\r\n });\r\n }\r\n\r\n protected processLoad(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadCompleteDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadhistory(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/loadhistory?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadhistory(_response);\r\n });\r\n }\r\n\r\n protected processLoadhistory(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadHistoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n visibility(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/visibility?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processVisibility(_response);\r\n });\r\n }\r\n\r\n protected processVisibility(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadVisibilityDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resigns(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/resigns?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResigns(_response);\r\n });\r\n }\r\n\r\n protected processResigns(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadResignsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n publishInfo(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/publish-info?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPublishInfo(_response);\r\n });\r\n }\r\n\r\n protected processPublishInfo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PublishInfoDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suppliernotified(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/suppliernotified?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuppliernotified(_response);\r\n });\r\n }\r\n\r\n protected processSuppliernotified(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadSupplierNotifiedDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n supplierunbookedloads(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/supplierunbookedloads?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSupplierunbookedloads(_response);\r\n });\r\n }\r\n\r\n protected processSupplierunbookedloads(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupplierUnbookedLoadsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pricerowByLoadid(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/pricerow-by-loadid?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPricerowByLoadid(_response);\r\n });\r\n }\r\n\r\n protected processPricerowByLoadid(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UpdateLoadPriceDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pricerowByPricerowid(priceRowId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/pricerow-by-pricerowid?\";\r\n if (priceRowId === null)\r\n throw new Error(\"The parameter 'priceRowId' cannot be null.\");\r\n else if (priceRowId !== undefined)\r\n url_ += \"priceRowId=\" + encodeURIComponent(\"\" + priceRowId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPricerowByPricerowid(_response);\r\n });\r\n }\r\n\r\n protected processPricerowByPricerowid(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = UpdateLoadPriceDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadrelations(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/loadrelations?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadrelations(_response);\r\n });\r\n }\r\n\r\n protected processLoadrelations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadRelationsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementrow(agreementRowId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreementrow?\";\r\n if (agreementRowId === null)\r\n throw new Error(\"The parameter 'agreementRowId' cannot be null.\");\r\n else if (agreementRowId !== undefined)\r\n url_ += \"agreementRowId=\" + encodeURIComponent(\"\" + agreementRowId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementrow(_response);\r\n });\r\n }\r\n\r\n protected processAgreementrow(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementRowDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementroute(agreementRouteId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreementroute?\";\r\n if (agreementRouteId === null)\r\n throw new Error(\"The parameter 'agreementRouteId' cannot be null.\");\r\n else if (agreementRouteId !== undefined)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementroute(_response);\r\n });\r\n }\r\n\r\n protected processAgreementroute(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementRouteSaDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementroutehistory(agreementRouteId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreementroutehistory?\";\r\n if (agreementRouteId === null)\r\n throw new Error(\"The parameter 'agreementRouteId' cannot be null.\");\r\n else if (agreementRouteId !== undefined)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementroutehistory(_response);\r\n });\r\n }\r\n\r\n protected processAgreementroutehistory(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteHistoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementroutetrucktypes(agreementRouteId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreementroutetrucktypes?\";\r\n if (agreementRouteId === null)\r\n throw new Error(\"The parameter 'agreementRouteId' cannot be null.\");\r\n else if (agreementRouteId !== undefined)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementroutetrucktypes(_response);\r\n });\r\n }\r\n\r\n protected processAgreementroutetrucktypes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteTruckTypesDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreement(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreement?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreement(_response);\r\n });\r\n }\r\n\r\n protected processAgreement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementhistory(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreementhistory?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementhistory(_response);\r\n });\r\n }\r\n\r\n protected processAgreementhistory(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementHistoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementqualitypoints(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/agreementqualitypoints?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementqualitypoints(_response);\r\n });\r\n }\r\n\r\n protected processAgreementqualitypoints(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ExplorerAgreementQualityPoints.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n undoloadingload(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/explorer/undoloadingload?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUndoloadingload(_response);\r\n });\r\n }\r\n\r\n protected processUndoloadingload(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IIndexClient {\r\n indexComponents(): Promise;\r\n saveIndexComponents(periods: IndexPeriodWithComponents[]): Promise;\r\n}\r\n\r\nexport class IndexClient extends ApiClientBase implements IIndexClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n indexComponents( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/index/index-components\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processIndexComponents(_response);\r\n });\r\n }\r\n\r\n protected processIndexComponents(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IndexPeriodWithComponents.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveIndexComponents(periods: IndexPeriodWithComponents[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/index/save-index-components\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(periods);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveIndexComponents(_response);\r\n });\r\n }\r\n\r\n protected processSaveIndexComponents(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IInvoiceClient {\r\n generate(searchCriteria: InvoiceSearchDto): Promise;\r\n markAsInvoiced(searchCriteria: InvoiceSearchDto): Promise;\r\n exportInvoice(searchCriteria: InvoiceSearchDto): Promise;\r\n}\r\n\r\nexport class InvoiceClient extends ApiClientBase implements IInvoiceClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n generate(searchCriteria: InvoiceSearchDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoice/generate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processGenerate(_response);\r\n });\r\n }\r\n\r\n protected processGenerate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InvoiceRowSupportAdminDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n markAsInvoiced(searchCriteria: InvoiceSearchDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoice/mark-as-invoiced\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMarkAsInvoiced(_response);\r\n });\r\n }\r\n\r\n protected processMarkAsInvoiced(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportInvoice(searchCriteria: InvoiceSearchDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoice/export-invoice\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportInvoice(_response);\r\n });\r\n }\r\n\r\n protected processExportInvoice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IInvoicedFeesClient {\r\n report(searchCriteria: InvoicedFeesSearchCriteriaContainer): Promise;\r\n export(searchCriteria: InvoicedFeesSearchCriteriaContainer): Promise;\r\n dates(actorId: number | undefined): Promise;\r\n actors(): Promise;\r\n}\r\n\r\nexport class InvoicedFeesClient extends ApiClientBase implements IInvoicedFeesClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n report(searchCriteria: InvoicedFeesSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoiced-fees/report\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReport(_response);\r\n });\r\n }\r\n\r\n protected processReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = InvoicedFeesContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n export(searchCriteria: InvoicedFeesSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoiced-fees/export\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExport(_response);\r\n });\r\n }\r\n\r\n protected processExport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n dates(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoiced-fees/dates?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDates(_response);\r\n });\r\n }\r\n\r\n protected processDates(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(moment.parseZone(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actors( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/invoiced-fees/actors\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActors(_response);\r\n });\r\n }\r\n\r\n protected processActors(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ILocationsClient {\r\n closeMatches(loc: AddLocationDto): Promise;\r\n exactMatches(loc: AddLocationDto): Promise;\r\n add(loc: AddLocationDto): Promise;\r\n listRemovable(): Promise;\r\n remove(locationId: number | undefined): Promise;\r\n countiesStartingWith(l: LocationStartingWithDto): Promise;\r\n zipcodesStartingWith(l: LocationStartingWithDto): Promise;\r\n}\r\n\r\nexport class LocationsClient extends ApiClientBase implements ILocationsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n closeMatches(loc: AddLocationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/close-matches\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loc);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCloseMatches(_response);\r\n });\r\n }\r\n\r\n protected processCloseMatches(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CloseMatchesContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exactMatches(loc: AddLocationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/exact-matches\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loc);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExactMatches(_response);\r\n });\r\n }\r\n\r\n protected processExactMatches(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ExactMatchesContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(loc: AddLocationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/add\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loc);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAdd(_response);\r\n });\r\n }\r\n\r\n protected processAdd(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listRemovable( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/list-removable\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListRemovable(_response);\r\n });\r\n }\r\n\r\n protected processListRemovable(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RemoveLocationDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n remove(locationId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/remove?\";\r\n if (locationId === null)\r\n throw new Error(\"The parameter 'locationId' cannot be null.\");\r\n else if (locationId !== undefined)\r\n url_ += \"locationId=\" + encodeURIComponent(\"\" + locationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRemove(_response);\r\n });\r\n }\r\n\r\n protected processRemove(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countiesStartingWith(l: LocationStartingWithDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/counties-starting-with\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(l);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountiesStartingWith(_response);\r\n });\r\n }\r\n\r\n protected processCountiesStartingWith(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n zipcodesStartingWith(l: LocationStartingWithDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/locations/zipcodes-starting-with\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(l);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processZipcodesStartingWith(_response);\r\n });\r\n }\r\n\r\n protected processZipcodesStartingWith(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface INewsClient {\r\n list(): Promise;\r\n save(news: NewsSupportAdminDto): Promise;\r\n delete(newsId: number | undefined): Promise;\r\n publish(newsId: number | undefined): Promise;\r\n listSimple(): Promise;\r\n updateLastNewsRead(): Promise;\r\n}\r\n\r\nexport class NewsClient extends ApiClientBase implements INewsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/news/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NewsSupportAdminDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(news: NewsSupportAdminDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/news/save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(news);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSave(_response);\r\n });\r\n }\r\n\r\n protected processSave(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(newsId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/news/delete?\";\r\n if (newsId === null)\r\n throw new Error(\"The parameter 'newsId' cannot be null.\");\r\n else if (newsId !== undefined)\r\n url_ += \"newsId=\" + encodeURIComponent(\"\" + newsId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n publish(newsId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/news/publish?\";\r\n if (newsId === null)\r\n throw new Error(\"The parameter 'newsId' cannot be null.\");\r\n else if (newsId !== undefined)\r\n url_ += \"newsId=\" + encodeURIComponent(\"\" + newsId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPublish(_response);\r\n });\r\n }\r\n\r\n protected processPublish(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listSimple( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/news/list-simple\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListSimple(_response);\r\n });\r\n }\r\n\r\n protected processListSimple(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NewsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateLastNewsRead( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/news/update-last-news-read\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateLastNewsRead(_response);\r\n });\r\n }\r\n\r\n protected processUpdateLastNewsRead(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IPowerbuttonsClient {\r\n logTest(): Promise;\r\n}\r\n\r\nexport class PowerbuttonsClient extends ApiClientBase implements IPowerbuttonsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n logTest( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/powerbuttons/log-test\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLogTest(_response);\r\n });\r\n }\r\n\r\n protected processLogTest(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IPriceClient {\r\n updateLoadPrice(saveDto: UpdateLoadPriceDto): Promise;\r\n}\r\n\r\nexport class PriceClient extends ApiClientBase implements IPriceClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n updateLoadPrice(saveDto: UpdateLoadPriceDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/price/update-load-price\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdateLoadPrice(_response);\r\n });\r\n }\r\n\r\n protected processUpdateLoadPrice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISupportAdminQualityPointsClient {\r\n visualisation(agreementId: number | undefined, clientId: number | undefined): Promise;\r\n performanceWeights(cargoType: CargoType | undefined, clientId: number | undefined): Promise;\r\n subjectiveWeights(clientId: number | undefined): Promise;\r\n}\r\n\r\nexport class SupportAdminQualityPointsClient extends ApiClientBase implements ISupportAdminQualityPointsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n visualisation(agreementId: number | undefined, clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/support-admin-quality-points/visualisation?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processVisualisation(_response);\r\n });\r\n }\r\n\r\n protected processVisualisation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(QualityPointsVisualisation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n performanceWeights(cargoType: CargoType | undefined, clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/support-admin-quality-points/performance-weights?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPerformanceWeights(_response);\r\n });\r\n }\r\n\r\n protected processPerformanceWeights(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PerformanceQPWeightsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subjectiveWeights(clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/support-admin-quality-points/subjective-weights?\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubjectiveWeights(_response);\r\n });\r\n }\r\n\r\n protected processSubjectiveWeights(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SubjectiveQPWeightsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IRepositoryClient {\r\n usersSupportAdmin(actorId: number | undefined): Promise;\r\n unitsSupportAdmin(clientId: number | null | undefined): Promise;\r\n countiesSupportAdmin(criteria: CountriesSupportAdminSearchCriteria): Promise;\r\n systemStatus(): Promise;\r\n countries(): Promise;\r\n countiesByCargotype(cargoType: CargoType | undefined, pickup: boolean | undefined): Promise;\r\n ianaTimeZones(country: Country | null | undefined): Promise;\r\n agreementRouteTimeZones(cargoType: CargoType | undefined, country: Country | undefined): Promise;\r\n counties(country: Country | null | undefined): Promise;\r\n countiesAndZipcode(country: Country | undefined): Promise;\r\n priceFilters(): Promise;\r\n prices(criteria: PriceListSearchCriteria): Promise;\r\n clients(includeOnesExcludedByMe: boolean | undefined, includeOnesThatExcludeMe: boolean | undefined, includeInactive: boolean | undefined): Promise;\r\n clientsWithAgreements(): Promise;\r\n suppliers(cargoType: CargoType | null | undefined, includeOnesExcludedByMe: boolean | undefined, includeOnesThatExcludeMe: boolean | undefined): Promise;\r\n terminals(): Promise;\r\n customers(): Promise;\r\n units(): Promise;\r\n agreementRoutes(searchCriteria: AgreementRouteSearchCriteria): Promise;\r\n trucktypesByAgreementrouteid(searchCriteria: TruckTypeSearchCriteria): Promise;\r\n indexPeriods(): Promise;\r\n baseIndexPeriods(): Promise;\r\n baseIndexPeriodByValidDate(criteria: BaseIndexPeriodSearchCriteria): Promise;\r\n fuelIndexesForDate(criteria: FuelIndexesSearchCriteria): Promise;\r\n fuelIndexes(criteria: BaseIndexPeriodSearchCriteria): Promise;\r\n countiesOnAgreementroutes(cargoType: CargoType | undefined, pickup: boolean | undefined): Promise;\r\n countriesOnAgreementroutes(cargoType: CargoType | undefined): Promise;\r\n allowedUploadFileExtensions(): Promise;\r\n customsPassages(): Promise;\r\n notToBeCalled(c: CountryISO | undefined, b: LoadFilterDaysBack | undefined, f: LoadFilterDaysForward | undefined, t: NotificationFilterType | undefined): Promise;\r\n}\r\n\r\nexport class RepositoryClient extends ApiClientBase implements IRepositoryClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n usersSupportAdmin(actorId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/repository/users-support-admin?\";\r\n if (actorId === null)\r\n throw new Error(\"The parameter 'actorId' cannot be null.\");\r\n else if (actorId !== undefined)\r\n url_ += \"actorId=\" + encodeURIComponent(\"\" + actorId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUsersSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processUsersSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unitsSupportAdmin(clientId: number | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/repository/units-support-admin?\";\r\n if (clientId !== undefined && clientId !== null)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUnitsSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processUnitsSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countiesSupportAdmin(criteria: CountriesSupportAdminSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/repository/counties-support-admin\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountiesSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processCountiesSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n systemStatus( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/system-status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSystemStatus(_response);\r\n });\r\n }\r\n\r\n protected processSystemStatus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SystemStatusDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countries( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/countries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountries(_response);\r\n });\r\n }\r\n\r\n protected processCountries(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countiesByCargotype(cargoType: CargoType | undefined, pickup: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/counties-by-cargotype?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n if (pickup === null)\r\n throw new Error(\"The parameter 'pickup' cannot be null.\");\r\n else if (pickup !== undefined)\r\n url_ += \"pickup=\" + encodeURIComponent(\"\" + pickup) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountiesByCargotype(_response);\r\n });\r\n }\r\n\r\n protected processCountiesByCargotype(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ianaTimeZones(country: Country | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/iana-time-zones?\";\r\n if (country !== undefined && country !== null)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processIanaTimeZones(_response);\r\n });\r\n }\r\n\r\n protected processIanaTimeZones(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeZoneDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementRouteTimeZones(cargoType: CargoType | undefined, country: Country | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/agreement-route-time-zones?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n if (country === null)\r\n throw new Error(\"The parameter 'country' cannot be null.\");\r\n else if (country !== undefined)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementRouteTimeZones(_response);\r\n });\r\n }\r\n\r\n protected processAgreementRouteTimeZones(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TimeZoneDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n counties(country: Country | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/counties?\";\r\n if (country !== undefined && country !== null)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCounties(_response);\r\n });\r\n }\r\n\r\n protected processCounties(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countiesAndZipcode(country: Country | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/counties-and-zipcode?\";\r\n if (country === null)\r\n throw new Error(\"The parameter 'country' cannot be null.\");\r\n else if (country !== undefined)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountiesAndZipcode(_response);\r\n });\r\n }\r\n\r\n protected processCountiesAndZipcode(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CountyWithZipcodeDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n priceFilters( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/price-filters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPriceFilters(_response);\r\n });\r\n }\r\n\r\n protected processPriceFilters(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n prices(criteria: PriceListSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/prices\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPrices(_response);\r\n });\r\n }\r\n\r\n protected processPrices(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PriceListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clients(includeOnesExcludedByMe: boolean | undefined, includeOnesThatExcludeMe: boolean | undefined, includeInactive: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/clients?\";\r\n if (includeOnesExcludedByMe === null)\r\n throw new Error(\"The parameter 'includeOnesExcludedByMe' cannot be null.\");\r\n else if (includeOnesExcludedByMe !== undefined)\r\n url_ += \"includeOnesExcludedByMe=\" + encodeURIComponent(\"\" + includeOnesExcludedByMe) + \"&\";\r\n if (includeOnesThatExcludeMe === null)\r\n throw new Error(\"The parameter 'includeOnesThatExcludeMe' cannot be null.\");\r\n else if (includeOnesThatExcludeMe !== undefined)\r\n url_ += \"includeOnesThatExcludeMe=\" + encodeURIComponent(\"\" + includeOnesThatExcludeMe) + \"&\";\r\n if (includeInactive === null)\r\n throw new Error(\"The parameter 'includeInactive' cannot be null.\");\r\n else if (includeInactive !== undefined)\r\n url_ += \"includeInactive=\" + encodeURIComponent(\"\" + includeInactive) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClients(_response);\r\n });\r\n }\r\n\r\n protected processClients(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientsWithAgreements( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/clients-with-agreements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientsWithAgreements(_response);\r\n });\r\n }\r\n\r\n protected processClientsWithAgreements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suppliers(cargoType: CargoType | null | undefined, includeOnesExcludedByMe: boolean | undefined, includeOnesThatExcludeMe: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/suppliers?\";\r\n if (cargoType !== undefined && cargoType !== null)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n if (includeOnesExcludedByMe === null)\r\n throw new Error(\"The parameter 'includeOnesExcludedByMe' cannot be null.\");\r\n else if (includeOnesExcludedByMe !== undefined)\r\n url_ += \"includeOnesExcludedByMe=\" + encodeURIComponent(\"\" + includeOnesExcludedByMe) + \"&\";\r\n if (includeOnesThatExcludeMe === null)\r\n throw new Error(\"The parameter 'includeOnesThatExcludeMe' cannot be null.\");\r\n else if (includeOnesThatExcludeMe !== undefined)\r\n url_ += \"includeOnesThatExcludeMe=\" + encodeURIComponent(\"\" + includeOnesThatExcludeMe) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuppliers(_response);\r\n });\r\n }\r\n\r\n protected processSuppliers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n terminals( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/terminals\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTerminals(_response);\r\n });\r\n }\r\n\r\n protected processTerminals(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n customers( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/customers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCustomers(_response);\r\n });\r\n }\r\n\r\n protected processCustomers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n units( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/units\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUnits(_response);\r\n });\r\n }\r\n\r\n protected processUnits(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementRoutes(searchCriteria: AgreementRouteSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/agreement-routes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementRoutes(_response);\r\n });\r\n }\r\n\r\n protected processAgreementRoutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteWithAgreementStatusDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n trucktypesByAgreementrouteid(searchCriteria: TruckTypeSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/trucktypes-by-agreementrouteid\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTrucktypesByAgreementrouteid(_response);\r\n });\r\n }\r\n\r\n protected processTrucktypesByAgreementrouteid(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TruckTypeDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n indexPeriods( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/index-periods\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processIndexPeriods(_response);\r\n });\r\n }\r\n\r\n protected processIndexPeriods(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(IndexPeriodDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n baseIndexPeriods( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/base-index-periods\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBaseIndexPeriods(_response);\r\n });\r\n }\r\n\r\n protected processBaseIndexPeriods(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BaseIndexPeriodDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n baseIndexPeriodByValidDate(criteria: BaseIndexPeriodSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/base-index-period-by-valid-date\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBaseIndexPeriodByValidDate(_response);\r\n });\r\n }\r\n\r\n protected processBaseIndexPeriodByValidDate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = BaseIndexPeriodDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n fuelIndexesForDate(criteria: FuelIndexesSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/fuel-indexes-for-date\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFuelIndexesForDate(_response);\r\n });\r\n }\r\n\r\n protected processFuelIndexesForDate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FuelIndexDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n fuelIndexes(criteria: BaseIndexPeriodSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/fuel-indexes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFuelIndexes(_response);\r\n });\r\n }\r\n\r\n protected processFuelIndexes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FuelIndexDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countiesOnAgreementroutes(cargoType: CargoType | undefined, pickup: boolean | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/counties-on-agreementroutes?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n if (pickup === null)\r\n throw new Error(\"The parameter 'pickup' cannot be null.\");\r\n else if (pickup !== undefined)\r\n url_ += \"pickup=\" + encodeURIComponent(\"\" + pickup) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountiesOnAgreementroutes(_response);\r\n });\r\n }\r\n\r\n protected processCountiesOnAgreementroutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n countriesOnAgreementroutes(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/countries-on-agreementroutes?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCountriesOnAgreementroutes(_response);\r\n });\r\n }\r\n\r\n protected processCountriesOnAgreementroutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n allowedUploadFileExtensions( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/allowed-upload-file-extensions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAllowedUploadFileExtensions(_response);\r\n });\r\n }\r\n\r\n protected processAllowedUploadFileExtensions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n customsPassages( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/customs-passages\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCustomsPassages(_response);\r\n });\r\n }\r\n\r\n protected processCustomsPassages(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CustomsPassageDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n notToBeCalled(c: CountryISO | undefined, b: LoadFilterDaysBack | undefined, f: LoadFilterDaysForward | undefined, t: NotificationFilterType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/not-to-be-called?\";\r\n if (c === null)\r\n throw new Error(\"The parameter 'c' cannot be null.\");\r\n else if (c !== undefined)\r\n url_ += \"c=\" + encodeURIComponent(\"\" + c) + \"&\";\r\n if (b === null)\r\n throw new Error(\"The parameter 'b' cannot be null.\");\r\n else if (b !== undefined)\r\n url_ += \"b=\" + encodeURIComponent(\"\" + b) + \"&\";\r\n if (f === null)\r\n throw new Error(\"The parameter 'f' cannot be null.\");\r\n else if (f !== undefined)\r\n url_ += \"f=\" + encodeURIComponent(\"\" + f) + \"&\";\r\n if (t === null)\r\n throw new Error(\"The parameter 't' cannot be null.\");\r\n else if (t !== undefined)\r\n url_ += \"t=\" + encodeURIComponent(\"\" + t) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNotToBeCalled(_response);\r\n });\r\n }\r\n\r\n protected processNotToBeCalled(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IStatisticsClient {\r\n megaReport(criteria: MegaReportSearchCriteria): Promise;\r\n megaReportExport(exportData: MegaReportExportDto): Promise;\r\n actors(actorSearchCritera: ActorSearchCriteria): Promise;\r\n heatMap(criteria: HeatMapSearchCriteria): Promise;\r\n activeUsersNow(): Promise;\r\n activeUsersStatistics(criteria: ActiveUsersStatisticsSearchCriteria): Promise;\r\n}\r\n\r\nexport class StatisticsClient extends ApiClientBase implements IStatisticsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n megaReport(criteria: MegaReportSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/statistics/mega-report\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMegaReport(_response);\r\n });\r\n }\r\n\r\n protected processMegaReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MegaReportDatasetDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n megaReportExport(exportData: MegaReportExportDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/statistics/mega-report-export\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(exportData);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMegaReportExport(_response);\r\n });\r\n }\r\n\r\n protected processMegaReportExport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actors(actorSearchCritera: ActorSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/statistics/actors\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(actorSearchCritera);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActors(_response);\r\n });\r\n }\r\n\r\n protected processActors(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActorRegDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n heatMap(criteria: HeatMapSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/statistics/heat-map\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processHeatMap(_response);\r\n });\r\n }\r\n\r\n protected processHeatMap(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n activeUsersNow( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/statistics/active-users-now\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActiveUsersNow(_response);\r\n });\r\n }\r\n\r\n protected processActiveUsersNow(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActiveUsersNowDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n activeUsersStatistics(criteria: ActiveUsersStatisticsSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/statistics/active-users-statistics\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActiveUsersStatistics(_response);\r\n });\r\n }\r\n\r\n protected processActiveUsersStatistics(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActiveUsersStatisticsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IBackgroundTaskClient {\r\n list(): Promise;\r\n update(task: BackgroundTaskDto): Promise;\r\n run(taskId: number | undefined): Promise;\r\n}\r\n\r\nexport class BackgroundTaskClient extends ApiClientBase implements IBackgroundTaskClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/background-task/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BackgroundTaskStatusDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(task: BackgroundTaskDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/background-task/update\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(task);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpdate(_response);\r\n });\r\n }\r\n\r\n protected processUpdate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n run(taskId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/background-task/run?\";\r\n if (taskId === null)\r\n throw new Error(\"The parameter 'taskId' cannot be null.\");\r\n else if (taskId !== undefined)\r\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRun(_response);\r\n });\r\n }\r\n\r\n protected processRun(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IApiClient {\r\n status(): Promise;\r\n statusTwo(): Promise;\r\n}\r\n\r\nexport class ApiClient extends ApiClientBase implements IApiClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n status( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStatus(_response);\r\n });\r\n }\r\n\r\n protected processStatus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n statusTwo( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/status-two\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processStatusTwo(_response);\r\n });\r\n }\r\n\r\n protected processStatusTwo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IReportsClient {\r\n cost(searchCriteria: CostReportSearchCriteriaContainer): Promise;\r\n costExportToExcel(searchCriteria: CostReportSearchCriteriaContainer): Promise;\r\n loadStatistics(searchCriteria: LoadStatisticsReportSearchCriteriaContainer): Promise;\r\n loadStatisticsExportToExcel(searchCriteria: LoadStatisticsReportSearchCriteriaContainer): Promise;\r\n agreementStatistics(searchCriteria: AgreementStatisticsReportSearchCriteriaContainer): Promise;\r\n agreementStatisticsExportToExcel(searchCriteria: AgreementStatisticsReportSearchCriteriaContainer): Promise;\r\n deviation(searchCriteria: DeviationReportSearchCriteriaContainer): Promise;\r\n deviationExportToExcel(searchCriteria: DeviationReportSearchCriteriaContainer): Promise;\r\n invoice(searchCriteria: InvoiceReportSearchCriteriaContainer): Promise;\r\n invoiceTreatedStatus(itemsToTreat: InvoiceTreatedRefNoDto[]): Promise;\r\n invoiceExportToExcel(searchCriteria: InvoiceReportSearchCriteriaContainer): Promise;\r\n distance(searchCriteria: DistanceReportSearchCriteriaContainer): Promise;\r\n distanceExportToExcel(searchCriteria: DistanceReportSearchCriteriaContainer): Promise;\r\n procurementAnalytics(searchCriteria: ProcurementAnalyticsSearchCriteriaContainer): Promise;\r\n produrementAnalyticsExportToExcel(searchCriteria: ProcurementAnalyticsSearchCriteriaContainer): Promise;\r\n costForecast(searchCriteria: CostForecatReportSearchCriteriaContainer): Promise;\r\n costForecastExportToExcel(searchCriteria: CostForecatReportSearchCriteriaContainer): Promise;\r\n clientMonitoring(searchCriteria: ClientMonitoringSearchCriteriaContainer): Promise;\r\n clientMonitoringExportToExcel(searchCriteria: ClientMonitoringSearchCriteriaContainer): Promise;\r\n annulledLoadsReport(searchCriteria: AnnulledLoadsReportSearchCriteriaContainer): Promise;\r\n annulledLoadsReportExportToExcel(searchCriteria: AnnulledLoadsReportSearchCriteriaContainer): Promise;\r\n}\r\n\r\nexport class ReportsClient extends ApiClientBase implements IReportsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n cost(searchCriteria: CostReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/cost\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCost(_response);\r\n });\r\n }\r\n\r\n protected processCost(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CostReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n costExportToExcel(searchCriteria: CostReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/cost-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCostExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processCostExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadStatistics(searchCriteria: LoadStatisticsReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/load-statistics\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadStatistics(_response);\r\n });\r\n }\r\n\r\n protected processLoadStatistics(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadStatisticsReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadStatisticsExportToExcel(searchCriteria: LoadStatisticsReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/load-statistics-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadStatisticsExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processLoadStatisticsExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementStatistics(searchCriteria: AgreementStatisticsReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/agreement-statistics\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementStatistics(_response);\r\n });\r\n }\r\n\r\n protected processAgreementStatistics(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementStatisticsReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementStatisticsExportToExcel(searchCriteria: AgreementStatisticsReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/agreement-statistics-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementStatisticsExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processAgreementStatisticsExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deviation(searchCriteria: DeviationReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/deviation\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeviation(_response);\r\n });\r\n }\r\n\r\n protected processDeviation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DeviationReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deviationExportToExcel(searchCriteria: DeviationReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/deviation-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeviationExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processDeviationExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invoice(searchCriteria: InvoiceReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/invoice\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInvoice(_response);\r\n });\r\n }\r\n\r\n protected processInvoice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = InvoiceReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invoiceTreatedStatus(itemsToTreat: InvoiceTreatedRefNoDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/invoice-treated-status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(itemsToTreat);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInvoiceTreatedStatus(_response);\r\n });\r\n }\r\n\r\n protected processInvoiceTreatedStatus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invoiceExportToExcel(searchCriteria: InvoiceReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/invoice-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processInvoiceExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processInvoiceExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n distance(searchCriteria: DistanceReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/distance\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDistance(_response);\r\n });\r\n }\r\n\r\n protected processDistance(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = DistanceReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n distanceExportToExcel(searchCriteria: DistanceReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/distance-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDistanceExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processDistanceExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n procurementAnalytics(searchCriteria: ProcurementAnalyticsSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/procurement-analytics\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processProcurementAnalytics(_response);\r\n });\r\n }\r\n\r\n protected processProcurementAnalytics(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ProcurementAnalyticsContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n produrementAnalyticsExportToExcel(searchCriteria: ProcurementAnalyticsSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/produrement-analytics-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processProdurementAnalyticsExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processProdurementAnalyticsExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n costForecast(searchCriteria: CostForecatReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/cost-forecast\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCostForecast(_response);\r\n });\r\n }\r\n\r\n protected processCostForecast(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CostForecastReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n costForecastExportToExcel(searchCriteria: CostForecatReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/cost-forecast-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCostForecastExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processCostForecastExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientMonitoring(searchCriteria: ClientMonitoringSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/client-monitoring\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientMonitoring(_response);\r\n });\r\n }\r\n\r\n protected processClientMonitoring(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ClientMonitoringContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clientMonitoringExportToExcel(searchCriteria: ClientMonitoringSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/client-monitoring-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processClientMonitoringExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processClientMonitoringExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n annulledLoadsReport(searchCriteria: AnnulledLoadsReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/annulled-loads-report\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAnnulledLoadsReport(_response);\r\n });\r\n }\r\n\r\n protected processAnnulledLoadsReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AnnulledLoadsReportContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n annulledLoadsReportExportToExcel(searchCriteria: AnnulledLoadsReportSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/annulled-loads-report-export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAnnulledLoadsReportExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processAnnulledLoadsReportExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IQualityPointsClientClient {\r\n report(searchCriteria: QualityPointsSearchCriteriaContainer): Promise;\r\n exportToExcel(searchCriteria: QualityPointsSearchCriteriaContainer): Promise;\r\n qualityPointsPastYear(cargoType: CargoType | undefined): Promise;\r\n byAgreementid(agreementId: number | undefined): Promise;\r\n performanceWeights(cargoType: CargoType | undefined): Promise;\r\n subjectivePoints(supplierId: number | undefined): Promise;\r\n subjectiveHistory(supplierId: number | undefined): Promise;\r\n subjectiveSave(subjectiveQualityPoints: SubjectiveQPDto[]): Promise;\r\n}\r\n\r\nexport class QualityPointsClientClient extends ApiClientBase implements IQualityPointsClientClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n report(searchCriteria: QualityPointsSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/report\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReport(_response);\r\n });\r\n }\r\n\r\n protected processReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = QualityPointsContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(searchCriteria: QualityPointsSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n qualityPointsPastYear(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/quality-points-past-year?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processQualityPointsPastYear(_response);\r\n });\r\n }\r\n\r\n protected processQualityPointsPastYear(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(QualityPointsPastYearDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n byAgreementid(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/by-agreementid?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processByAgreementid(_response);\r\n });\r\n }\r\n\r\n protected processByAgreementid(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(QualityPointsAgreementDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n performanceWeights(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/performance-weights?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPerformanceWeights(_response);\r\n });\r\n }\r\n\r\n protected processPerformanceWeights(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PerformanceQPWeightsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subjectivePoints(supplierId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/subjective-points?\";\r\n if (supplierId === null)\r\n throw new Error(\"The parameter 'supplierId' cannot be null.\");\r\n else if (supplierId !== undefined)\r\n url_ += \"supplierId=\" + encodeURIComponent(\"\" + supplierId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubjectivePoints(_response);\r\n });\r\n }\r\n\r\n protected processSubjectivePoints(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SubjectiveQPDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subjectiveHistory(supplierId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/subjective-history?\";\r\n if (supplierId === null)\r\n throw new Error(\"The parameter 'supplierId' cannot be null.\");\r\n else if (supplierId !== undefined)\r\n url_ += \"supplierId=\" + encodeURIComponent(\"\" + supplierId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubjectiveHistory(_response);\r\n });\r\n }\r\n\r\n protected processSubjectiveHistory(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SubjectiveQualityPointsHistoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subjectiveSave(subjectiveQualityPoints: SubjectiveQPDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-client/subjective-save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(subjectiveQualityPoints);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubjectiveSave(_response);\r\n });\r\n }\r\n\r\n protected processSubjectiveSave(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IQualityPointsSupplierClient {\r\n report(searchCriteria: QualityPointsSearchCriteriaContainer): Promise;\r\n exportToExcel(searchCriteria: QualityPointsSearchCriteriaContainer): Promise;\r\n performanceWeights(cargoType: CargoType | undefined, clientId: number | undefined): Promise;\r\n subjectivePoints(clientId: number | undefined): Promise;\r\n subjectiveHistory(clientId: number | undefined): Promise;\r\n}\r\n\r\nexport class QualityPointsSupplierClient extends ApiClientBase implements IQualityPointsSupplierClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n report(searchCriteria: QualityPointsSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-supplier/report\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReport(_response);\r\n });\r\n }\r\n\r\n protected processReport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = QualityPointsContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(searchCriteria: QualityPointsSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-supplier/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n performanceWeights(cargoType: CargoType | undefined, clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-supplier/performance-weights?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPerformanceWeights(_response);\r\n });\r\n }\r\n\r\n protected processPerformanceWeights(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PerformanceQPWeightsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subjectivePoints(clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-supplier/subjective-points?\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubjectivePoints(_response);\r\n });\r\n }\r\n\r\n protected processSubjectivePoints(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SubjectiveQPDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subjectiveHistory(clientId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/quality-points-supplier/subjective-history?\";\r\n if (clientId === null)\r\n throw new Error(\"The parameter 'clientId' cannot be null.\");\r\n else if (clientId !== undefined)\r\n url_ += \"clientId=\" + encodeURIComponent(\"\" + clientId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSubjectiveHistory(_response);\r\n });\r\n }\r\n\r\n protected processSubjectiveHistory(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SubjectiveQualityPointsHistoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IProcurementsClientClient {\r\n bySearchCriteria(searchCriteria: ClientAgreementSearchCriteria): Promise;\r\n overviewBySearchCriteria(searchCriteria: ClientAgreementSearchCriteriaContainer): Promise;\r\n rankByPrice(req: RankRequest): Promise;\r\n rankByQualitypoints(req: RankRequest): Promise;\r\n finishProcurement(agreementIds: number[]): Promise;\r\n addProcurementPeriod(addProcurementPeriodData: AddProcurementPeriodDto): Promise;\r\n suppliersInProcurements(): Promise;\r\n removeSupplier(requestData: ProcurementSupplierRemoveDto): Promise;\r\n removeProcurement(agreementId: number | undefined): Promise;\r\n exportToExcel(searchCriteria: ClientAgreementSearchCriteriaContainer): Promise;\r\n createProcurement(saveProcurementDto: SaveProcurementDto): Promise;\r\n validateSuppliers(cargoType: CargoType | undefined, supplierIds: number[]): Promise;\r\n validateAgreementroutes(criteria: ValidateAgreementRoutesSearchCriteria): Promise;\r\n}\r\n\r\nexport class ProcurementsClientClient extends ApiClientBase implements IProcurementsClientClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n bySearchCriteria(searchCriteria: ClientAgreementSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/by-search-criteria\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBySearchCriteria(_response);\r\n });\r\n }\r\n\r\n protected processBySearchCriteria(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementDataDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n overviewBySearchCriteria(searchCriteria: ClientAgreementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/overview-by-search-criteria\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processOverviewBySearchCriteria(_response);\r\n });\r\n }\r\n\r\n protected processOverviewBySearchCriteria(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ClientAgreementContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n rankByPrice(req: RankRequest, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/rank-by-price\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(req);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRankByPrice(_response);\r\n });\r\n }\r\n\r\n protected processRankByPrice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n rankByQualitypoints(req: RankRequest, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/rank-by-qualitypoints\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(req);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRankByQualitypoints(_response);\r\n });\r\n }\r\n\r\n protected processRankByQualitypoints(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n finishProcurement(agreementIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/finish-procurement\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(agreementIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFinishProcurement(_response);\r\n });\r\n }\r\n\r\n protected processFinishProcurement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addProcurementPeriod(addProcurementPeriodData: AddProcurementPeriodDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/add-procurement-period\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(addProcurementPeriodData);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddProcurementPeriod(_response);\r\n });\r\n }\r\n\r\n protected processAddProcurementPeriod(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suppliersInProcurements( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/suppliers-in-procurements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuppliersInProcurements(_response);\r\n });\r\n }\r\n\r\n protected processSuppliersInProcurements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeSupplier(requestData: ProcurementSupplierRemoveDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/remove-supplier\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestData);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRemoveSupplier(_response);\r\n });\r\n }\r\n\r\n protected processRemoveSupplier(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeProcurement(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/remove-procurement?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRemoveProcurement(_response);\r\n });\r\n }\r\n\r\n protected processRemoveProcurement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(searchCriteria: ClientAgreementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createProcurement(saveProcurementDto: SaveProcurementDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/create-procurement\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveProcurementDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateProcurement(_response);\r\n });\r\n }\r\n\r\n protected processCreateProcurement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validateSuppliers(cargoType: CargoType | undefined, supplierIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/validate-suppliers?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(supplierIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateSuppliers(_response);\r\n });\r\n }\r\n\r\n protected processValidateSuppliers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SupplierValidationResultDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validateAgreementroutes(criteria: ValidateAgreementRoutesSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/validate-agreementroutes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processValidateAgreementroutes(_response);\r\n });\r\n }\r\n\r\n protected processValidateAgreementroutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteValidationResultDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IProcurementsSupplierClient {\r\n bySearchCriteria(searchCriteria: SupplierProcurementSearchCriteriaContainer): Promise;\r\n savePrices(givenPrices: SupplierProcurementPriceDto[]): Promise;\r\n exportToExcel(searchCriteria: SupplierProcurementSearchCriteriaContainer): Promise;\r\n importFromExcel(excel: FileParameter | null | undefined): Promise;\r\n}\r\n\r\nexport class ProcurementsSupplierClient extends ApiClientBase implements IProcurementsSupplierClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n bySearchCriteria(searchCriteria: SupplierProcurementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-supplier/by-search-criteria\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBySearchCriteria(_response);\r\n });\r\n }\r\n\r\n protected processBySearchCriteria(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SupplierProcurementContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n savePrices(givenPrices: SupplierProcurementPriceDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-supplier/save-prices\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(givenPrices);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSavePrices(_response);\r\n });\r\n }\r\n\r\n protected processSavePrices(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(searchCriteria: SupplierProcurementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-supplier/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n importFromExcel(excel: FileParameter | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-supplier/import-from-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (excel !== null && excel !== undefined)\r\n content_.append(\"excel\", excel.data, excel.fileName ? excel.fileName : \"excel\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processImportFromExcel(_response);\r\n });\r\n }\r\n\r\n protected processImportFromExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SupplierProcurementContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISpotTenderClientClient {\r\n preCreateSpotTender(loadId: number | undefined): Promise;\r\n createSpotTender(createSpotTenderData: CreateSpotTenderDto): Promise;\r\n preFinishSpotTender(loadId: number | undefined): Promise;\r\n finishSpotTender(finishSpotTenderData: FinishSpotTenderDto): Promise;\r\n deleteSpotTender(loadId: number | undefined): Promise;\r\n}\r\n\r\nexport class SpotTenderClientClient extends ApiClientBase implements ISpotTenderClientClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n preCreateSpotTender(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-client/pre-create-spot-tender?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreCreateSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processPreCreateSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PreSpotTenderDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createSpotTender(createSpotTenderData: CreateSpotTenderDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-client/create-spot-tender\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(createSpotTenderData);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processCreateSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preFinishSpotTender(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-client/pre-finish-spot-tender?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreFinishSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processPreFinishSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PreClientEditSpotTenderDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n finishSpotTender(finishSpotTenderData: FinishSpotTenderDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-client/finish-spot-tender\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(finishSpotTenderData);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processFinishSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processFinishSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteSpotTender(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-client/delete-spot-tender?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processDeleteSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISpotTenderClient {\r\n spotTenderAccordionDetails(loadId: number | undefined): Promise;\r\n}\r\n\r\nexport class SpotTenderClient extends ApiClientBase implements ISpotTenderClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n spotTenderAccordionDetails(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender/spot-tender-accordion-details?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSpotTenderAccordionDetails(_response);\r\n });\r\n }\r\n\r\n protected processSpotTenderAccordionDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SpotTenderAccordionDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ISpotTenderSupplierClient {\r\n editSpotTender(supplierEditSpotTenderDto: SupplierEditSpotTenderDto): Promise;\r\n preEditSpotTender(loadId: number | undefined): Promise;\r\n}\r\n\r\nexport class SpotTenderSupplierClient extends ApiClientBase implements ISpotTenderSupplierClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n editSpotTender(supplierEditSpotTenderDto: SupplierEditSpotTenderDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-supplier/edit-spot-tender\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(supplierEditSpotTenderDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEditSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processEditSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preEditSpotTender(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/spot-tender-supplier/pre-edit-spot-tender?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreEditSpotTender(_response);\r\n });\r\n }\r\n\r\n protected processPreEditSpotTender(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PreSupplierEditSpotTenderDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IMobileClient {\r\n deliver(deliverLoad: DeliverLoadMobileDto): Promise;\r\n details(encodedLoadId: string | null | undefined): Promise;\r\n loadlist(loadStatus: LoadStatus | undefined): Promise;\r\n}\r\n\r\nexport class MobileClient extends ApiClientBase implements IMobileClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n deliver(deliverLoad: DeliverLoadMobileDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/mobile/deliver\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(deliverLoad);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeliver(_response);\r\n });\r\n }\r\n\r\n protected processDeliver(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n details(encodedLoadId: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/mobile/details?\";\r\n if (encodedLoadId !== undefined && encodedLoadId !== null)\r\n url_ += \"encodedLoadId=\" + encodeURIComponent(\"\" + encodedLoadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDetails(_response);\r\n });\r\n }\r\n\r\n protected processDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AnonymousLoadDetailsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadlist(loadStatus: LoadStatus | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/mobile/loadlist?\";\r\n if (loadStatus === null)\r\n throw new Error(\"The parameter 'loadStatus' cannot be null.\");\r\n else if (loadStatus !== undefined)\r\n url_ += \"loadStatus=\" + encodeURIComponent(\"\" + loadStatus) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadlist(_response);\r\n });\r\n }\r\n\r\n protected processLoadlist(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MobileLoadListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ILoadsClientClient {\r\n create(loads: LoadClientCreateDto[]): Promise;\r\n preAnnul(loadIds: number[]): Promise;\r\n annul(annulDetails: AnnulLoadDetailsDto): Promise;\r\n preLoad(loadIds: number[]): Promise;\r\n preDeviation(loadId: number | undefined): Promise;\r\n saveDeviation(loadId: number | undefined, deviationDto: SaveDeviationDto): Promise;\r\n load(loadLoadDto: LoadLoadDto): Promise;\r\n preUnbook(loadIds: number[]): Promise;\r\n unbook(unbookDetails: UnbookDto): Promise;\r\n preReorder(loadIds: number[]): Promise;\r\n reorder(loadReorderDto: ReorderLoadDto): Promise;\r\n preEdit(loadId: number | undefined): Promise;\r\n edit(load: LoadClientEditDto): Promise;\r\n relatedLoadDetails(loadId: number | undefined): Promise;\r\n}\r\n\r\nexport class LoadsClientClient extends ApiClientBase implements ILoadsClientClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n create(loads: LoadClientCreateDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loads);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadActionResponse.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preAnnul(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/pre-annul\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreAnnul(_response);\r\n });\r\n }\r\n\r\n protected processPreAnnul(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadPreAnnulDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n annul(annulDetails: AnnulLoadDetailsDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/annul\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(annulDetails);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAnnul(_response);\r\n });\r\n }\r\n\r\n protected processAnnul(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preLoad(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/pre-load\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreLoad(_response);\r\n });\r\n }\r\n\r\n protected processPreLoad(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadPreLoadLoadDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preDeviation(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/pre-deviation?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreDeviation(_response);\r\n });\r\n }\r\n\r\n protected processPreDeviation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadPreLoadDeviationDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveDeviation(loadId: number | undefined, deviationDto: SaveDeviationDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/save-deviation?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(deviationDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveDeviation(_response);\r\n });\r\n }\r\n\r\n protected processSaveDeviation(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n load(loadLoadDto: LoadLoadDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/load\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadLoadDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoad(_response);\r\n });\r\n }\r\n\r\n protected processLoad(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preUnbook(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/pre-unbook\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreUnbook(_response);\r\n });\r\n }\r\n\r\n protected processPreUnbook(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PreUnbookLoadDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unbook(unbookDetails: UnbookDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/unbook\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(unbookDetails);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUnbook(_response);\r\n });\r\n }\r\n\r\n protected processUnbook(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preReorder(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/pre-reorder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreReorder(_response);\r\n });\r\n }\r\n\r\n protected processPreReorder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadPreReorderDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reorder(loadReorderDto: ReorderLoadDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/reorder\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadReorderDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processReorder(_response);\r\n });\r\n }\r\n\r\n protected processReorder(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preEdit(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/pre-edit?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreEdit(_response);\r\n });\r\n }\r\n\r\n protected processPreEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadClientPreEditDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(load: LoadClientEditDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(load);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEdit(_response);\r\n });\r\n }\r\n\r\n protected processEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n relatedLoadDetails(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-client/related-load-details?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRelatedLoadDetails(_response);\r\n });\r\n }\r\n\r\n protected processRelatedLoadDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RelatedLoadSummaryDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ILoadsClient {\r\n list(searchCriteriaContainer: LoadSearchCriteriaContainerDto): Promise;\r\n allowedActions(loadIds: number[]): Promise;\r\n lock(loadIds: number[]): Promise;\r\n unlock(loadIds: number[]): Promise;\r\n lockStatus(loadIds: number[]): Promise;\r\n book(bookLoadArguments: BookLoadDto): Promise;\r\n preBookDetails(loadIds: number[]): Promise;\r\n deliver(deliverLoadArguments: DeliverLoadDto): Promise;\r\n preDeliverDetails(loadId: number | undefined): Promise;\r\n exportContainerPdf(loadId: number | undefined): Promise;\r\n additionalDeliveryInfo(loadId: number | undefined): Promise;\r\n relatedLoads(loadId: number | undefined): Promise;\r\n appendices(loadId: number | undefined): Promise;\r\n appendixData(appendixId: number | undefined): Promise;\r\n appendixExport(appendixId: number | undefined, exportType: FileExportType | undefined): Promise;\r\n loadSearch(searchArgument: string | null | undefined): Promise;\r\n sublocations(loadId: number | undefined): Promise;\r\n containers(loadId: number | undefined): Promise;\r\n history(loadId: number | undefined): Promise;\r\n customsInfo(loadId: number | undefined): Promise;\r\n details(loadId: number | undefined): Promise;\r\n emission(truckType: TruckType | undefined, distance: number | undefined): Promise;\r\n price(loadId: number | undefined): Promise;\r\n contacts(loadId: number | undefined): Promise;\r\n saveContacts(loadId: number | undefined, loadContacts: LoadContactDto[]): Promise;\r\n}\r\n\r\nexport class LoadsClient extends ApiClientBase implements ILoadsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list(searchCriteriaContainer: LoadSearchCriteriaContainerDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteriaContainer);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadListContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n allowedActions(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/allowed-actions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAllowedActions(_response);\r\n });\r\n }\r\n\r\n protected processAllowedActions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadActionPermissionContainerDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n lock(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/lock\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLock(_response);\r\n });\r\n }\r\n\r\n protected processLock(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadLockDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unlock(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/unlock\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUnlock(_response);\r\n });\r\n }\r\n\r\n protected processUnlock(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n lockStatus(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/lock-status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLockStatus(_response);\r\n });\r\n }\r\n\r\n protected processLockStatus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadLockDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n book(bookLoadArguments: BookLoadDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/book\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bookLoadArguments);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBook(_response);\r\n });\r\n }\r\n\r\n protected processBook(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preBookDetails(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/pre-book-details\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreBookDetails(_response);\r\n });\r\n }\r\n\r\n protected processPreBookDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadPreBookDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deliver(deliverLoadArguments: DeliverLoadDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/deliver\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(deliverLoadArguments);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeliver(_response);\r\n });\r\n }\r\n\r\n protected processDeliver(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadActionResponse.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preDeliverDetails(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/pre-deliver-details?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreDeliverDetails(_response);\r\n });\r\n }\r\n\r\n protected processPreDeliverDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadPreDeliverDetailsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportContainerPdf(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/export-container-pdf?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportContainerPdf(_response);\r\n });\r\n }\r\n\r\n protected processExportContainerPdf(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n additionalDeliveryInfo(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/additional-delivery-info?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAdditionalDeliveryInfo(_response);\r\n });\r\n }\r\n\r\n protected processAdditionalDeliveryInfo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AdditionalDeliveryInfoDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n relatedLoads(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/related-loads?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRelatedLoads(_response);\r\n });\r\n }\r\n\r\n protected processRelatedLoads(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RelatedLoadsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n appendices(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/appendices?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAppendices(_response);\r\n });\r\n }\r\n\r\n protected processAppendices(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AppendixListItemDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n appendixData(appendixId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/appendix-data?\";\r\n if (appendixId === null)\r\n throw new Error(\"The parameter 'appendixId' cannot be null.\");\r\n else if (appendixId !== undefined)\r\n url_ += \"appendixId=\" + encodeURIComponent(\"\" + appendixId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAppendixData(_response);\r\n });\r\n }\r\n\r\n protected processAppendixData(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AppendixDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n appendixExport(appendixId: number | undefined, exportType: FileExportType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/appendix-export?\";\r\n if (appendixId === null)\r\n throw new Error(\"The parameter 'appendixId' cannot be null.\");\r\n else if (appendixId !== undefined)\r\n url_ += \"appendixId=\" + encodeURIComponent(\"\" + appendixId) + \"&\";\r\n if (exportType === null)\r\n throw new Error(\"The parameter 'exportType' cannot be null.\");\r\n else if (exportType !== undefined)\r\n url_ += \"exportType=\" + encodeURIComponent(\"\" + exportType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAppendixExport(_response);\r\n });\r\n }\r\n\r\n protected processAppendixExport(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadSearch(searchArgument: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/load-search?\";\r\n if (searchArgument !== undefined && searchArgument !== null)\r\n url_ += \"searchArgument=\" + encodeURIComponent(\"\" + searchArgument) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadSearch(_response);\r\n });\r\n }\r\n\r\n protected processLoadSearch(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadSearchResultDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n sublocations(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/sublocations?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSublocations(_response);\r\n });\r\n }\r\n\r\n protected processSublocations(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadClientEditSubLocations.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n containers(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/containers?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processContainers(_response);\r\n });\r\n }\r\n\r\n protected processContainers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadClientEditContainersDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n history(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/history?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processHistory(_response);\r\n });\r\n }\r\n\r\n protected processHistory(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadDetailsHistoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n customsInfo(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/customs-info?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCustomsInfo(_response);\r\n });\r\n }\r\n\r\n protected processCustomsInfo(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = CustomsInfoDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n details(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/details?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDetails(_response);\r\n });\r\n }\r\n\r\n protected processDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadDetailsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n emission(truckType: TruckType | undefined, distance: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/emission?\";\r\n if (truckType === null)\r\n throw new Error(\"The parameter 'truckType' cannot be null.\");\r\n else if (truckType !== undefined)\r\n url_ += \"truckType=\" + encodeURIComponent(\"\" + truckType) + \"&\";\r\n if (distance === null)\r\n throw new Error(\"The parameter 'distance' cannot be null.\");\r\n else if (distance !== undefined)\r\n url_ += \"distance=\" + encodeURIComponent(\"\" + distance) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEmission(_response);\r\n });\r\n }\r\n\r\n protected processEmission(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n price(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/price?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPrice(_response);\r\n });\r\n }\r\n\r\n protected processPrice(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = PriceRowDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n contacts(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/contacts?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processContacts(_response);\r\n });\r\n }\r\n\r\n protected processContacts(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadContactDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveContacts(loadId: number | undefined, loadContacts: LoadContactDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads/save-contacts?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadContacts);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveContacts(_response);\r\n });\r\n }\r\n\r\n protected processSaveContacts(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ILoadsSupplierClient {\r\n resign(resignData: ResignLoadDto): Promise;\r\n preResignDetails(loadIds: number[]): Promise;\r\n editLoad(pickupInfo: LoadSupplierEditDto): Promise;\r\n preEditLoadDetails(loadId: number | undefined): Promise;\r\n preEditContainerDetails(loadId: number | undefined): Promise;\r\n saveContainerDetails(containerDetails: LoadSupplierEditContainerDto): Promise;\r\n saveDocuments(loadId: number | undefined, documentIds: number[]): Promise;\r\n}\r\n\r\nexport class LoadsSupplierClient extends ApiClientBase implements ILoadsSupplierClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n resign(resignData: ResignLoadDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/resign\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(resignData);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processResign(_response);\r\n });\r\n }\r\n\r\n protected processResign(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preResignDetails(loadIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/pre-resign-details\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(loadIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreResignDetails(_response);\r\n });\r\n }\r\n\r\n protected processPreResignDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadPreResignDetailsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editLoad(pickupInfo: LoadSupplierEditDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/edit-load\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pickupInfo);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEditLoad(_response);\r\n });\r\n }\r\n\r\n protected processEditLoad(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preEditLoadDetails(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/pre-edit-load-details?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreEditLoadDetails(_response);\r\n });\r\n }\r\n\r\n protected processPreEditLoadDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadPreSupplierEditDetailsDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preEditContainerDetails(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/pre-edit-container-details?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processPreEditContainerDetails(_response);\r\n });\r\n }\r\n\r\n protected processPreEditContainerDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadSupplierEditContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveContainerDetails(containerDetails: LoadSupplierEditContainerDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/save-container-details\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(containerDetails);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveContainerDetails(_response);\r\n });\r\n }\r\n\r\n protected processSaveContainerDetails(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveDocuments(loadId: number | undefined, documentIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loads-supplier/save-documents?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(documentIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveDocuments(_response);\r\n });\r\n }\r\n\r\n protected processSaveDocuments(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IStandardPhrasesClient {\r\n list(): Promise;\r\n listAgreementRouteStandardPhrases(): Promise;\r\n saveAgreementRouteStandardPhrase(phrase: AgreementRouteStandardPhraseDto): Promise;\r\n deleteAgreementRouteStandardPhrase(phraseId: number | undefined): Promise;\r\n edit(phrase: StandardPhraseDto): Promise;\r\n delete(phraseId: number | undefined): Promise;\r\n}\r\n\r\nexport class StandardPhrasesClient extends ApiClientBase implements IStandardPhrasesClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/standard-phrases/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(StandardPhraseDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listAgreementRouteStandardPhrases( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/standard-phrases/list-agreement-route-standard-phrases\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListAgreementRouteStandardPhrases(_response);\r\n });\r\n }\r\n\r\n protected processListAgreementRouteStandardPhrases(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteStandardPhraseDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveAgreementRouteStandardPhrase(phrase: AgreementRouteStandardPhraseDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/standard-phrases/save-agreement-route-standard-phrase\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(phrase);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveAgreementRouteStandardPhrase(_response);\r\n });\r\n }\r\n\r\n protected processSaveAgreementRouteStandardPhrase(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteAgreementRouteStandardPhrase(phraseId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/standard-phrases/delete-agreement-route-standard-phrase?\";\r\n if (phraseId === null)\r\n throw new Error(\"The parameter 'phraseId' cannot be null.\");\r\n else if (phraseId !== undefined)\r\n url_ += \"phraseId=\" + encodeURIComponent(\"\" + phraseId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteAgreementRouteStandardPhrase(_response);\r\n });\r\n }\r\n\r\n protected processDeleteAgreementRouteStandardPhrase(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(phrase: StandardPhraseDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/standard-phrases/edit\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(phrase);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEdit(_response);\r\n });\r\n }\r\n\r\n protected processEdit(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(phraseId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/standard-phrases/delete?\";\r\n if (phraseId === null)\r\n throw new Error(\"The parameter 'phraseId' cannot be null.\");\r\n else if (phraseId !== undefined)\r\n url_ += \"phraseId=\" + encodeURIComponent(\"\" + phraseId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"DELETE\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDelete(_response);\r\n });\r\n }\r\n\r\n protected processDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IAnonymousLoadingSlotsClient {\r\n encodedLoadWithCargoLoadings(encodedLoadId: string | null | undefined): Promise;\r\n calendars(searchCriteria: AnonymousLoadingDockCalendarsSearchCriteria): Promise;\r\n saveLoadingSlots(anonymousLoadingSlotSaveDto: AnonymousLoadingSlotSaveDtoContainer): Promise;\r\n}\r\n\r\nexport class AnonymousLoadingSlotsClient extends ApiClientBase implements IAnonymousLoadingSlotsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n encodedLoadWithCargoLoadings(encodedLoadId: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/anonymous-loading-slots/encoded-load-with-cargo-loadings?\";\r\n if (encodedLoadId !== undefined && encodedLoadId !== null)\r\n url_ += \"encodedLoadId=\" + encodeURIComponent(\"\" + encodedLoadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEncodedLoadWithCargoLoadings(_response);\r\n });\r\n }\r\n\r\n protected processEncodedLoadWithCargoLoadings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadWithCargoLoadingDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n calendars(searchCriteria: AnonymousLoadingDockCalendarsSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/anonymous-loading-slots/calendars\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCalendars(_response);\r\n });\r\n }\r\n\r\n protected processCalendars(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadingDockDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveLoadingSlots(anonymousLoadingSlotSaveDto: AnonymousLoadingSlotSaveDtoContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/anonymous-loading-slots/save-loading-slots\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(anonymousLoadingSlotSaveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveLoadingSlots(_response);\r\n });\r\n }\r\n\r\n protected processSaveLoadingSlots(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface ILoadingSlotsClient {\r\n calendars(searchCriteria: LoadingDockCalendarsSearchCriteria): Promise;\r\n loadWithCargoLoadings(loadId: number | undefined): Promise;\r\n loadingSlots(): Promise;\r\n saveLoadingSlots(saveContainer: LoadingSlotSaveDtoContainer): Promise;\r\n saveBlocking(blocking: BlockingSaveDto): Promise;\r\n deleteBlocking(blockingDeleteDto: BlockingDeleteDto): Promise;\r\n}\r\n\r\nexport class LoadingSlotsClient extends ApiClientBase implements ILoadingSlotsClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n calendars(searchCriteria: LoadingDockCalendarsSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loading-slots/calendars\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCalendars(_response);\r\n });\r\n }\r\n\r\n protected processCalendars(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadingDockDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadWithCargoLoadings(loadId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loading-slots/load-with-cargo-loadings?\";\r\n if (loadId === null)\r\n throw new Error(\"The parameter 'loadId' cannot be null.\");\r\n else if (loadId !== undefined)\r\n url_ += \"loadId=\" + encodeURIComponent(\"\" + loadId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadWithCargoLoadings(_response);\r\n });\r\n }\r\n\r\n protected processLoadWithCargoLoadings(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = LoadWithCargoLoadingDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadingSlots( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loading-slots/loading-slots\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoadingSlots(_response);\r\n });\r\n }\r\n\r\n protected processLoadingSlots(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadingSlotListDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveLoadingSlots(saveContainer: LoadingSlotSaveDtoContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loading-slots/save-loading-slots\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveContainer);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveLoadingSlots(_response);\r\n });\r\n }\r\n\r\n protected processSaveLoadingSlots(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveBlocking(blocking: BlockingSaveDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loading-slots/save-blocking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(blocking);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveBlocking(_response);\r\n });\r\n }\r\n\r\n protected processSaveBlocking(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteBlocking(blockingDeleteDto: BlockingDeleteDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/loading-slots/delete-blocking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(blockingDeleteDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processDeleteBlocking(_response);\r\n });\r\n }\r\n\r\n protected processDeleteBlocking(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IFilesClient {\r\n upload(file: FileParameter | null | undefined): Promise;\r\n}\r\n\r\nexport class FilesClient extends ApiClientBase implements IFilesClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n upload(file: FileParameter | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/files/upload\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (file !== null && file !== undefined)\r\n content_.append(\"file\", file.data, file.fileName ? file.fileName : \"file\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processUpload(_response);\r\n });\r\n }\r\n\r\n protected processUpload(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IDirectMessagingClient {\r\n create(message: CreateDirectMessageDto): Promise;\r\n actorsWithSubscribingRecipients(messageType: MessageType | undefined): Promise;\r\n recipients(): Promise;\r\n list(): Promise;\r\n markAsViewed(messageId: number | null | undefined): Promise;\r\n numUnviewed(): Promise;\r\n}\r\n\r\nexport class DirectMessagingClient extends ApiClientBase implements IDirectMessagingClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n create(message: CreateDirectMessageDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/direct-messaging/create\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreate(_response);\r\n });\r\n }\r\n\r\n protected processCreate(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n actorsWithSubscribingRecipients(messageType: MessageType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/direct-messaging/actors-with-subscribing-recipients?\";\r\n if (messageType === null)\r\n throw new Error(\"The parameter 'messageType' cannot be null.\");\r\n else if (messageType !== undefined)\r\n url_ += \"messageType=\" + encodeURIComponent(\"\" + messageType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processActorsWithSubscribingRecipients(_response);\r\n });\r\n }\r\n\r\n protected processActorsWithSubscribingRecipients(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n recipients( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/direct-messaging/recipients\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRecipients(_response);\r\n });\r\n }\r\n\r\n protected processRecipients(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RecipientDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/direct-messaging/list\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DirectMessageDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n markAsViewed(messageId: number | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/direct-messaging/mark-as-viewed?\";\r\n if (messageId !== undefined && messageId !== null)\r\n url_ += \"messageId=\" + encodeURIComponent(\"\" + messageId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processMarkAsViewed(_response);\r\n });\r\n }\r\n\r\n protected processMarkAsViewed(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n numUnviewed( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/direct-messaging/num-unviewed\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNumUnviewed(_response);\r\n });\r\n }\r\n\r\n protected processNumUnviewed(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IDashboardClient {\r\n loads(): Promise;\r\n containers(): Promise;\r\n relatedLoads(): Promise;\r\n news(): Promise;\r\n procurements(): Promise;\r\n spotTenders(): Promise;\r\n}\r\n\r\nexport class DashboardClient extends ApiClientBase implements IDashboardClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n loads( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/dashboard/loads\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processLoads(_response);\r\n });\r\n }\r\n\r\n protected processLoads(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadDashboardDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n containers( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/dashboard/containers\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processContainers(_response);\r\n });\r\n }\r\n\r\n protected processContainers(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadDashboardDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n relatedLoads( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/dashboard/related-loads\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRelatedLoads(_response);\r\n });\r\n }\r\n\r\n protected processRelatedLoads(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LoadDashboardDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n news( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/dashboard/news\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processNews(_response);\r\n });\r\n }\r\n\r\n protected processNews(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(NewsDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n procurements( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/dashboard/procurements\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processProcurements(_response);\r\n });\r\n }\r\n\r\n protected processProcurements(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ProcurementDashboardDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n spotTenders( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/dashboard/spot-tenders\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSpotTenders(_response);\r\n });\r\n }\r\n\r\n protected processSpotTenders(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SpotTenderDashboardDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IAgreementsClientClient {\r\n bySearchCriteria(searchCriteria: ClientAgreementSearchCriteriaContainer): Promise;\r\n exportToExcel(agreementSearchCriteria: ClientAgreementSearchCriteriaContainer): Promise;\r\n byAgreementId(agreementId: number | undefined): Promise;\r\n byPreviousAgreementId(currentAgreementId: number | undefined): Promise;\r\n trucktypesByAgreementId(criteria: ClientGetTruckTypesSearchCriteria): Promise;\r\n agreementLimitingDates(agreementId: number | undefined): Promise;\r\n agreementToDates(cargoType: CargoType | undefined): Promise;\r\n saveRanking(ranking: RankingAgreementSaveDto): Promise;\r\n highestRank(): Promise;\r\n agreementPeriods(agreementRouteId: number | undefined): Promise;\r\n rankedSuppliersByAgreementroute(searchCriteria: RankingSearchCriteria): Promise;\r\n exportSupplierRoutePrices(criteria: ExportProcurementToExcelSearchCriteria): Promise;\r\n}\r\n\r\nexport class AgreementsClientClient extends ApiClientBase implements IAgreementsClientClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n bySearchCriteria(searchCriteria: ClientAgreementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/by-search-criteria\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBySearchCriteria(_response);\r\n });\r\n }\r\n\r\n protected processBySearchCriteria(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ClientAgreementContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(agreementSearchCriteria: ClientAgreementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(agreementSearchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n byAgreementId(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/by-agreement-id?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processByAgreementId(_response);\r\n });\r\n }\r\n\r\n protected processByAgreementId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RankingAgreementDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n byPreviousAgreementId(currentAgreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/by-previous-agreement-id?\";\r\n if (currentAgreementId === null)\r\n throw new Error(\"The parameter 'currentAgreementId' cannot be null.\");\r\n else if (currentAgreementId !== undefined)\r\n url_ += \"currentAgreementId=\" + encodeURIComponent(\"\" + currentAgreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processByPreviousAgreementId(_response);\r\n });\r\n }\r\n\r\n protected processByPreviousAgreementId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = RankingAgreementDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n trucktypesByAgreementId(criteria: ClientGetTruckTypesSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/trucktypes-by-agreement-id\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTrucktypesByAgreementId(_response);\r\n });\r\n }\r\n\r\n protected processTrucktypesByAgreementId(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RankingTruckTypesDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementLimitingDates(agreementId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/agreement-limiting-dates?\";\r\n if (agreementId === null)\r\n throw new Error(\"The parameter 'agreementId' cannot be null.\");\r\n else if (agreementId !== undefined)\r\n url_ += \"agreementId=\" + encodeURIComponent(\"\" + agreementId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementLimitingDates(_response);\r\n });\r\n }\r\n\r\n protected processAgreementLimitingDates(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = AgreementLimitingDatesDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementToDates(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/agreement-to-dates?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementToDates(_response);\r\n });\r\n }\r\n\r\n protected processAgreementToDates(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementCountryToDateDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveRanking(ranking: RankingAgreementSaveDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/save-ranking\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(ranking);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveRanking(_response);\r\n });\r\n }\r\n\r\n protected processSaveRanking(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n highestRank( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/highest-rank\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processHighestRank(_response);\r\n });\r\n }\r\n\r\n protected processHighestRank(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementPeriods(agreementRouteId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/agreement-periods?\";\r\n if (agreementRouteId === null)\r\n throw new Error(\"The parameter 'agreementRouteId' cannot be null.\");\r\n else if (agreementRouteId !== undefined)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementPeriods(_response);\r\n });\r\n }\r\n\r\n protected processAgreementPeriods(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementPeriodDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n rankedSuppliersByAgreementroute(searchCriteria: RankingSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/ranked-suppliers-by-agreementroute\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processRankedSuppliersByAgreementroute(_response);\r\n });\r\n }\r\n\r\n protected processRankedSuppliersByAgreementroute(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RankedSupplierDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportSupplierRoutePrices(criteria: ExportProcurementToExcelSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/export-supplier-route-prices\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportSupplierRoutePrices(_response);\r\n });\r\n }\r\n\r\n protected processExportSupplierRoutePrices(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IAgreementsSupplierClient {\r\n bySearchCriteria(searchCriteria: SupplierAgreementSearchCriteriaContainer): Promise;\r\n exportToExcel(agreementSearchCriteria: SupplierAgreementSearchCriteriaContainer): Promise;\r\n}\r\n\r\nexport class AgreementsSupplierClient extends ApiClientBase implements IAgreementsSupplierClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n bySearchCriteria(searchCriteria: SupplierAgreementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-supplier/by-search-criteria\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processBySearchCriteria(_response);\r\n });\r\n }\r\n\r\n protected processBySearchCriteria(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = SupplierAgreementContainerDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportToExcel(agreementSearchCriteria: SupplierAgreementSearchCriteriaContainer, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-supplier/export-to-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(agreementSearchCriteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IRoutingClient {\r\n addressSuggestions(country: Country | undefined, county: string | null | undefined, zipcode: string | null | undefined, address: string | null | undefined): Promise;\r\n itinerary(fromCountry: Country | undefined, fromCounty: string | null | undefined, fromZipcode: string | null | undefined, fromAddress: string | null | undefined, toCountry: Country | undefined, toCounty: string | null | undefined, toZipcode: string | null | undefined, toAddress: string | null | undefined, agreementRouteId: number | null | undefined): Promise;\r\n}\r\n\r\nexport class RoutingClient extends ApiClientBase implements IRoutingClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n addressSuggestions(country: Country | undefined, county: string | null | undefined, zipcode: string | null | undefined, address: string | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/routing/address-suggestions?\";\r\n if (country === null)\r\n throw new Error(\"The parameter 'country' cannot be null.\");\r\n else if (country !== undefined)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n if (county !== undefined && county !== null)\r\n url_ += \"county=\" + encodeURIComponent(\"\" + county) + \"&\";\r\n if (zipcode !== undefined && zipcode !== null)\r\n url_ += \"zipcode=\" + encodeURIComponent(\"\" + zipcode) + \"&\";\r\n if (address !== undefined && address !== null)\r\n url_ += \"address=\" + encodeURIComponent(\"\" + address) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAddressSuggestions(_response);\r\n });\r\n }\r\n\r\n protected processAddressSuggestions(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SuggestionDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n itinerary(fromCountry: Country | undefined, fromCounty: string | null | undefined, fromZipcode: string | null | undefined, fromAddress: string | null | undefined, toCountry: Country | undefined, toCounty: string | null | undefined, toZipcode: string | null | undefined, toAddress: string | null | undefined, agreementRouteId: number | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/routing/itinerary?\";\r\n if (fromCountry === null)\r\n throw new Error(\"The parameter 'fromCountry' cannot be null.\");\r\n else if (fromCountry !== undefined)\r\n url_ += \"fromCountry=\" + encodeURIComponent(\"\" + fromCountry) + \"&\";\r\n if (fromCounty !== undefined && fromCounty !== null)\r\n url_ += \"fromCounty=\" + encodeURIComponent(\"\" + fromCounty) + \"&\";\r\n if (fromZipcode !== undefined && fromZipcode !== null)\r\n url_ += \"fromZipcode=\" + encodeURIComponent(\"\" + fromZipcode) + \"&\";\r\n if (fromAddress !== undefined && fromAddress !== null)\r\n url_ += \"fromAddress=\" + encodeURIComponent(\"\" + fromAddress) + \"&\";\r\n if (toCountry === null)\r\n throw new Error(\"The parameter 'toCountry' cannot be null.\");\r\n else if (toCountry !== undefined)\r\n url_ += \"toCountry=\" + encodeURIComponent(\"\" + toCountry) + \"&\";\r\n if (toCounty !== undefined && toCounty !== null)\r\n url_ += \"toCounty=\" + encodeURIComponent(\"\" + toCounty) + \"&\";\r\n if (toZipcode !== undefined && toZipcode !== null)\r\n url_ += \"toZipcode=\" + encodeURIComponent(\"\" + toZipcode) + \"&\";\r\n if (toAddress !== undefined && toAddress !== null)\r\n url_ += \"toAddress=\" + encodeURIComponent(\"\" + toAddress) + \"&\";\r\n if (agreementRouteId !== undefined && agreementRouteId !== null)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processItinerary(_response);\r\n });\r\n }\r\n\r\n protected processItinerary(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ItineraryDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport interface IAgreementRoutesClient {\r\n list(cargoType: CargoType | undefined): Promise;\r\n listForProcurement(criteria: AgreementRouteForProcurementSearchCriteria): Promise;\r\n suppliersForProcurement(cargoType: CargoType | undefined): Promise;\r\n agreementRouteExists(createAgreementRouteDto: CreateAgreementRouteDto): Promise;\r\n createAgreementRoute(createAgreementRouteDto: CreateAgreementRouteDto): Promise;\r\n tags(cargoType: CargoType | null | undefined): Promise;\r\n saveTags(tags: TagDto[]): Promise;\r\n saveStandardPhrases(phrases: AgreementRouteStandardPhraseSaveDto[]): Promise;\r\n saveDefaultMandatoryFlags(defaultMandatoryFlags: DefaultMandatoryFlagsDto[]): Promise;\r\n saveHiddenStatus(saveDto: SaveAgreementRouteStatusHiddenDto): Promise;\r\n saveConnectedTrucktypes(connectedTruckTypes: ConnectedTruckTypesDto[]): Promise;\r\n saveEstimateAgreementRoutes(estimates: EstimateDto[]): Promise;\r\n estimateFromHistoricalPeriod(criteria: EstimateFromHistoricalPeriodSearchCriteria): Promise;\r\n importEstimateFromExcel(excel: FileParameter | null | undefined): Promise;\r\n exportEstimateToExcel(cargoType: CargoType | undefined, agreementRouteIds: number[]): Promise;\r\n exportAllToExcel(cargoType: CargoType | undefined): Promise;\r\n archiveOrDelete(agreementRouteId: number | undefined): Promise;\r\n}\r\n\r\nexport class AgreementRoutesClient extends ApiClientBase implements IAgreementRoutesClient {\r\n protected instance: AxiosInstance;\r\n protected baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(configuration: ApiConfiguration, baseUrl?: string, instance?: AxiosInstance) {\r\n\r\n super(configuration);\r\n\r\n this.instance = instance || axios.create();\r\n\r\n this.baseUrl = baseUrl ?? \"\";\r\n\r\n }\r\n\r\n list(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/list?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processList(_response);\r\n });\r\n }\r\n\r\n protected processList(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listForProcurement(criteria: AgreementRouteForProcurementSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/list-for-procurement\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processListForProcurement(_response);\r\n });\r\n }\r\n\r\n protected processListForProcurement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AgreementRouteForProcurementDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suppliersForProcurement(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/suppliers-for-procurement?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSuppliersForProcurement(_response);\r\n });\r\n }\r\n\r\n protected processSuppliersForProcurement(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RepositoryDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n agreementRouteExists(createAgreementRouteDto: CreateAgreementRouteDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/agreement-route-exists\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(createAgreementRouteDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processAgreementRouteExists(_response);\r\n });\r\n }\r\n\r\n protected processAgreementRouteExists(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createAgreementRoute(createAgreementRouteDto: CreateAgreementRouteDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/create-agreement-route\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(createAgreementRouteDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processCreateAgreementRoute(_response);\r\n });\r\n }\r\n\r\n protected processCreateAgreementRoute(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n tags(cargoType: CargoType | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/tags?\";\r\n if (cargoType !== undefined && cargoType !== null)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"GET\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processTags(_response);\r\n });\r\n }\r\n\r\n protected processTags(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveTags(tags: TagDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/save-tags\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(tags);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveTags(_response);\r\n });\r\n }\r\n\r\n protected processSaveTags(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveStandardPhrases(phrases: AgreementRouteStandardPhraseSaveDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/save-standard-phrases\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(phrases);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveStandardPhrases(_response);\r\n });\r\n }\r\n\r\n protected processSaveStandardPhrases(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveDefaultMandatoryFlags(defaultMandatoryFlags: DefaultMandatoryFlagsDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/save-default-mandatory-flags\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(defaultMandatoryFlags);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveDefaultMandatoryFlags(_response);\r\n });\r\n }\r\n\r\n protected processSaveDefaultMandatoryFlags(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveHiddenStatus(saveDto: SaveAgreementRouteStatusHiddenDto, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/save-hidden-status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(saveDto);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveHiddenStatus(_response);\r\n });\r\n }\r\n\r\n protected processSaveHiddenStatus(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveConnectedTrucktypes(connectedTruckTypes: ConnectedTruckTypesDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/save-connected-trucktypes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(connectedTruckTypes);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveConnectedTrucktypes(_response);\r\n });\r\n }\r\n\r\n protected processSaveConnectedTrucktypes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveEstimateAgreementRoutes(estimates: EstimateDto[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/save-estimate-agreement-routes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(estimates);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processSaveEstimateAgreementRoutes(_response);\r\n });\r\n }\r\n\r\n protected processSaveEstimateAgreementRoutes(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n estimateFromHistoricalPeriod(criteria: EstimateFromHistoricalPeriodSearchCriteria, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/estimate-from-historical-period\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(criteria);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processEstimateFromHistoricalPeriod(_response);\r\n });\r\n }\r\n\r\n protected processEstimateFromHistoricalPeriod(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EstimateFromHistoricalPeriodDto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n importEstimateFromExcel(excel: FileParameter | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/import-estimate-from-excel\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (excel !== null && excel !== undefined)\r\n content_.append(\"excel\", excel.data, excel.fileName ? excel.fileName : \"excel\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processImportEstimateFromExcel(_response);\r\n });\r\n }\r\n\r\n protected processImportEstimateFromExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n let result200: any = null;\r\n let resultData200 = _responseText;\r\n result200 = ImportedEstimatesDto.fromJS(resultData200);\r\n return Promise.resolve(result200);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportEstimateToExcel(cargoType: CargoType | undefined, agreementRouteIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/export-estimate-to-excel?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(agreementRouteIds);\r\n\r\n let options_: AxiosRequestConfig = {\r\n data: content_,\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportEstimateToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportEstimateToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exportAllToExcel(cargoType: CargoType | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/export-all-to-excel?\";\r\n if (cargoType === null)\r\n throw new Error(\"The parameter 'cargoType' cannot be null.\");\r\n else if (cargoType !== undefined)\r\n url_ += \"cargoType=\" + encodeURIComponent(\"\" + cargoType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n responseType: \"blob\",\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processExportAllToExcel(_response);\r\n });\r\n }\r\n\r\n protected processExportAllToExcel(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers[\"content-disposition\"] : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return Promise.resolve({ fileName: fileName, status: status, data: new Blob([response.data], { type: response.headers[\"content-type\"] }), headers: _headers });\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n archiveOrDelete(agreementRouteId: number | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/archive-or-delete?\";\r\n if (agreementRouteId === null)\r\n throw new Error(\"The parameter 'agreementRouteId' cannot be null.\");\r\n else if (agreementRouteId !== undefined)\r\n url_ += \"agreementRouteId=\" + encodeURIComponent(\"\" + agreementRouteId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: AxiosRequestConfig = {\r\n method: \"POST\",\r\n url: url_,\r\n headers: {\r\n },\r\n cancelToken\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.instance.request(transformedOptions_);\r\n }).catch((_error: any) => {\r\n if (isAxiosError(_error) && _error.response) {\r\n return _error.response;\r\n } else {\r\n throw _error;\r\n }\r\n }).then((_response: AxiosResponse) => {\r\n return this.processArchiveOrDelete(_response);\r\n });\r\n }\r\n\r\n protected processArchiveOrDelete(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _headers[k] = response.headers[k];\r\n }\r\n }\r\n }\r\n if (status === 200) {\r\n const _responseText = response.data;\r\n return Promise.resolve(null as any);\r\n\r\n } else if (status !== 200 && status !== 204) {\r\n const _responseText = response.data;\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProfileDto implements IProfileDto {\r\n loadUserId!: number;\r\n actorType!: ActorType;\r\n userLevel!: UserLevel;\r\n supportAdminLevel!: SupportAdminLevel;\r\n userConfigurations!: UserConfigurationDto[] | undefined;\r\n actorConfigurations!: ActorConfigurationDto[] | undefined;\r\n culture!: Culture;\r\n actorName!: string | undefined;\r\n actorCargoTypes!: CargoType[] | undefined;\r\n actorId!: number;\r\n timeZone!: TimeZone;\r\n\r\n constructor(data?: IProfileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.actorType = _data[\"actorType\"];\r\n this.userLevel = _data[\"userLevel\"];\r\n this.supportAdminLevel = _data[\"supportAdminLevel\"];\r\n if (Array.isArray(_data[\"userConfigurations\"])) {\r\n this.userConfigurations = [] as any;\r\n for (let item of _data[\"userConfigurations\"])\r\n this.userConfigurations!.push(UserConfigurationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"actorConfigurations\"])) {\r\n this.actorConfigurations = [] as any;\r\n for (let item of _data[\"actorConfigurations\"])\r\n this.actorConfigurations!.push(ActorConfigurationDto.fromJS(item));\r\n }\r\n this.culture = _data[\"culture\"];\r\n this.actorName = _data[\"actorName\"];\r\n if (Array.isArray(_data[\"actorCargoTypes\"])) {\r\n this.actorCargoTypes = [] as any;\r\n for (let item of _data[\"actorCargoTypes\"])\r\n this.actorCargoTypes!.push(item);\r\n }\r\n this.actorId = _data[\"actorId\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProfileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProfileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"actorType\"] = this.actorType;\r\n data[\"userLevel\"] = this.userLevel;\r\n data[\"supportAdminLevel\"] = this.supportAdminLevel;\r\n if (Array.isArray(this.userConfigurations)) {\r\n data[\"userConfigurations\"] = [];\r\n for (let item of this.userConfigurations)\r\n data[\"userConfigurations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.actorConfigurations)) {\r\n data[\"actorConfigurations\"] = [];\r\n for (let item of this.actorConfigurations)\r\n data[\"actorConfigurations\"].push(item.toJSON());\r\n }\r\n data[\"culture\"] = this.culture;\r\n data[\"actorName\"] = this.actorName;\r\n if (Array.isArray(this.actorCargoTypes)) {\r\n data[\"actorCargoTypes\"] = [];\r\n for (let item of this.actorCargoTypes)\r\n data[\"actorCargoTypes\"].push(item);\r\n }\r\n data[\"actorId\"] = this.actorId;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProfileDto {\r\n loadUserId: number;\r\n actorType: ActorType;\r\n userLevel: UserLevel;\r\n supportAdminLevel: SupportAdminLevel;\r\n userConfigurations: UserConfigurationDto[] | undefined;\r\n actorConfigurations: ActorConfigurationDto[] | undefined;\r\n culture: Culture;\r\n actorName: string | undefined;\r\n actorCargoTypes: CargoType[] | undefined;\r\n actorId: number;\r\n timeZone: TimeZone;\r\n}\r\n\r\nexport enum ActorType {\r\n Client = 1,\r\n Supplier = 2,\r\n Customer = 4,\r\n Terminal = 6,\r\n}\r\n\r\nexport enum UserLevel {\r\n Integration = 1,\r\n Viewer = 2,\r\n User = 3,\r\n Admin = 4,\r\n SuperAdmin = 5,\r\n}\r\n\r\nexport enum SupportAdminLevel {\r\n None = 0,\r\n ServiceDesk = 1,\r\n MegaUser = 2,\r\n UberClearance = 3,\r\n}\r\n\r\nexport class UserConfigurationDto implements IUserConfigurationDto {\r\n type!: UserConfigurationType;\r\n subTypeId!: number;\r\n configuration!: string | undefined;\r\n\r\n constructor(data?: IUserConfigurationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.subTypeId = _data[\"subTypeId\"];\r\n this.configuration = _data[\"configuration\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserConfigurationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserConfigurationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"subTypeId\"] = this.subTypeId;\r\n data[\"configuration\"] = this.configuration;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserConfigurationDto {\r\n type: UserConfigurationType;\r\n subTypeId: number;\r\n configuration: string | undefined;\r\n}\r\n\r\nexport enum UserConfigurationType {\r\n ClientProcurement = 1,\r\n ClientAgreement = 2,\r\n SupplierProcurement = 3,\r\n SupplierAgreement = 4,\r\n LoadList = 5,\r\n LoadTab = 6,\r\n CreateLoad = 7,\r\n CostReport = 8,\r\n ProcurementDraft = 9,\r\n AgreementRoute = 10,\r\n InvoiceReport = 12,\r\n DistanceReport = 13,\r\n DeviationReport = 14,\r\n LoadStatisticsReport = 15,\r\n AgreementStatisticsReport = 16,\r\n MobilePopup = 17,\r\n SupplierProcurementConfig = 18,\r\n CalendarConfiguration = 19,\r\n ReadDocuments = 20,\r\n ProcurementAnalytics = 21,\r\n QualityPoints = 22,\r\n ClientMonitoring = 23,\r\n InvoicedFees = 24,\r\n AnnulledLoadsReport = 25,\r\n Mailviewer = 1001,\r\n Explorer = 1002,\r\n Distance = 1003,\r\n InvoiceGenerator = 1004,\r\n HeatMap = 1005,\r\n}\r\n\r\nexport class ActorConfigurationDto implements IActorConfigurationDto {\r\n type!: ActorConfigurationType;\r\n subTypeId!: number;\r\n configuration!: string | undefined;\r\n\r\n constructor(data?: IActorConfigurationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.subTypeId = _data[\"subTypeId\"];\r\n this.configuration = _data[\"configuration\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorConfigurationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorConfigurationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"subTypeId\"] = this.subTypeId;\r\n data[\"configuration\"] = this.configuration;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorConfigurationDto {\r\n type: ActorConfigurationType;\r\n subTypeId: number;\r\n configuration: string | undefined;\r\n}\r\n\r\nexport enum ActorConfigurationType {\r\n ZipcodeByCounty = 1,\r\n MegaPresets = 1001,\r\n}\r\n\r\nexport enum Culture {\r\n Swedish = 1,\r\n English = 2,\r\n Norwegian = 3,\r\n Finnish = 4,\r\n}\r\n\r\nexport enum CargoType {\r\n Road = 1,\r\n Railroad = 2,\r\n Container = 3,\r\n MachineTransport = 4,\r\n}\r\n\r\nexport enum TimeZone {\r\n NotSet = 0,\r\n Europe_Stockholm = 1,\r\n Europe_Oslo = 2,\r\n Europe_Helsinki = 3,\r\n Europe_Copenhagen = 4,\r\n Europe_Tallinn = 5,\r\n Europe_Amsterdam = 6,\r\n Europe_Riga = 7,\r\n Europe_Warsaw = 8,\r\n Europe_Berlin = 9,\r\n Asia_Singapore = 10,\r\n Europe_Rome = 11,\r\n America_New_York = 12,\r\n Europe_Brussels = 13,\r\n Europe_Zurich = 14,\r\n Europe_Prague = 15,\r\n Europe_London = 16,\r\n Europe_Budapest = 17,\r\n Europe_Vilnius = 18,\r\n Europe_Bratislava = 19,\r\n Europe_Lisbon = 21,\r\n Europe_Athens = 22,\r\n Asia_Jerusalem = 23,\r\n Asia_Tokyo = 24,\r\n Asia_Shanghai = 25,\r\n Europe_Madrid = 26,\r\n Africa_Tunis = 27,\r\n Europe_Luxembourg = 28,\r\n Europe_Tirane = 29,\r\n Asia_Ho_Chi_Minh = 30,\r\n America_Chicago = 31,\r\n America_Denver = 32,\r\n America_Detroit = 33,\r\n America_Indiana_Indianapolis = 34,\r\n America_Los_Angeles = 35,\r\n Asia_Taipei = 36,\r\n Europe_Istanbul = 37,\r\n Asia_Riyadh = 38,\r\n Asia_Aden = 39,\r\n Asia_Seoul = 40,\r\n Asia_Karachi = 41,\r\n Asia_Kolkata = 42,\r\n Asia_Nicosia = 43,\r\n Asia_Beirut = 44,\r\n Atlantic_Cape_Verde = 45,\r\n Asia_Tbilisi = 46,\r\n Europe_Bucharest = 47,\r\n Asia_Dubai = 48,\r\n Asia_Amman = 49,\r\n Africa_Khartoum = 50,\r\n Asia_Muscat = 51,\r\n Africa_Casablanca = 52,\r\n Asia_Bangkok = 53,\r\n Asia_Phnom_Penh = 54,\r\n Asia_Colombo = 55,\r\n Asia_Jakarta = 56,\r\n Indian_Maldives = 57,\r\n Asia_Hong_Kong = 58,\r\n Europe_Dublin = 59,\r\n Asia_Kuala_Lumpur = 60,\r\n Europe_Sofia = 61,\r\n Europe_Ljubljana = 62,\r\n Asia_Damascus = 63,\r\n America_Montreal = 64,\r\n Europe_Mariehamn = 65,\r\n Africa_Sao_Tome = 66,\r\n Atlantic_Reykjavik = 67,\r\n Africa_Abidjan = 68,\r\n Africa_Dakar = 69,\r\n Europe_Vienna = 70,\r\n Europe_Paris = 71,\r\n Europe_Andorra = 72,\r\n Asia_Kabul = 73,\r\n America_Antigua = 74,\r\n America_Anguilla = 75,\r\n Asia_Yerevan = 76,\r\n Africa_Luanda = 77,\r\n Antarctica_McMurdo = 78,\r\n Antarctica_Casey = 79,\r\n Antarctica_Davis = 80,\r\n Antarctica_DumontDUrville = 81,\r\n Antarctica_Mawson = 82,\r\n Antarctica_Palmer = 83,\r\n Antarctica_Rothera = 84,\r\n Antarctica_Syowa = 85,\r\n Antarctica_Vostok = 87,\r\n America_Argentina_Buenos_Aires = 88,\r\n America_Argentina_Cordoba = 89,\r\n America_Argentina_Salta = 90,\r\n America_Argentina_Jujuy = 91,\r\n America_Argentina_Tucuman = 92,\r\n America_Argentina_Catamarca = 93,\r\n America_Argentina_La_Rioja = 94,\r\n America_Argentina_San_Juan = 95,\r\n America_Argentina_Mendoza = 96,\r\n America_Argentina_San_Luis = 97,\r\n America_Argentina_Rio_Gallegos = 98,\r\n America_Argentina_Ushuaia = 99,\r\n Pacific_Pago_Pago = 100,\r\n Australia_Lord_Howe = 101,\r\n Antarctica_Macquarie = 102,\r\n Australia_Hobart = 103,\r\n Australia_Melbourne = 104,\r\n Australia_Sydney = 105,\r\n Australia_Broken_Hill = 106,\r\n Australia_Brisbane = 107,\r\n Australia_Lindeman = 108,\r\n Australia_Adelaide = 109,\r\n Australia_Darwin = 110,\r\n Australia_Perth = 111,\r\n Australia_Eucla = 112,\r\n America_Aruba = 113,\r\n Asia_Baku = 114,\r\n Europe_Sarajevo = 115,\r\n America_Barbados = 116,\r\n Asia_Dhaka = 117,\r\n Africa_Ouagadougou = 118,\r\n Asia_Bahrain = 119,\r\n Africa_Bujumbura = 120,\r\n Africa_Porto_Novo = 121,\r\n America_St_Barthelemy = 122,\r\n Atlantic_Bermuda = 123,\r\n Asia_Brunei = 124,\r\n America_La_Paz = 125,\r\n America_Kralendijk = 126,\r\n America_Noronha = 127,\r\n America_Belem = 128,\r\n America_Fortaleza = 129,\r\n America_Recife = 130,\r\n America_Araguaina = 131,\r\n America_Maceio = 132,\r\n America_Bahia = 133,\r\n America_Sao_Paulo = 134,\r\n America_Campo_Grande = 135,\r\n America_Cuiaba = 136,\r\n America_Santarem = 137,\r\n America_Porto_Velho = 138,\r\n America_Boa_Vista = 139,\r\n America_Manaus = 140,\r\n America_Eirunepe = 141,\r\n America_Rio_Branco = 142,\r\n America_Nassau = 143,\r\n Asia_Thimphu = 144,\r\n Africa_Gaborone = 145,\r\n Europe_Minsk = 146,\r\n America_Belize = 147,\r\n America_St_Johns = 148,\r\n America_Halifax = 149,\r\n America_Glace_Bay = 150,\r\n America_Moncton = 151,\r\n America_Goose_Bay = 152,\r\n America_Blanc_Sablon = 153,\r\n America_Toronto = 154,\r\n America_Iqaluit = 155,\r\n America_Atikokan = 156,\r\n America_Winnipeg = 157,\r\n America_Resolute = 158,\r\n America_Rankin_Inlet = 159,\r\n America_Regina = 160,\r\n America_Swift_Current = 161,\r\n America_Edmonton = 162,\r\n America_Cambridge_Bay = 163,\r\n America_Inuvik = 164,\r\n America_Creston = 165,\r\n America_Dawson_Creek = 166,\r\n America_Fort_Nelson = 167,\r\n America_Whitehorse = 168,\r\n America_Dawson = 169,\r\n America_Vancouver = 170,\r\n Indian_Cocos = 171,\r\n Africa_Kinshasa = 172,\r\n Africa_Lubumbashi = 173,\r\n Africa_Bangui = 174,\r\n Africa_Brazzaville = 175,\r\n Pacific_Rarotonga = 176,\r\n America_Santiago = 177,\r\n America_Punta_Arenas = 178,\r\n Pacific_Easter = 179,\r\n Africa_Douala = 180,\r\n America_Bogota = 182,\r\n America_Costa_Rica = 183,\r\n America_Havana = 184,\r\n America_Curacao = 185,\r\n Indian_Christmas = 186,\r\n Asia_Famagusta = 187,\r\n Europe_Busingen = 188,\r\n Africa_Djibouti = 189,\r\n America_Dominica = 190,\r\n America_Santo_Domingo = 191,\r\n Africa_Algiers = 192,\r\n America_Guayaquil = 193,\r\n Pacific_Galapagos = 194,\r\n Africa_Cairo = 195,\r\n Africa_El_Aaiun = 196,\r\n Africa_Asmara = 197,\r\n Africa_Ceuta = 198,\r\n Atlantic_Canary = 199,\r\n Africa_Addis_Ababa = 200,\r\n Pacific_Fiji = 201,\r\n Atlantic_Stanley = 202,\r\n Pacific_Chuuk = 203,\r\n Pacific_Pohnpei = 204,\r\n Pacific_Kosrae = 205,\r\n Atlantic_Faroe = 206,\r\n Africa_Libreville = 207,\r\n America_Grenada = 208,\r\n America_Cayenne = 209,\r\n Europe_Guernsey = 210,\r\n Africa_Accra = 211,\r\n Europe_Gibraltar = 212,\r\n America_Nuuk = 213,\r\n America_Danmarkshavn = 214,\r\n America_Scoresbysund = 215,\r\n America_Thule = 216,\r\n Africa_Banjul = 217,\r\n Africa_Conakry = 218,\r\n America_Guadeloupe = 219,\r\n Africa_Malabo = 220,\r\n Atlantic_South_Georgia = 221,\r\n America_Guatemala = 222,\r\n Pacific_Guam = 223,\r\n Africa_Bissau = 224,\r\n America_Guyana = 225,\r\n America_Tegucigalpa = 226,\r\n Europe_Zagreb = 227,\r\n America_Port_au_Prince = 228,\r\n Asia_Pontianak = 229,\r\n Asia_Makassar = 230,\r\n Asia_Jayapura = 231,\r\n Europe_Isle_of_Man = 232,\r\n Indian_Chagos = 233,\r\n Asia_Baghdad = 234,\r\n Asia_Tehran = 235,\r\n Europe_Jersey = 236,\r\n America_Jamaica = 237,\r\n Africa_Nairobi = 238,\r\n Asia_Bishkek = 239,\r\n Pacific_Tarawa = 240,\r\n Pacific_Kiritimati = 242,\r\n Indian_Comoro = 243,\r\n America_St_Kitts = 244,\r\n Asia_Pyongyang = 245,\r\n Asia_Kuwait = 246,\r\n America_Cayman = 247,\r\n Asia_Almaty = 248,\r\n Asia_Qyzylorda = 249,\r\n Asia_Qostanay = 250,\r\n Asia_Aqtobe = 251,\r\n Asia_Aqtau = 252,\r\n Asia_Atyrau = 253,\r\n Asia_Oral = 254,\r\n Asia_Vientiane = 255,\r\n America_St_Lucia = 256,\r\n Europe_Vaduz = 257,\r\n Africa_Monrovia = 258,\r\n Africa_Maseru = 259,\r\n Africa_Tripoli = 260,\r\n Europe_Monaco = 261,\r\n Europe_Chisinau = 262,\r\n Europe_Podgorica = 263,\r\n America_Marigot = 264,\r\n Indian_Antananarivo = 265,\r\n Pacific_Majuro = 266,\r\n Pacific_Kwajalein = 267,\r\n Europe_Skopje = 268,\r\n Africa_Bamako = 269,\r\n Asia_Yangon = 270,\r\n Asia_Ulaanbaatar = 271,\r\n Asia_Hovd = 272,\r\n Asia_Macau = 273,\r\n Pacific_Saipan = 274,\r\n America_Martinique = 275,\r\n Africa_Nouakchott = 276,\r\n America_Montserrat = 277,\r\n Europe_Malta = 278,\r\n Indian_Mauritius = 279,\r\n Africa_Blantyre = 280,\r\n America_Mexico_City = 281,\r\n America_Cancun = 282,\r\n America_Merida = 283,\r\n America_Monterrey = 284,\r\n America_Matamoros = 285,\r\n America_Chihuahua = 286,\r\n America_Ojinaga = 288,\r\n America_Mazatlan = 289,\r\n America_Bahia_Banderas = 290,\r\n America_Hermosillo = 291,\r\n America_Tijuana = 292,\r\n Asia_Kuching = 293,\r\n Africa_Maputo = 294,\r\n Africa_Windhoek = 295,\r\n Pacific_Noumea = 296,\r\n Africa_Niamey = 297,\r\n Pacific_Norfolk = 298,\r\n Africa_Lagos = 299,\r\n America_Managua = 300,\r\n Asia_Kathmandu = 301,\r\n Pacific_Nauru = 302,\r\n Pacific_Niue = 303,\r\n Pacific_Auckland = 304,\r\n Pacific_Chatham = 305,\r\n America_Panama = 306,\r\n America_Lima = 307,\r\n Pacific_Tahiti = 308,\r\n Pacific_Marquesas = 309,\r\n Pacific_Gambier = 310,\r\n Pacific_Port_Moresby = 311,\r\n Pacific_Bougainville = 312,\r\n Asia_Manila = 313,\r\n America_Miquelon = 314,\r\n Pacific_Pitcairn = 315,\r\n America_Puerto_Rico = 316,\r\n Asia_Gaza = 317,\r\n Asia_Hebron = 318,\r\n Atlantic_Madeira = 319,\r\n Atlantic_Azores = 320,\r\n Pacific_Palau = 321,\r\n America_Asuncion = 322,\r\n Asia_Qatar = 323,\r\n Indian_Reunion = 324,\r\n Europe_Belgrade = 325,\r\n Europe_Kaliningrad = 326,\r\n Europe_Moscow = 327,\r\n Europe_Simferopol = 328,\r\n Europe_Kirov = 329,\r\n Europe_Volgograd = 330,\r\n Europe_Astrakhan = 331,\r\n Europe_Saratov = 332,\r\n Europe_Ulyanovsk = 333,\r\n Europe_Samara = 334,\r\n Asia_Yekaterinburg = 335,\r\n Asia_Omsk = 336,\r\n Asia_Novosibirsk = 337,\r\n Asia_Barnaul = 338,\r\n Asia_Tomsk = 339,\r\n Asia_Novokuznetsk = 340,\r\n Asia_Krasnoyarsk = 341,\r\n Asia_Irkutsk = 342,\r\n Asia_Chita = 343,\r\n Asia_Yakutsk = 344,\r\n Asia_Khandyga = 345,\r\n Asia_Vladivostok = 346,\r\n Asia_Ust_Nera = 347,\r\n Asia_Magadan = 348,\r\n Asia_Sakhalin = 349,\r\n Asia_Srednekolymsk = 350,\r\n Asia_Kamchatka = 351,\r\n Asia_Anadyr = 352,\r\n Africa_Kigali = 353,\r\n Pacific_Guadalcanal = 354,\r\n Indian_Mahe = 355,\r\n Atlantic_St_Helena = 356,\r\n Arctic_Longyearbyen = 357,\r\n Africa_Freetown = 358,\r\n Europe_San_Marino = 359,\r\n Africa_Mogadishu = 360,\r\n America_Paramaribo = 361,\r\n Africa_Juba = 362,\r\n America_El_Salvador = 363,\r\n America_Lower_Princes = 364,\r\n Africa_Mbabane = 365,\r\n America_Grand_Turk = 366,\r\n Africa_Ndjamena = 367,\r\n Indian_Kerguelen = 368,\r\n Africa_Lome = 369,\r\n Asia_Dushanbe = 370,\r\n Pacific_Fakaofo = 371,\r\n Asia_Dili = 372,\r\n Asia_Ashgabat = 373,\r\n Pacific_Tongatapu = 374,\r\n America_Port_of_Spain = 375,\r\n Pacific_Funafuti = 376,\r\n Africa_Dar_es_Salaam = 377,\r\n Europe_Kyiv = 378,\r\n Africa_Kampala = 379,\r\n Pacific_Midway = 380,\r\n Pacific_Wake = 381,\r\n America_Kentucky_Louisville = 382,\r\n America_Kentucky_Monticello = 383,\r\n America_Indiana_Vincennes = 384,\r\n America_Indiana_Winamac = 385,\r\n America_Indiana_Marengo = 386,\r\n America_Indiana_Petersburg = 387,\r\n America_Indiana_Vevay = 388,\r\n America_Indiana_Tell_City = 389,\r\n America_Indiana_Knox = 390,\r\n America_Menominee = 391,\r\n America_North_Dakota_Center = 392,\r\n America_North_Dakota_New_Salem = 393,\r\n America_North_Dakota_Beulah = 394,\r\n America_Boise = 395,\r\n America_Phoenix = 396,\r\n America_Anchorage = 397,\r\n America_Juneau = 398,\r\n America_Sitka = 399,\r\n America_Metlakatla = 400,\r\n America_Yakutat = 401,\r\n America_Nome = 402,\r\n America_Adak = 403,\r\n Pacific_Honolulu = 404,\r\n America_Montevideo = 405,\r\n Asia_Samarkand = 406,\r\n Asia_Tashkent = 407,\r\n Europe_Vatican = 408,\r\n America_St_Vincent = 409,\r\n America_Caracas = 410,\r\n America_Tortola = 411,\r\n America_St_Thomas = 412,\r\n Pacific_Efate = 413,\r\n Pacific_Wallis = 414,\r\n Pacific_Apia = 415,\r\n Indian_Mayotte = 416,\r\n Africa_Johannesburg = 417,\r\n Africa_Lusaka = 418,\r\n Africa_Harare = 419,\r\n}\r\n\r\nexport class BasicUserSettingsDto implements IBasicUserSettingsDto {\r\n username!: string | undefined;\r\n loadUserId!: number;\r\n email!: string | undefined;\r\n name!: string | undefined;\r\n mobileNo!: string | undefined;\r\n userLevel!: UserLevel;\r\n actorInvoiceInformationId!: number | undefined;\r\n enabled!: boolean;\r\n\r\n constructor(data?: IBasicUserSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.username = _data[\"username\"];\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.email = _data[\"email\"];\r\n this.name = _data[\"name\"];\r\n this.mobileNo = _data[\"mobileNo\"];\r\n this.userLevel = _data[\"userLevel\"];\r\n this.actorInvoiceInformationId = _data[\"actorInvoiceInformationId\"];\r\n this.enabled = _data[\"enabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BasicUserSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BasicUserSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"username\"] = this.username;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"email\"] = this.email;\r\n data[\"name\"] = this.name;\r\n data[\"mobileNo\"] = this.mobileNo;\r\n data[\"userLevel\"] = this.userLevel;\r\n data[\"actorInvoiceInformationId\"] = this.actorInvoiceInformationId;\r\n data[\"enabled\"] = this.enabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBasicUserSettingsDto {\r\n username: string | undefined;\r\n loadUserId: number;\r\n email: string | undefined;\r\n name: string | undefined;\r\n mobileNo: string | undefined;\r\n userLevel: UserLevel;\r\n actorInvoiceInformationId: number | undefined;\r\n enabled: boolean;\r\n}\r\n\r\nexport class NotificationSettingsDto implements INotificationSettingsDto {\r\n loadUserId!: number;\r\n groups!: NotificationSettingsGroupDto[] | undefined;\r\n\r\n constructor(data?: INotificationSettingsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadUserId = _data[\"loadUserId\"];\r\n if (Array.isArray(_data[\"groups\"])) {\r\n this.groups = [] as any;\r\n for (let item of _data[\"groups\"])\r\n this.groups!.push(NotificationSettingsGroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationSettingsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationSettingsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadUserId\"] = this.loadUserId;\r\n if (Array.isArray(this.groups)) {\r\n data[\"groups\"] = [];\r\n for (let item of this.groups)\r\n data[\"groups\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationSettingsDto {\r\n loadUserId: number;\r\n groups: NotificationSettingsGroupDto[] | undefined;\r\n}\r\n\r\nexport class NotificationSettingsGroupDto implements INotificationSettingsGroupDto {\r\n notificationGroup!: NotificationGroup;\r\n cargoType!: CargoType;\r\n rows!: NotificationSettingsRowDto[] | undefined;\r\n pickupCountyFilter!: LocationFilterDto[] | undefined;\r\n pickupZipCodeFilter!: LocationFilterDto[] | undefined;\r\n deliveryZipCodeFilter!: LocationFilterDto[] | undefined;\r\n unitFilter!: string[] | undefined;\r\n clientFilter!: number[] | undefined;\r\n alteredByLoadUser!: boolean | undefined;\r\n\r\n constructor(data?: INotificationSettingsGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.notificationGroup = _data[\"notificationGroup\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(NotificationSettingsRowDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"pickupCountyFilter\"])) {\r\n this.pickupCountyFilter = [] as any;\r\n for (let item of _data[\"pickupCountyFilter\"])\r\n this.pickupCountyFilter!.push(LocationFilterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"pickupZipCodeFilter\"])) {\r\n this.pickupZipCodeFilter = [] as any;\r\n for (let item of _data[\"pickupZipCodeFilter\"])\r\n this.pickupZipCodeFilter!.push(LocationFilterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"deliveryZipCodeFilter\"])) {\r\n this.deliveryZipCodeFilter = [] as any;\r\n for (let item of _data[\"deliveryZipCodeFilter\"])\r\n this.deliveryZipCodeFilter!.push(LocationFilterDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"unitFilter\"])) {\r\n this.unitFilter = [] as any;\r\n for (let item of _data[\"unitFilter\"])\r\n this.unitFilter!.push(item);\r\n }\r\n if (Array.isArray(_data[\"clientFilter\"])) {\r\n this.clientFilter = [] as any;\r\n for (let item of _data[\"clientFilter\"])\r\n this.clientFilter!.push(item);\r\n }\r\n this.alteredByLoadUser = _data[\"alteredByLoadUser\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationSettingsGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationSettingsGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"notificationGroup\"] = this.notificationGroup;\r\n data[\"cargoType\"] = this.cargoType;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.pickupCountyFilter)) {\r\n data[\"pickupCountyFilter\"] = [];\r\n for (let item of this.pickupCountyFilter)\r\n data[\"pickupCountyFilter\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.pickupZipCodeFilter)) {\r\n data[\"pickupZipCodeFilter\"] = [];\r\n for (let item of this.pickupZipCodeFilter)\r\n data[\"pickupZipCodeFilter\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.deliveryZipCodeFilter)) {\r\n data[\"deliveryZipCodeFilter\"] = [];\r\n for (let item of this.deliveryZipCodeFilter)\r\n data[\"deliveryZipCodeFilter\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.unitFilter)) {\r\n data[\"unitFilter\"] = [];\r\n for (let item of this.unitFilter)\r\n data[\"unitFilter\"].push(item);\r\n }\r\n if (Array.isArray(this.clientFilter)) {\r\n data[\"clientFilter\"] = [];\r\n for (let item of this.clientFilter)\r\n data[\"clientFilter\"].push(item);\r\n }\r\n data[\"alteredByLoadUser\"] = this.alteredByLoadUser;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationSettingsGroupDto {\r\n notificationGroup: NotificationGroup;\r\n cargoType: CargoType;\r\n rows: NotificationSettingsRowDto[] | undefined;\r\n pickupCountyFilter: LocationFilterDto[] | undefined;\r\n pickupZipCodeFilter: LocationFilterDto[] | undefined;\r\n deliveryZipCodeFilter: LocationFilterDto[] | undefined;\r\n unitFilter: string[] | undefined;\r\n clientFilter: number[] | undefined;\r\n alteredByLoadUser: boolean | undefined;\r\n}\r\n\r\nexport enum NotificationGroup {\r\n Procurement = 1,\r\n Agreement = 2,\r\n Load = 3,\r\n Index = 4,\r\n}\r\n\r\nexport class NotificationSettingsRowDto implements INotificationSettingsRowDto {\r\n notification!: Notification;\r\n userInterfaceGroup!: NotificationUserInterfaceGroup | undefined;\r\n checked!: boolean;\r\n\r\n constructor(data?: INotificationSettingsRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.notification = _data[\"notification\"];\r\n this.userInterfaceGroup = _data[\"userInterfaceGroup\"];\r\n this.checked = _data[\"checked\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NotificationSettingsRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NotificationSettingsRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"notification\"] = this.notification;\r\n data[\"userInterfaceGroup\"] = this.userInterfaceGroup;\r\n data[\"checked\"] = this.checked;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INotificationSettingsRowDto {\r\n notification: Notification;\r\n userInterfaceGroup: NotificationUserInterfaceGroup | undefined;\r\n checked: boolean;\r\n}\r\n\r\nexport enum Notification {\r\n ProcurementCreatedExtended = 100,\r\n ProcurementNewPrice = 101,\r\n ProcurementDeclinedPrice = 102,\r\n AgreementCreated = 200,\r\n AgreementEdited = 201,\r\n LoadOrdered = 300,\r\n LoadBooked = 301,\r\n LoadUnbooked = 302,\r\n LoadLoaded = 303,\r\n LoadDelivered = 304,\r\n LoadSpotTender = 305,\r\n LoadAnnulled = 306,\r\n LoadMissingAgreement = 307,\r\n LoadNotLoaded = 308,\r\n LoadRelatedOrdered = 310,\r\n LoadRelatedBooked = 311,\r\n LoadRelatedUnbooked = 312,\r\n LoadRelatedLoaded = 313,\r\n LoadRelatedDelivered = 314,\r\n LoadRelatedEdit = 315,\r\n LoadRelatedAnnulled = 316,\r\n LoadEditPickupEarliest = 320,\r\n LoadEditPickupLatest = 321,\r\n LoadEditDeliverEarliest = 322,\r\n LoadEditDeliverLatest = 323,\r\n LoadEditConsignmentNote = 324,\r\n LoadEditUnit = 325,\r\n LoadEditLoadOrderNo = 326,\r\n LoadEditReferenceNo = 327,\r\n LoadEditTransportNo = 328,\r\n LoadEditBookingNo = 329,\r\n LoadEditTruckNo = 330,\r\n LoadEditBookedPickupDate = 331,\r\n LoadEditBookedDeliveryDate = 332,\r\n LoadEditDeliveryAddress = 333,\r\n LoadEditPickupAddress = 334,\r\n LoadEditDestinationInfo = 335,\r\n LoadEditNote = 336,\r\n LoadEditPickupInfo = 337,\r\n LoadEditCustomer = 338,\r\n LoadEditSubDeliveryLocations = 339,\r\n LoadEditSubPickupLocations = 340,\r\n LoadEditDocuments = 341,\r\n LoadEditBLNo = 342,\r\n LoadEditTerminal = 343,\r\n LoadEditIncoterms = 344,\r\n LoadEditContainerCount = 345,\r\n LoadEditKNValue = 346,\r\n LoadEditKNCurrency = 347,\r\n LoadEditKNProductCode = 348,\r\n LoadEditVolume = 349,\r\n LoadEditWeight = 350,\r\n LoadEditPackages = 351,\r\n LoadEditContentInformation = 352,\r\n LoadEditBookedPickupInfo = 353,\r\n LoadEditBookedDeliveryInfo = 354,\r\n LoadEditDistance = 355,\r\n LoadEditOtherPrice = 356,\r\n LoadEditDeviation = 357,\r\n LoadEditShipName = 358,\r\n LoadEditETD = 359,\r\n LoadEditETA = 360,\r\n LoadEditIncoTerms = 361,\r\n IndexUpdate = 400,\r\n}\r\n\r\nexport enum NotificationUserInterfaceGroup {\r\n LoadEdit = 1,\r\n LoadRelated = 2,\r\n}\r\n\r\nexport class LocationFilterDto implements ILocationFilterDto {\r\n country!: Country;\r\n filter!: string | undefined;\r\n\r\n constructor(data?: ILocationFilterDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.filter = _data[\"filter\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationFilterDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationFilterDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"filter\"] = this.filter;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationFilterDto {\r\n country: Country;\r\n filter: string | undefined;\r\n}\r\n\r\nexport enum Country {\r\n Sweden = 1,\r\n Norway = 2,\r\n Finland = 3,\r\n Denmark = 4,\r\n Estonia = 5,\r\n Holland = 6,\r\n Latvia = 7,\r\n Poland = 8,\r\n Germany = 9,\r\n France = 10,\r\n Italy = 11,\r\n Austria = 12,\r\n Belgium = 13,\r\n Switzerland = 14,\r\n CzechRepublic = 15,\r\n UnitedKingdom = 16,\r\n Hungary = 17,\r\n Lithuania = 18,\r\n Slovakia = 19,\r\n Portugal = 20,\r\n Greece = 21,\r\n Israel = 22,\r\n Japan = 23,\r\n China = 24,\r\n Spain = 25,\r\n Tunisia = 26,\r\n Luxembourg = 27,\r\n Albania = 28,\r\n Vietnam = 29,\r\n USA = 30,\r\n Taiwan = 31,\r\n Turkey = 32,\r\n SaudiArabia = 33,\r\n Yemen = 34,\r\n SouthKorea = 35,\r\n Pakistan = 36,\r\n India = 37,\r\n Cyprus = 38,\r\n Lebanon = 39,\r\n CapeVerde = 40,\r\n Georgia = 41,\r\n Romania = 42,\r\n UnitedArabEmirates = 43,\r\n Australia = 44,\r\n Jordan = 45,\r\n Sudan = 46,\r\n Egypt = 47,\r\n Oman = 48,\r\n Bangladesh = 49,\r\n Algeria = 50,\r\n Morocco = 51,\r\n Libya = 52,\r\n Eritrea = 53,\r\n Burma = 54,\r\n Thailand = 55,\r\n Cambodia = 56,\r\n Philippines = 57,\r\n SriLanka = 58,\r\n Indonesia = 59,\r\n Maldives = 60,\r\n HongKong = 61,\r\n Ireland = 62,\r\n Malaysia = 63,\r\n Bulgaria = 64,\r\n Slovenia = 65,\r\n Syria = 66,\r\n Canada = 67,\r\n AlandIslands = 68,\r\n Singapore = 69,\r\n SaoTome = 70,\r\n Iceland = 71,\r\n Zimbabwe = 72,\r\n Afghanistan = 73,\r\n AmericanSamoa = 74,\r\n Andorra = 75,\r\n Angola = 76,\r\n Anguilla = 77,\r\n Antarctica = 78,\r\n AntiguaBarbuda = 79,\r\n Argentina = 80,\r\n Armenia = 81,\r\n Aruba = 82,\r\n Azerbaijan = 83,\r\n Bahrain = 84,\r\n Bahamas = 85,\r\n Barbados = 86,\r\n Belarus = 87,\r\n Belize = 88,\r\n Benin = 89,\r\n Bermuda = 90,\r\n Bhutan = 91,\r\n Bolivia = 92,\r\n Bonaire = 93,\r\n BosniaHerzegovina = 94,\r\n Botswana = 95,\r\n BouvetIsland = 96,\r\n Brazil = 97,\r\n Brunei = 98,\r\n BurkinaFaso = 99,\r\n Burundi = 100,\r\n Cameroon = 101,\r\n CaymanIslands = 102,\r\n CentralAfricanRepublic = 103,\r\n Chad = 104,\r\n Chile = 105,\r\n ChristmasIsland = 106,\r\n Colombia = 107,\r\n Comoros = 108,\r\n Congo = 109,\r\n DRC = 110,\r\n CookIslands = 111,\r\n CostaRica = 112,\r\n Cotedivoire = 113,\r\n Croatia = 114,\r\n Cuba = 115,\r\n Curacao = 116,\r\n Djibouti = 117,\r\n Dominica = 118,\r\n DominicanRepublic = 119,\r\n Ecuador = 120,\r\n ElSalvador = 121,\r\n EquatorialGuinea = 122,\r\n Ethiopia = 123,\r\n FalklandIslands = 124,\r\n FaroeIslands = 125,\r\n Fiji = 126,\r\n FrenchGuiana = 127,\r\n FrenchPolynesia = 128,\r\n Gabon = 129,\r\n Gambia = 130,\r\n Ghana = 131,\r\n Gibraltar = 132,\r\n Greenland = 133,\r\n Grenada = 134,\r\n Guadeloupe = 135,\r\n Guam = 136,\r\n Guatemala = 137,\r\n Guernsey = 138,\r\n Guinea = 139,\r\n GuineaBissau = 140,\r\n Guyana = 141,\r\n Haiti = 142,\r\n Honduras = 143,\r\n Iran = 144,\r\n Iraq = 145,\r\n IsleofMan = 146,\r\n Jamaica = 147,\r\n Jersey = 148,\r\n Kazakhstan = 149,\r\n Kenya = 150,\r\n Kiribati = 151,\r\n Kuwait = 152,\r\n Kyrgyzstan = 153,\r\n Lao = 154,\r\n Lesotho = 155,\r\n Liberia = 156,\r\n Liechtenstein = 157,\r\n Macao = 158,\r\n Macedonia = 159,\r\n Madagascar = 160,\r\n Malawi = 161,\r\n Mali = 162,\r\n Malta = 163,\r\n MarshallIslands = 164,\r\n Martinique = 165,\r\n Mauritania = 166,\r\n Mauritius = 167,\r\n Mayotte = 168,\r\n Mexico = 169,\r\n Micronesia = 170,\r\n Moldova = 171,\r\n Monaco = 172,\r\n Mongolia = 173,\r\n Montenegro = 174,\r\n Montserrat = 175,\r\n Mozambique = 176,\r\n Namibia = 177,\r\n Nauru = 178,\r\n Nepal = 179,\r\n NewCaledonia = 180,\r\n NewZealand = 181,\r\n Nicaragua = 182,\r\n Niger = 183,\r\n Nigeria = 184,\r\n Palau = 185,\r\n Palestine = 186,\r\n Panama = 187,\r\n PapuaNewGuinea = 188,\r\n Paraguay = 189,\r\n Peru = 190,\r\n Pitcairn = 191,\r\n PuertoRico = 192,\r\n Qatar = 193,\r\n Reunion = 194,\r\n Russia = 195,\r\n Rwanda = 196,\r\n SaintBarthelemy = 197,\r\n SaintHelena = 198,\r\n SaintKittsNevis = 199,\r\n SaintLucia = 200,\r\n SaintMartin = 201,\r\n Samoa = 202,\r\n SanMarino = 203,\r\n Senegal = 204,\r\n Serbia = 205,\r\n Seychelles = 206,\r\n SierraLeone = 207,\r\n SintMaarten = 208,\r\n SolomonIslands = 209,\r\n Somalia = 210,\r\n SouthAfrica = 211,\r\n SouthSudan = 212,\r\n Suriname = 213,\r\n Swaziland = 214,\r\n Tajikistan = 215,\r\n Tanzania = 216,\r\n TimorLeste = 217,\r\n Togo = 218,\r\n Tonga = 219,\r\n TrinidadTobago = 220,\r\n Turkmenistan = 221,\r\n Tuvalu = 222,\r\n Uganda = 223,\r\n Ukraine = 224,\r\n Uruguay = 225,\r\n Uzbekistan = 226,\r\n Vanuatu = 227,\r\n Venezuela = 228,\r\n VirginIslandsBritish = 229,\r\n VirginIslandsUS = 230,\r\n WesternSahara = 231,\r\n Zambia = 232,\r\n}\r\n\r\nexport class ReportScreenDimensionsDto implements IReportScreenDimensionsDto {\r\n width!: number;\r\n height!: number;\r\n\r\n constructor(data?: IReportScreenDimensionsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.width = _data[\"width\"];\r\n this.height = _data[\"height\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReportScreenDimensionsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReportScreenDimensionsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"width\"] = this.width;\r\n data[\"height\"] = this.height;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReportScreenDimensionsDto {\r\n width: number;\r\n height: number;\r\n}\r\n\r\nexport class SurveyDto implements ISurveyDto {\r\n id!: Survey;\r\n iteration!: string | undefined;\r\n questionGroups!: QuestionGroupDto[] | undefined;\r\n\r\n constructor(data?: ISurveyDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.iteration = _data[\"iteration\"];\r\n if (Array.isArray(_data[\"questionGroups\"])) {\r\n this.questionGroups = [] as any;\r\n for (let item of _data[\"questionGroups\"])\r\n this.questionGroups!.push(QuestionGroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SurveyDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SurveyDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"iteration\"] = this.iteration;\r\n if (Array.isArray(this.questionGroups)) {\r\n data[\"questionGroups\"] = [];\r\n for (let item of this.questionGroups)\r\n data[\"questionGroups\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISurveyDto {\r\n id: Survey;\r\n iteration: string | undefined;\r\n questionGroups: QuestionGroupDto[] | undefined;\r\n}\r\n\r\nexport enum Survey {\r\n Survey_2020 = 1,\r\n}\r\n\r\nexport class QuestionGroupDto implements IQuestionGroupDto {\r\n name!: string | undefined;\r\n questions!: Question[] | undefined;\r\n\r\n constructor(data?: IQuestionGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"questions\"])) {\r\n this.questions = [] as any;\r\n for (let item of _data[\"questions\"])\r\n this.questions!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.questions)) {\r\n data[\"questions\"] = [];\r\n for (let item of this.questions)\r\n data[\"questions\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuestionGroupDto {\r\n name: string | undefined;\r\n questions: Question[] | undefined;\r\n}\r\n\r\nexport enum Question {\r\n Question1 = 1,\r\n Question2 = 2,\r\n Question3 = 3,\r\n Question4 = 4,\r\n Question5 = 5,\r\n Question6 = 6,\r\n Question7 = 7,\r\n Question8 = 8,\r\n Question9 = 9,\r\n Question10 = 10,\r\n Question11 = 11,\r\n Question12 = 12,\r\n Question13 = 13,\r\n Question14 = 14,\r\n Question15 = 15,\r\n Question16 = 16,\r\n Question17 = 17,\r\n Question18 = 18,\r\n Question19 = 19,\r\n Question20 = 20,\r\n Question21 = 21,\r\n Question22 = 22,\r\n Question23 = 23,\r\n Question24 = 24,\r\n Question25 = 25,\r\n Question26 = 26,\r\n}\r\n\r\nexport class SurveySubmissionDto implements ISurveySubmissionDto {\r\n id!: number;\r\n survey!: Survey;\r\n loadUserName!: string | undefined;\r\n respondentName!: string | undefined;\r\n respondentRole!: string | undefined;\r\n answerDate!: moment.Moment | undefined;\r\n pointsPercentage!: number;\r\n completed!: boolean;\r\n supplierName!: string | undefined;\r\n surveyAnswerRows!: SurveyAnswerRowDto[] | undefined;\r\n\r\n constructor(data?: ISurveySubmissionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.survey = _data[\"survey\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.respondentName = _data[\"respondentName\"];\r\n this.respondentRole = _data[\"respondentRole\"];\r\n this.answerDate = _data[\"answerDate\"] ? moment.parseZone(_data[\"answerDate\"].toString()) : undefined;\r\n this.pointsPercentage = _data[\"pointsPercentage\"];\r\n this.completed = _data[\"completed\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n if (Array.isArray(_data[\"surveyAnswerRows\"])) {\r\n this.surveyAnswerRows = [] as any;\r\n for (let item of _data[\"surveyAnswerRows\"])\r\n this.surveyAnswerRows!.push(SurveyAnswerRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SurveySubmissionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SurveySubmissionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"survey\"] = this.survey;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"respondentName\"] = this.respondentName;\r\n data[\"respondentRole\"] = this.respondentRole;\r\n data[\"answerDate\"] = this.answerDate ? this.answerDate.toISOString(true) : undefined;\r\n data[\"pointsPercentage\"] = this.pointsPercentage;\r\n data[\"completed\"] = this.completed;\r\n data[\"supplierName\"] = this.supplierName;\r\n if (Array.isArray(this.surveyAnswerRows)) {\r\n data[\"surveyAnswerRows\"] = [];\r\n for (let item of this.surveyAnswerRows)\r\n data[\"surveyAnswerRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISurveySubmissionDto {\r\n id: number;\r\n survey: Survey;\r\n loadUserName: string | undefined;\r\n respondentName: string | undefined;\r\n respondentRole: string | undefined;\r\n answerDate: moment.Moment | undefined;\r\n pointsPercentage: number;\r\n completed: boolean;\r\n supplierName: string | undefined;\r\n surveyAnswerRows: SurveyAnswerRowDto[] | undefined;\r\n}\r\n\r\nexport class SurveyAnswerRowDto implements ISurveyAnswerRowDto {\r\n questionId!: Question;\r\n selectedOption!: number | undefined;\r\n text!: string | undefined;\r\n\r\n constructor(data?: ISurveyAnswerRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.questionId = _data[\"questionId\"];\r\n this.selectedOption = _data[\"selectedOption\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SurveyAnswerRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SurveyAnswerRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"questionId\"] = this.questionId;\r\n data[\"selectedOption\"] = this.selectedOption;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISurveyAnswerRowDto {\r\n questionId: Question;\r\n selectedOption: number | undefined;\r\n text: string | undefined;\r\n}\r\n\r\nexport class SurveySupplierDto implements ISurveySupplierDto {\r\n actorId!: number;\r\n supplierName!: string | undefined;\r\n respondentName!: string | undefined;\r\n respondentRole!: string | undefined;\r\n answerDate!: moment.Moment | undefined;\r\n percentage!: number;\r\n surveyId!: Survey | undefined;\r\n iteration!: string | undefined;\r\n fairTransportCertifiedDate!: moment.Moment | undefined;\r\n fairTransportCertified!: boolean;\r\n\r\n constructor(data?: ISurveySupplierDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.respondentName = _data[\"respondentName\"];\r\n this.respondentRole = _data[\"respondentRole\"];\r\n this.answerDate = _data[\"answerDate\"] ? moment.parseZone(_data[\"answerDate\"].toString()) : undefined;\r\n this.percentage = _data[\"percentage\"];\r\n this.surveyId = _data[\"surveyId\"];\r\n this.iteration = _data[\"iteration\"];\r\n this.fairTransportCertifiedDate = _data[\"fairTransportCertifiedDate\"] ? moment.parseZone(_data[\"fairTransportCertifiedDate\"].toString()) : undefined;\r\n this.fairTransportCertified = _data[\"fairTransportCertified\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SurveySupplierDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SurveySupplierDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"respondentName\"] = this.respondentName;\r\n data[\"respondentRole\"] = this.respondentRole;\r\n data[\"answerDate\"] = this.answerDate ? this.answerDate.toISOString(true) : undefined;\r\n data[\"percentage\"] = this.percentage;\r\n data[\"surveyId\"] = this.surveyId;\r\n data[\"iteration\"] = this.iteration;\r\n data[\"fairTransportCertifiedDate\"] = this.fairTransportCertifiedDate ? this.fairTransportCertifiedDate.toISOString(true) : undefined;\r\n data[\"fairTransportCertified\"] = this.fairTransportCertified;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISurveySupplierDto {\r\n actorId: number;\r\n supplierName: string | undefined;\r\n respondentName: string | undefined;\r\n respondentRole: string | undefined;\r\n answerDate: moment.Moment | undefined;\r\n percentage: number;\r\n surveyId: Survey | undefined;\r\n iteration: string | undefined;\r\n fairTransportCertifiedDate: moment.Moment | undefined;\r\n fairTransportCertified: boolean;\r\n}\r\n\r\nexport class SurveySubmissionSaveDto implements ISurveySubmissionSaveDto {\r\n survey!: Survey;\r\n respondentName!: string | undefined;\r\n respondentRole!: string | undefined;\r\n completed!: boolean;\r\n surveyAnswerRows!: SurveyAnswerRowDto[] | undefined;\r\n\r\n constructor(data?: ISurveySubmissionSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.survey = _data[\"survey\"];\r\n this.respondentName = _data[\"respondentName\"];\r\n this.respondentRole = _data[\"respondentRole\"];\r\n this.completed = _data[\"completed\"];\r\n if (Array.isArray(_data[\"surveyAnswerRows\"])) {\r\n this.surveyAnswerRows = [] as any;\r\n for (let item of _data[\"surveyAnswerRows\"])\r\n this.surveyAnswerRows!.push(SurveyAnswerRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SurveySubmissionSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SurveySubmissionSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"survey\"] = this.survey;\r\n data[\"respondentName\"] = this.respondentName;\r\n data[\"respondentRole\"] = this.respondentRole;\r\n data[\"completed\"] = this.completed;\r\n if (Array.isArray(this.surveyAnswerRows)) {\r\n data[\"surveyAnswerRows\"] = [];\r\n for (let item of this.surveyAnswerRows)\r\n data[\"surveyAnswerRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISurveySubmissionSaveDto {\r\n survey: Survey;\r\n respondentName: string | undefined;\r\n respondentRole: string | undefined;\r\n completed: boolean;\r\n surveyAnswerRows: SurveyAnswerRowDto[] | undefined;\r\n}\r\n\r\nexport class SupportFormPreDetailsDto implements ISupportFormPreDetailsDto {\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n mobile!: string | undefined;\r\n\r\n constructor(data?: ISupportFormPreDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.mobile = _data[\"mobile\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportFormPreDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportFormPreDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"mobile\"] = this.mobile;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportFormPreDetailsDto {\r\n name: string | undefined;\r\n email: string | undefined;\r\n mobile: string | undefined;\r\n}\r\n\r\nexport class SupportFormDto implements ISupportFormDto {\r\n subject!: string | undefined;\r\n description!: string | undefined;\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n mobile!: string | undefined;\r\n file!: FileDto[] | undefined;\r\n\r\n constructor(data?: ISupportFormDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.subject = _data[\"subject\"];\r\n this.description = _data[\"description\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.mobile = _data[\"mobile\"];\r\n if (Array.isArray(_data[\"file\"])) {\r\n this.file = [] as any;\r\n for (let item of _data[\"file\"])\r\n this.file!.push(FileDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportFormDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportFormDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"subject\"] = this.subject;\r\n data[\"description\"] = this.description;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"mobile\"] = this.mobile;\r\n if (Array.isArray(this.file)) {\r\n data[\"file\"] = [];\r\n for (let item of this.file)\r\n data[\"file\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportFormDto {\r\n subject: string | undefined;\r\n description: string | undefined;\r\n name: string | undefined;\r\n email: string | undefined;\r\n mobile: string | undefined;\r\n file: FileDto[] | undefined;\r\n}\r\n\r\nexport class FileDto implements IFileDto {\r\n name!: string | undefined;\r\n contentType!: string | undefined;\r\n fileData!: string | undefined;\r\n\r\n constructor(data?: IFileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.contentType = _data[\"contentType\"];\r\n this.fileData = _data[\"fileData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"contentType\"] = this.contentType;\r\n data[\"fileData\"] = this.fileData;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFileDto {\r\n name: string | undefined;\r\n contentType: string | undefined;\r\n fileData: string | undefined;\r\n}\r\n\r\nexport class ActorDto implements IActorDto {\r\n id!: number;\r\n name!: string | undefined;\r\n orgNo!: string | undefined;\r\n regDate!: moment.Moment;\r\n activatedDate!: moment.Moment;\r\n inactivatedDate!: moment.Moment | undefined;\r\n lastActive!: moment.Moment;\r\n active!: boolean;\r\n mainContact!: string | undefined;\r\n mainContactEmail!: string | undefined;\r\n mainContactPhone!: string | undefined;\r\n contractManager!: string | undefined;\r\n contractManagerMail!: string | undefined;\r\n contractManagerPhone!: string | undefined;\r\n contractAddress!: string | undefined;\r\n country!: Country;\r\n timeZone!: TimeZone;\r\n actorType!: ActorType;\r\n internalNote!: string | undefined;\r\n cargoTypes!: CargoType[] | undefined;\r\n connectedClients!: number[] | undefined;\r\n\r\n constructor(data?: IActorDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.orgNo = _data[\"orgNo\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.activatedDate = _data[\"activatedDate\"] ? moment.parseZone(_data[\"activatedDate\"].toString()) : undefined;\r\n this.inactivatedDate = _data[\"inactivatedDate\"] ? moment.parseZone(_data[\"inactivatedDate\"].toString()) : undefined;\r\n this.lastActive = _data[\"lastActive\"] ? moment.parseZone(_data[\"lastActive\"].toString()) : undefined;\r\n this.active = _data[\"active\"];\r\n this.mainContact = _data[\"mainContact\"];\r\n this.mainContactEmail = _data[\"mainContactEmail\"];\r\n this.mainContactPhone = _data[\"mainContactPhone\"];\r\n this.contractManager = _data[\"contractManager\"];\r\n this.contractManagerMail = _data[\"contractManagerMail\"];\r\n this.contractManagerPhone = _data[\"contractManagerPhone\"];\r\n this.contractAddress = _data[\"contractAddress\"];\r\n this.country = _data[\"country\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n this.actorType = _data[\"actorType\"];\r\n this.internalNote = _data[\"internalNote\"];\r\n if (Array.isArray(_data[\"cargoTypes\"])) {\r\n this.cargoTypes = [] as any;\r\n for (let item of _data[\"cargoTypes\"])\r\n this.cargoTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"connectedClients\"])) {\r\n this.connectedClients = [] as any;\r\n for (let item of _data[\"connectedClients\"])\r\n this.connectedClients!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"orgNo\"] = this.orgNo;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"activatedDate\"] = this.activatedDate ? this.activatedDate.toISOString(true) : undefined;\r\n data[\"inactivatedDate\"] = this.inactivatedDate ? this.inactivatedDate.toISOString(true) : undefined;\r\n data[\"lastActive\"] = this.lastActive ? this.lastActive.toISOString(true) : undefined;\r\n data[\"active\"] = this.active;\r\n data[\"mainContact\"] = this.mainContact;\r\n data[\"mainContactEmail\"] = this.mainContactEmail;\r\n data[\"mainContactPhone\"] = this.mainContactPhone;\r\n data[\"contractManager\"] = this.contractManager;\r\n data[\"contractManagerMail\"] = this.contractManagerMail;\r\n data[\"contractManagerPhone\"] = this.contractManagerPhone;\r\n data[\"contractAddress\"] = this.contractAddress;\r\n data[\"country\"] = this.country;\r\n data[\"timeZone\"] = this.timeZone;\r\n data[\"actorType\"] = this.actorType;\r\n data[\"internalNote\"] = this.internalNote;\r\n if (Array.isArray(this.cargoTypes)) {\r\n data[\"cargoTypes\"] = [];\r\n for (let item of this.cargoTypes)\r\n data[\"cargoTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.connectedClients)) {\r\n data[\"connectedClients\"] = [];\r\n for (let item of this.connectedClients)\r\n data[\"connectedClients\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorDto {\r\n id: number;\r\n name: string | undefined;\r\n orgNo: string | undefined;\r\n regDate: moment.Moment;\r\n activatedDate: moment.Moment;\r\n inactivatedDate: moment.Moment | undefined;\r\n lastActive: moment.Moment;\r\n active: boolean;\r\n mainContact: string | undefined;\r\n mainContactEmail: string | undefined;\r\n mainContactPhone: string | undefined;\r\n contractManager: string | undefined;\r\n contractManagerMail: string | undefined;\r\n contractManagerPhone: string | undefined;\r\n contractAddress: string | undefined;\r\n country: Country;\r\n timeZone: TimeZone;\r\n actorType: ActorType;\r\n internalNote: string | undefined;\r\n cargoTypes: CargoType[] | undefined;\r\n connectedClients: number[] | undefined;\r\n}\r\n\r\nexport class SupportAdminActorListDto implements ISupportAdminActorListDto {\r\n actorId!: number;\r\n actorName!: string | undefined;\r\n active!: boolean;\r\n allUsersDisabled!: boolean;\r\n regDate!: moment.Moment | undefined;\r\n mainContactName!: string | undefined;\r\n mainContactEmail!: string | undefined;\r\n mainContactPhone!: string | undefined;\r\n cargoTypes!: CargoType[] | undefined;\r\n actorType!: ActorType;\r\n country!: Country;\r\n users!: ActorListUserDto[] | undefined;\r\n invoiceInfos!: EditInvoiceInformationDto[] | undefined;\r\n\r\n constructor(data?: ISupportAdminActorListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.active = _data[\"active\"];\r\n this.allUsersDisabled = _data[\"allUsersDisabled\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.mainContactName = _data[\"mainContactName\"];\r\n this.mainContactEmail = _data[\"mainContactEmail\"];\r\n this.mainContactPhone = _data[\"mainContactPhone\"];\r\n if (Array.isArray(_data[\"cargoTypes\"])) {\r\n this.cargoTypes = [] as any;\r\n for (let item of _data[\"cargoTypes\"])\r\n this.cargoTypes!.push(item);\r\n }\r\n this.actorType = _data[\"actorType\"];\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"users\"])) {\r\n this.users = [] as any;\r\n for (let item of _data[\"users\"])\r\n this.users!.push(ActorListUserDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invoiceInfos\"])) {\r\n this.invoiceInfos = [] as any;\r\n for (let item of _data[\"invoiceInfos\"])\r\n this.invoiceInfos!.push(EditInvoiceInformationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportAdminActorListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportAdminActorListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"active\"] = this.active;\r\n data[\"allUsersDisabled\"] = this.allUsersDisabled;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"mainContactName\"] = this.mainContactName;\r\n data[\"mainContactEmail\"] = this.mainContactEmail;\r\n data[\"mainContactPhone\"] = this.mainContactPhone;\r\n if (Array.isArray(this.cargoTypes)) {\r\n data[\"cargoTypes\"] = [];\r\n for (let item of this.cargoTypes)\r\n data[\"cargoTypes\"].push(item);\r\n }\r\n data[\"actorType\"] = this.actorType;\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.users)) {\r\n data[\"users\"] = [];\r\n for (let item of this.users)\r\n data[\"users\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invoiceInfos)) {\r\n data[\"invoiceInfos\"] = [];\r\n for (let item of this.invoiceInfos)\r\n data[\"invoiceInfos\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportAdminActorListDto {\r\n actorId: number;\r\n actorName: string | undefined;\r\n active: boolean;\r\n allUsersDisabled: boolean;\r\n regDate: moment.Moment | undefined;\r\n mainContactName: string | undefined;\r\n mainContactEmail: string | undefined;\r\n mainContactPhone: string | undefined;\r\n cargoTypes: CargoType[] | undefined;\r\n actorType: ActorType;\r\n country: Country;\r\n users: ActorListUserDto[] | undefined;\r\n invoiceInfos: EditInvoiceInformationDto[] | undefined;\r\n}\r\n\r\nexport class ActorListUserDto implements IActorListUserDto {\r\n actorId!: number;\r\n userName!: string | undefined;\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n active!: boolean;\r\n\r\n constructor(data?: IActorListUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.userName = _data[\"userName\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.active = _data[\"active\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorListUserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorListUserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"userName\"] = this.userName;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"active\"] = this.active;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorListUserDto {\r\n actorId: number;\r\n userName: string | undefined;\r\n name: string | undefined;\r\n email: string | undefined;\r\n active: boolean;\r\n}\r\n\r\nexport class EditInvoiceInformationDto implements IEditInvoiceInformationDto {\r\n id!: number;\r\n actorId!: number;\r\n customerNoAffe!: string | undefined;\r\n projectNoAffe!: string | undefined;\r\n culture!: Culture;\r\n currency!: Currency;\r\n\r\n constructor(data?: IEditInvoiceInformationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.actorId = _data[\"actorId\"];\r\n this.customerNoAffe = _data[\"customerNoAffe\"];\r\n this.projectNoAffe = _data[\"projectNoAffe\"];\r\n this.culture = _data[\"culture\"];\r\n this.currency = _data[\"currency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditInvoiceInformationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditInvoiceInformationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"customerNoAffe\"] = this.customerNoAffe;\r\n data[\"projectNoAffe\"] = this.projectNoAffe;\r\n data[\"culture\"] = this.culture;\r\n data[\"currency\"] = this.currency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditInvoiceInformationDto {\r\n id: number;\r\n actorId: number;\r\n customerNoAffe: string | undefined;\r\n projectNoAffe: string | undefined;\r\n culture: Culture;\r\n currency: Currency;\r\n}\r\n\r\nexport enum Currency {\r\n SEK = 1,\r\n EUR = 2,\r\n GBP = 3,\r\n NOK = 4,\r\n USD = 5,\r\n}\r\n\r\nexport class RepositoryDto implements IRepositoryDto {\r\n id!: number;\r\n text!: string | undefined;\r\n\r\n constructor(data?: IRepositoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RepositoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RepositoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRepositoryDto {\r\n id: number;\r\n text: string | undefined;\r\n}\r\n\r\nexport class ActorOrgNoDto implements IActorOrgNoDto {\r\n actorName!: string | undefined;\r\n orgNo!: string | undefined;\r\n actorId!: number;\r\n\r\n constructor(data?: IActorOrgNoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorName = _data[\"actorName\"];\r\n this.orgNo = _data[\"orgNo\"];\r\n this.actorId = _data[\"actorId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorOrgNoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorOrgNoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorName\"] = this.actorName;\r\n data[\"orgNo\"] = this.orgNo;\r\n data[\"actorId\"] = this.actorId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorOrgNoDto {\r\n actorName: string | undefined;\r\n orgNo: string | undefined;\r\n actorId: number;\r\n}\r\n\r\nexport class ActorSigningDto implements IActorSigningDto {\r\n id!: number;\r\n actorName!: string | undefined;\r\n active!: boolean;\r\n contractManagerEmail!: string | undefined;\r\n contractManagerPhone!: string | undefined;\r\n contractManagerName!: string | undefined;\r\n signingStarted!: moment.Moment | undefined;\r\n signingCompleted!: moment.Moment | undefined;\r\n lastReminder!: moment.Moment | undefined;\r\n pendingSignatoryParty!: string | undefined;\r\n terminatedStatus!: TerminatedStatus;\r\n noOfAttempts!: number;\r\n\r\n constructor(data?: IActorSigningDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.active = _data[\"active\"];\r\n this.contractManagerEmail = _data[\"contractManagerEmail\"];\r\n this.contractManagerPhone = _data[\"contractManagerPhone\"];\r\n this.contractManagerName = _data[\"contractManagerName\"];\r\n this.signingStarted = _data[\"signingStarted\"] ? moment.parseZone(_data[\"signingStarted\"].toString()) : undefined;\r\n this.signingCompleted = _data[\"signingCompleted\"] ? moment.parseZone(_data[\"signingCompleted\"].toString()) : undefined;\r\n this.lastReminder = _data[\"lastReminder\"] ? moment.parseZone(_data[\"lastReminder\"].toString()) : undefined;\r\n this.pendingSignatoryParty = _data[\"pendingSignatoryParty\"];\r\n this.terminatedStatus = _data[\"terminatedStatus\"];\r\n this.noOfAttempts = _data[\"noOfAttempts\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorSigningDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorSigningDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"active\"] = this.active;\r\n data[\"contractManagerEmail\"] = this.contractManagerEmail;\r\n data[\"contractManagerPhone\"] = this.contractManagerPhone;\r\n data[\"contractManagerName\"] = this.contractManagerName;\r\n data[\"signingStarted\"] = this.signingStarted ? this.signingStarted.toISOString(true) : undefined;\r\n data[\"signingCompleted\"] = this.signingCompleted ? this.signingCompleted.toISOString(true) : undefined;\r\n data[\"lastReminder\"] = this.lastReminder ? this.lastReminder.toISOString(true) : undefined;\r\n data[\"pendingSignatoryParty\"] = this.pendingSignatoryParty;\r\n data[\"terminatedStatus\"] = this.terminatedStatus;\r\n data[\"noOfAttempts\"] = this.noOfAttempts;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorSigningDto {\r\n id: number;\r\n actorName: string | undefined;\r\n active: boolean;\r\n contractManagerEmail: string | undefined;\r\n contractManagerPhone: string | undefined;\r\n contractManagerName: string | undefined;\r\n signingStarted: moment.Moment | undefined;\r\n signingCompleted: moment.Moment | undefined;\r\n lastReminder: moment.Moment | undefined;\r\n pendingSignatoryParty: string | undefined;\r\n terminatedStatus: TerminatedStatus;\r\n noOfAttempts: number;\r\n}\r\n\r\nexport enum TerminatedStatus {\r\n NotTerminated = 0,\r\n Declined = 1,\r\n Withdrawn = 2,\r\n Expired = 3,\r\n Faulty = 4,\r\n}\r\n\r\nexport class AgreementListDto implements IAgreementListDto {\r\n agreementId!: number;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n clientId!: number;\r\n clientName!: string | undefined;\r\n agreementPeriod!: string | undefined;\r\n procurementPeriod!: string | undefined;\r\n procurement!: boolean;\r\n cargoType!: CargoType;\r\n distance!: number | undefined;\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: Country;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: Country;\r\n numLoadsLoaded!: number;\r\n numLoadsDeclined!: number;\r\n numLoadsOffered!: number;\r\n numLoadsTotal!: number;\r\n currency!: Currency;\r\n stopPrice!: number | undefined;\r\n serviceFee!: number | undefined;\r\n initialFee!: number | undefined;\r\n prices!: AgreementListPriceDto[] | undefined;\r\n baseIndexDate!: moment.Moment;\r\n\r\n constructor(data?: IAgreementListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.agreementPeriod = _data[\"agreementPeriod\"];\r\n this.procurementPeriod = _data[\"procurementPeriod\"];\r\n this.procurement = _data[\"procurement\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.distance = _data[\"distance\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.numLoadsLoaded = _data[\"numLoadsLoaded\"];\r\n this.numLoadsDeclined = _data[\"numLoadsDeclined\"];\r\n this.numLoadsOffered = _data[\"numLoadsOffered\"];\r\n this.numLoadsTotal = _data[\"numLoadsTotal\"];\r\n this.currency = _data[\"currency\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(AgreementListPriceDto.fromJS(item));\r\n }\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"agreementPeriod\"] = this.agreementPeriod;\r\n data[\"procurementPeriod\"] = this.procurementPeriod;\r\n data[\"procurement\"] = this.procurement;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"distance\"] = this.distance;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"numLoadsLoaded\"] = this.numLoadsLoaded;\r\n data[\"numLoadsDeclined\"] = this.numLoadsDeclined;\r\n data[\"numLoadsOffered\"] = this.numLoadsOffered;\r\n data[\"numLoadsTotal\"] = this.numLoadsTotal;\r\n data[\"currency\"] = this.currency;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"initialFee\"] = this.initialFee;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementListDto {\r\n agreementId: number;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n clientId: number;\r\n clientName: string | undefined;\r\n agreementPeriod: string | undefined;\r\n procurementPeriod: string | undefined;\r\n procurement: boolean;\r\n cargoType: CargoType;\r\n distance: number | undefined;\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: Country;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: Country;\r\n numLoadsLoaded: number;\r\n numLoadsDeclined: number;\r\n numLoadsOffered: number;\r\n numLoadsTotal: number;\r\n currency: Currency;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n initialFee: number | undefined;\r\n prices: AgreementListPriceDto[] | undefined;\r\n baseIndexDate: moment.Moment;\r\n}\r\n\r\nexport class AgreementListPriceDto implements IAgreementListPriceDto {\r\n agreementRowId!: number;\r\n truckType!: TruckType;\r\n price!: number | undefined;\r\n ranking!: number | undefined;\r\n\r\n constructor(data?: IAgreementListPriceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRowId = _data[\"agreementRowId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.price = _data[\"price\"];\r\n this.ranking = _data[\"ranking\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementListPriceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementListPriceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRowId\"] = this.agreementRowId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"price\"] = this.price;\r\n data[\"ranking\"] = this.ranking;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementListPriceDto {\r\n agreementRowId: number;\r\n truckType: TruckType;\r\n price: number | undefined;\r\n ranking: number | undefined;\r\n}\r\n\r\nexport enum TruckType {\r\n TruckAndWagon = 1,\r\n Truck = 2,\r\n Wagon = 3,\r\n Trailer25 = 4,\r\n FourShaft = 5,\r\n TwoShaft = 6,\r\n Trailer30 = 7,\r\n Container20 = 8,\r\n Container40 = 9,\r\n Container40HC = 10,\r\n Container45HC = 11,\r\n FourShaftOpen = 12,\r\n TruckType10 = 13,\r\n TruckType20 = 14,\r\n TruckType30 = 15,\r\n TruckType40 = 16,\r\n TruckType50 = 17,\r\n TruckType60 = 18,\r\n TruckType70 = 19,\r\n}\r\n\r\nexport class AgreementSearchCriteriaDto implements IAgreementSearchCriteriaDto {\r\n clientId!: number | undefined;\r\n supplierId!: number | undefined;\r\n cargoType!: CargoType;\r\n invoicePrice!: boolean;\r\n date!: moment.Moment | undefined;\r\n includeStatistics!: boolean;\r\n\r\n constructor(data?: IAgreementSearchCriteriaDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.includeStatistics = _data[\"includeStatistics\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementSearchCriteriaDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementSearchCriteriaDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"includeStatistics\"] = this.includeStatistics;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementSearchCriteriaDto {\r\n clientId: number | undefined;\r\n supplierId: number | undefined;\r\n cargoType: CargoType;\r\n invoicePrice: boolean;\r\n date: moment.Moment | undefined;\r\n includeStatistics: boolean;\r\n}\r\n\r\nexport class AgreementRowPriceUpdateDto implements IAgreementRowPriceUpdateDto {\r\n agreementId!: number;\r\n supplierId!: number;\r\n truckType!: TruckType;\r\n price!: number | undefined;\r\n stopPrice!: number | undefined;\r\n serviceFee!: number | undefined;\r\n initialFee!: number | undefined;\r\n\r\n constructor(data?: IAgreementRowPriceUpdateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.price = _data[\"price\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRowPriceUpdateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRowPriceUpdateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"price\"] = this.price;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"initialFee\"] = this.initialFee;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRowPriceUpdateDto {\r\n agreementId: number;\r\n supplierId: number;\r\n truckType: TruckType;\r\n price: number | undefined;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n initialFee: number | undefined;\r\n}\r\n\r\nexport class AddSupplierToProcurementsDto implements IAddSupplierToProcurementsDto {\r\n cargoType!: CargoType;\r\n supplierId!: number;\r\n clientIds!: number[] | undefined;\r\n\r\n constructor(data?: IAddSupplierToProcurementsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n if (Array.isArray(_data[\"clientIds\"])) {\r\n this.clientIds = [] as any;\r\n for (let item of _data[\"clientIds\"])\r\n this.clientIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddSupplierToProcurementsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddSupplierToProcurementsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"supplierId\"] = this.supplierId;\r\n if (Array.isArray(this.clientIds)) {\r\n data[\"clientIds\"] = [];\r\n for (let item of this.clientIds)\r\n data[\"clientIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddSupplierToProcurementsDto {\r\n cargoType: CargoType;\r\n supplierId: number;\r\n clientIds: number[] | undefined;\r\n}\r\n\r\nexport class SupportAdminDashboardCurrentLoads implements ISupportAdminDashboardCurrentLoads {\r\n clientName!: string | undefined;\r\n ordered!: SupportAdminDashboardLoadDto[];\r\n missingAgreement!: SupportAdminDashboardLoadDto[];\r\n booked!: SupportAdminDashboardLoadDto[];\r\n loaded!: SupportAdminDashboardLoadDto[];\r\n delivered!: SupportAdminDashboardLoadDto[];\r\n\r\n constructor(data?: ISupportAdminDashboardCurrentLoads) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.ordered = [];\r\n this.missingAgreement = [];\r\n this.booked = [];\r\n this.loaded = [];\r\n this.delivered = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientName = _data[\"clientName\"];\r\n if (Array.isArray(_data[\"ordered\"])) {\r\n this.ordered = [] as any;\r\n for (let item of _data[\"ordered\"])\r\n this.ordered!.push(SupportAdminDashboardLoadDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"missingAgreement\"])) {\r\n this.missingAgreement = [] as any;\r\n for (let item of _data[\"missingAgreement\"])\r\n this.missingAgreement!.push(SupportAdminDashboardLoadDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"booked\"])) {\r\n this.booked = [] as any;\r\n for (let item of _data[\"booked\"])\r\n this.booked!.push(SupportAdminDashboardLoadDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"loaded\"])) {\r\n this.loaded = [] as any;\r\n for (let item of _data[\"loaded\"])\r\n this.loaded!.push(SupportAdminDashboardLoadDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"delivered\"])) {\r\n this.delivered = [] as any;\r\n for (let item of _data[\"delivered\"])\r\n this.delivered!.push(SupportAdminDashboardLoadDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportAdminDashboardCurrentLoads {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportAdminDashboardCurrentLoads();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientName\"] = this.clientName;\r\n if (Array.isArray(this.ordered)) {\r\n data[\"ordered\"] = [];\r\n for (let item of this.ordered)\r\n data[\"ordered\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.missingAgreement)) {\r\n data[\"missingAgreement\"] = [];\r\n for (let item of this.missingAgreement)\r\n data[\"missingAgreement\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.booked)) {\r\n data[\"booked\"] = [];\r\n for (let item of this.booked)\r\n data[\"booked\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.loaded)) {\r\n data[\"loaded\"] = [];\r\n for (let item of this.loaded)\r\n data[\"loaded\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.delivered)) {\r\n data[\"delivered\"] = [];\r\n for (let item of this.delivered)\r\n data[\"delivered\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportAdminDashboardCurrentLoads {\r\n clientName: string | undefined;\r\n ordered: SupportAdminDashboardLoadDto[];\r\n missingAgreement: SupportAdminDashboardLoadDto[];\r\n booked: SupportAdminDashboardLoadDto[];\r\n loaded: SupportAdminDashboardLoadDto[];\r\n delivered: SupportAdminDashboardLoadDto[];\r\n}\r\n\r\nexport class SupportAdminDashboardLoadDto implements ISupportAdminDashboardLoadDto {\r\n clientName!: string | undefined;\r\n loadStatus!: LoadStatus;\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n truckType!: TruckType;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n regDate!: moment.Moment | undefined;\r\n pickupEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment | undefined;\r\n\r\n constructor(data?: ISupportAdminDashboardLoadDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientName = _data[\"clientName\"];\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportAdminDashboardLoadDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportAdminDashboardLoadDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientName\"] = this.clientName;\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportAdminDashboardLoadDto {\r\n clientName: string | undefined;\r\n loadStatus: LoadStatus;\r\n loadId: number;\r\n transportNo: string | undefined;\r\n truckType: TruckType;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n regDate: moment.Moment | undefined;\r\n pickupEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment | undefined;\r\n}\r\n\r\nexport enum LoadStatus {\r\n Ordered = 1,\r\n Booked = 2,\r\n Annulled = 3,\r\n Loaded = 4,\r\n MissingAgreement = 5,\r\n Delivered = 6,\r\n}\r\n\r\nexport class SupportAdminDashboardProcurements implements ISupportAdminDashboardProcurements {\r\n clientName!: string | undefined;\r\n farAhead!: number;\r\n farBack!: number;\r\n notStarted!: number;\r\n pricePhase!: number;\r\n rankingPhase!: number;\r\n\r\n constructor(data?: ISupportAdminDashboardProcurements) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientName = _data[\"clientName\"];\r\n this.farAhead = _data[\"farAhead\"];\r\n this.farBack = _data[\"farBack\"];\r\n this.notStarted = _data[\"notStarted\"];\r\n this.pricePhase = _data[\"pricePhase\"];\r\n this.rankingPhase = _data[\"rankingPhase\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportAdminDashboardProcurements {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportAdminDashboardProcurements();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientName\"] = this.clientName;\r\n data[\"farAhead\"] = this.farAhead;\r\n data[\"farBack\"] = this.farBack;\r\n data[\"notStarted\"] = this.notStarted;\r\n data[\"pricePhase\"] = this.pricePhase;\r\n data[\"rankingPhase\"] = this.rankingPhase;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportAdminDashboardProcurements {\r\n clientName: string | undefined;\r\n farAhead: number;\r\n farBack: number;\r\n notStarted: number;\r\n pricePhase: number;\r\n rankingPhase: number;\r\n}\r\n\r\nexport class SupportAdminDashboardAgreements implements ISupportAdminDashboardAgreements {\r\n clientName!: string | undefined;\r\n cargoType!: CargoType;\r\n endingSoon!: number[];\r\n endingSoonWithoutSuccessors!: number[];\r\n endingSoonish!: number[];\r\n endingSoonishWithoutSuccessors!: number[];\r\n endingLater!: number[];\r\n\r\n constructor(data?: ISupportAdminDashboardAgreements) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.endingSoon = [];\r\n this.endingSoonWithoutSuccessors = [];\r\n this.endingSoonish = [];\r\n this.endingSoonishWithoutSuccessors = [];\r\n this.endingLater = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientName = _data[\"clientName\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n if (Array.isArray(_data[\"endingSoon\"])) {\r\n this.endingSoon = [] as any;\r\n for (let item of _data[\"endingSoon\"])\r\n this.endingSoon!.push(item);\r\n }\r\n if (Array.isArray(_data[\"endingSoonWithoutSuccessors\"])) {\r\n this.endingSoonWithoutSuccessors = [] as any;\r\n for (let item of _data[\"endingSoonWithoutSuccessors\"])\r\n this.endingSoonWithoutSuccessors!.push(item);\r\n }\r\n if (Array.isArray(_data[\"endingSoonish\"])) {\r\n this.endingSoonish = [] as any;\r\n for (let item of _data[\"endingSoonish\"])\r\n this.endingSoonish!.push(item);\r\n }\r\n if (Array.isArray(_data[\"endingSoonishWithoutSuccessors\"])) {\r\n this.endingSoonishWithoutSuccessors = [] as any;\r\n for (let item of _data[\"endingSoonishWithoutSuccessors\"])\r\n this.endingSoonishWithoutSuccessors!.push(item);\r\n }\r\n if (Array.isArray(_data[\"endingLater\"])) {\r\n this.endingLater = [] as any;\r\n for (let item of _data[\"endingLater\"])\r\n this.endingLater!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportAdminDashboardAgreements {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportAdminDashboardAgreements();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientName\"] = this.clientName;\r\n data[\"cargoType\"] = this.cargoType;\r\n if (Array.isArray(this.endingSoon)) {\r\n data[\"endingSoon\"] = [];\r\n for (let item of this.endingSoon)\r\n data[\"endingSoon\"].push(item);\r\n }\r\n if (Array.isArray(this.endingSoonWithoutSuccessors)) {\r\n data[\"endingSoonWithoutSuccessors\"] = [];\r\n for (let item of this.endingSoonWithoutSuccessors)\r\n data[\"endingSoonWithoutSuccessors\"].push(item);\r\n }\r\n if (Array.isArray(this.endingSoonish)) {\r\n data[\"endingSoonish\"] = [];\r\n for (let item of this.endingSoonish)\r\n data[\"endingSoonish\"].push(item);\r\n }\r\n if (Array.isArray(this.endingSoonishWithoutSuccessors)) {\r\n data[\"endingSoonishWithoutSuccessors\"] = [];\r\n for (let item of this.endingSoonishWithoutSuccessors)\r\n data[\"endingSoonishWithoutSuccessors\"].push(item);\r\n }\r\n if (Array.isArray(this.endingLater)) {\r\n data[\"endingLater\"] = [];\r\n for (let item of this.endingLater)\r\n data[\"endingLater\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportAdminDashboardAgreements {\r\n clientName: string | undefined;\r\n cargoType: CargoType;\r\n endingSoon: number[];\r\n endingSoonWithoutSuccessors: number[];\r\n endingSoonish: number[];\r\n endingSoonishWithoutSuccessors: number[];\r\n endingLater: number[];\r\n}\r\n\r\nexport class AgreementRouteDistanceContainerDto implements IAgreementRouteDistanceContainerDto {\r\n count!: number;\r\n rows!: AgreementRouteDistanceDto[] | undefined;\r\n\r\n constructor(data?: IAgreementRouteDistanceContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(AgreementRouteDistanceDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteDistanceContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteDistanceContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteDistanceContainerDto {\r\n count: number;\r\n rows: AgreementRouteDistanceDto[] | undefined;\r\n}\r\n\r\nexport class AgreementRouteDistanceDto implements IAgreementRouteDistanceDto {\r\n id!: number;\r\n pickupCountry!: Country;\r\n deliveryCountry!: Country;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n clientName!: string | undefined;\r\n cargoType!: CargoType;\r\n distance!: number | undefined;\r\n routingExactnessPickup!: RoutingExactness | undefined;\r\n routingExactnessDelivery!: RoutingExactness | undefined;\r\n status!: AgreementRouteStatus;\r\n numAgreements!: number;\r\n\r\n constructor(data?: IAgreementRouteDistanceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.distance = _data[\"distance\"];\r\n this.routingExactnessPickup = _data[\"routingExactnessPickup\"];\r\n this.routingExactnessDelivery = _data[\"routingExactnessDelivery\"];\r\n this.status = _data[\"status\"];\r\n this.numAgreements = _data[\"numAgreements\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteDistanceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteDistanceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"distance\"] = this.distance;\r\n data[\"routingExactnessPickup\"] = this.routingExactnessPickup;\r\n data[\"routingExactnessDelivery\"] = this.routingExactnessDelivery;\r\n data[\"status\"] = this.status;\r\n data[\"numAgreements\"] = this.numAgreements;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteDistanceDto {\r\n id: number;\r\n pickupCountry: Country;\r\n deliveryCountry: Country;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n clientName: string | undefined;\r\n cargoType: CargoType;\r\n distance: number | undefined;\r\n routingExactnessPickup: RoutingExactness | undefined;\r\n routingExactnessDelivery: RoutingExactness | undefined;\r\n status: AgreementRouteStatus;\r\n numAgreements: number;\r\n}\r\n\r\nexport enum RoutingExactness {\r\n Unknown = 1,\r\n Manual = 2,\r\n Fail = 3,\r\n AgreementRoute = 4,\r\n Country = 5,\r\n ZipcodeArea = 6,\r\n County = 7,\r\n Zipcode = 8,\r\n Address = 9,\r\n}\r\n\r\nexport enum AgreementRouteStatus {\r\n Visible = 0,\r\n Hidden = 1,\r\n Archived = 2,\r\n}\r\n\r\nexport class AgreementRouteDistanceSearchCriteriaContainer implements IAgreementRouteDistanceSearchCriteriaContainer {\r\n searchCriteria!: AgreementRouteDistanceSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: AgreementRouteDistanceOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IAgreementRouteDistanceSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? AgreementRouteDistanceSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteDistanceSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteDistanceSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteDistanceSearchCriteriaContainer {\r\n searchCriteria: AgreementRouteDistanceSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: AgreementRouteDistanceOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class AgreementRouteDistanceSearchCriteria implements IAgreementRouteDistanceSearchCriteria {\r\n clientId!: number | undefined;\r\n cargoType!: CargoType | undefined;\r\n hasDistance!: boolean | undefined;\r\n hidden!: boolean | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n routingExactnessPickup!: RoutingExactness | undefined;\r\n routingExactnessDelivery!: RoutingExactness | undefined;\r\n\r\n constructor(data?: IAgreementRouteDistanceSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.hasDistance = _data[\"hasDistance\"];\r\n this.hidden = _data[\"hidden\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.routingExactnessPickup = _data[\"routingExactnessPickup\"];\r\n this.routingExactnessDelivery = _data[\"routingExactnessDelivery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteDistanceSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteDistanceSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"hasDistance\"] = this.hasDistance;\r\n data[\"hidden\"] = this.hidden;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"routingExactnessPickup\"] = this.routingExactnessPickup;\r\n data[\"routingExactnessDelivery\"] = this.routingExactnessDelivery;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteDistanceSearchCriteria {\r\n clientId: number | undefined;\r\n cargoType: CargoType | undefined;\r\n hasDistance: boolean | undefined;\r\n hidden: boolean | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n routingExactnessPickup: RoutingExactness | undefined;\r\n routingExactnessDelivery: RoutingExactness | undefined;\r\n}\r\n\r\nexport enum AgreementRouteDistanceOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n ClientName = 3,\r\n Distance = 4,\r\n NumAgreements = 5,\r\n}\r\n\r\nexport class DocumentGroupDto implements IDocumentGroupDto {\r\n id!: number;\r\n docType!: DocType;\r\n actorName!: string | undefined;\r\n actorId!: number;\r\n description!: string | undefined;\r\n regDate!: moment.Moment | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n documents!: DocumentDto[] | undefined;\r\n hidden!: boolean;\r\n connectedToAgreement!: boolean;\r\n\r\n constructor(data?: IDocumentGroupDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.docType = _data[\"docType\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.actorId = _data[\"actorId\"];\r\n this.description = _data[\"description\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"documents\"])) {\r\n this.documents = [] as any;\r\n for (let item of _data[\"documents\"])\r\n this.documents!.push(DocumentDto.fromJS(item));\r\n }\r\n this.hidden = _data[\"hidden\"];\r\n this.connectedToAgreement = _data[\"connectedToAgreement\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentGroupDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentGroupDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"docType\"] = this.docType;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"description\"] = this.description;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.documents)) {\r\n data[\"documents\"] = [];\r\n for (let item of this.documents)\r\n data[\"documents\"].push(item.toJSON());\r\n }\r\n data[\"hidden\"] = this.hidden;\r\n data[\"connectedToAgreement\"] = this.connectedToAgreement;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDocumentGroupDto {\r\n id: number;\r\n docType: DocType;\r\n actorName: string | undefined;\r\n actorId: number;\r\n description: string | undefined;\r\n regDate: moment.Moment | undefined;\r\n alterDate: moment.Moment | undefined;\r\n documents: DocumentDto[] | undefined;\r\n hidden: boolean;\r\n connectedToAgreement: boolean;\r\n}\r\n\r\nexport enum DocType {\r\n TrionaDocument = 1,\r\n TermsOfAgreement = 2,\r\n InvoicingInformation = 3,\r\n LoadDocument = 4,\r\n MessageDocument = 5,\r\n NewsDocument = 6,\r\n}\r\n\r\nexport class DocumentDto implements IDocumentDto {\r\n culture!: Culture;\r\n regDate!: moment.Moment | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n loadUserId!: number;\r\n diskName!: string | undefined;\r\n fileFormat!: string | undefined;\r\n displayName!: string | undefined;\r\n\r\n constructor(data?: IDocumentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.culture = _data[\"culture\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.diskName = _data[\"diskName\"];\r\n this.fileFormat = _data[\"fileFormat\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"culture\"] = this.culture;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"diskName\"] = this.diskName;\r\n data[\"fileFormat\"] = this.fileFormat;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDocumentDto {\r\n culture: Culture;\r\n regDate: moment.Moment | undefined;\r\n alterDate: moment.Moment | undefined;\r\n loadUserId: number;\r\n diskName: string | undefined;\r\n fileFormat: string | undefined;\r\n displayName: string | undefined;\r\n}\r\n\r\nexport class DocumentGroupContainerDto implements IDocumentGroupContainerDto {\r\n documentGroup!: DocumentGroupDto | undefined;\r\n routes!: DocumentGroupRouteDto[] | undefined;\r\n\r\n constructor(data?: IDocumentGroupContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.documentGroup = _data[\"documentGroup\"] ? DocumentGroupDto.fromJS(_data[\"documentGroup\"]) : undefined;\r\n if (Array.isArray(_data[\"routes\"])) {\r\n this.routes = [] as any;\r\n for (let item of _data[\"routes\"])\r\n this.routes!.push(DocumentGroupRouteDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentGroupContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentGroupContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"documentGroup\"] = this.documentGroup ? this.documentGroup.toJSON() : undefined;\r\n if (Array.isArray(this.routes)) {\r\n data[\"routes\"] = [];\r\n for (let item of this.routes)\r\n data[\"routes\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDocumentGroupContainerDto {\r\n documentGroup: DocumentGroupDto | undefined;\r\n routes: DocumentGroupRouteDto[] | undefined;\r\n}\r\n\r\nexport class DocumentGroupRouteDto implements IDocumentGroupRouteDto {\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n from!: moment.Moment | undefined;\r\n to!: moment.Moment | undefined;\r\n\r\n constructor(data?: IDocumentGroupRouteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentGroupRouteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentGroupRouteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDocumentGroupRouteDto {\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n from: moment.Moment | undefined;\r\n to: moment.Moment | undefined;\r\n}\r\n\r\nexport class SaveDiskFileToDocumentDto implements ISaveDiskFileToDocumentDto {\r\n diskName!: string | undefined;\r\n displayName!: string | undefined;\r\n\r\n constructor(data?: ISaveDiskFileToDocumentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.diskName = _data[\"diskName\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveDiskFileToDocumentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveDiskFileToDocumentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"diskName\"] = this.diskName;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveDiskFileToDocumentDto {\r\n diskName: string | undefined;\r\n displayName: string | undefined;\r\n}\r\n\r\nexport class EmailDto implements IEmailDto {\r\n id!: number;\r\n mailAddress!: string | undefined;\r\n regDate!: moment.Moment;\r\n sendDate!: moment.Moment | undefined;\r\n preferedSendDate!: moment.Moment | undefined;\r\n retryCount!: number;\r\n subject!: string | undefined;\r\n body!: string | undefined;\r\n\r\n constructor(data?: IEmailDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.mailAddress = _data[\"mailAddress\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.sendDate = _data[\"sendDate\"] ? moment.parseZone(_data[\"sendDate\"].toString()) : undefined;\r\n this.preferedSendDate = _data[\"preferedSendDate\"] ? moment.parseZone(_data[\"preferedSendDate\"].toString()) : undefined;\r\n this.retryCount = _data[\"retryCount\"];\r\n this.subject = _data[\"subject\"];\r\n this.body = _data[\"body\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"mailAddress\"] = this.mailAddress;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"sendDate\"] = this.sendDate ? this.sendDate.toISOString(true) : undefined;\r\n data[\"preferedSendDate\"] = this.preferedSendDate ? this.preferedSendDate.toISOString(true) : undefined;\r\n data[\"retryCount\"] = this.retryCount;\r\n data[\"subject\"] = this.subject;\r\n data[\"body\"] = this.body;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailDto {\r\n id: number;\r\n mailAddress: string | undefined;\r\n regDate: moment.Moment;\r\n sendDate: moment.Moment | undefined;\r\n preferedSendDate: moment.Moment | undefined;\r\n retryCount: number;\r\n subject: string | undefined;\r\n body: string | undefined;\r\n}\r\n\r\nexport class EmailSearchCriteria implements IEmailSearchCriteria {\r\n withRetries!: boolean | undefined;\r\n topMailCount!: number;\r\n emailAddressFilter!: string | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n body!: string | undefined;\r\n subject!: string | undefined;\r\n\r\n constructor(data?: IEmailSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.withRetries = _data[\"withRetries\"];\r\n this.topMailCount = _data[\"topMailCount\"];\r\n this.emailAddressFilter = _data[\"emailAddressFilter\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.body = _data[\"body\"];\r\n this.subject = _data[\"subject\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"withRetries\"] = this.withRetries;\r\n data[\"topMailCount\"] = this.topMailCount;\r\n data[\"emailAddressFilter\"] = this.emailAddressFilter;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"body\"] = this.body;\r\n data[\"subject\"] = this.subject;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailSearchCriteria {\r\n withRetries: boolean | undefined;\r\n topMailCount: number;\r\n emailAddressFilter: string | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n body: string | undefined;\r\n subject: string | undefined;\r\n}\r\n\r\nexport class RenderTemplateDto implements IRenderTemplateDto {\r\n template!: string | undefined;\r\n data!: any | undefined;\r\n\r\n constructor(data?: IRenderTemplateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.template = _data[\"template\"];\r\n this.data = _data[\"data\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RenderTemplateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RenderTemplateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"template\"] = this.template;\r\n data[\"data\"] = this.data;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRenderTemplateDto {\r\n template: string | undefined;\r\n data: any | undefined;\r\n}\r\n\r\nexport class ExplorerSelectionOptionsDto implements IExplorerSelectionOptionsDto {\r\n methods!: ExplorerSelectionMethodOptionDto[] | undefined;\r\n loadStatuses!: ExplorerSelectionLoadStatusOptionDto[] | undefined;\r\n clients!: RepositoryDto[] | undefined;\r\n\r\n constructor(data?: IExplorerSelectionOptionsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"methods\"])) {\r\n this.methods = [] as any;\r\n for (let item of _data[\"methods\"])\r\n this.methods!.push(ExplorerSelectionMethodOptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"loadStatuses\"])) {\r\n this.loadStatuses = [] as any;\r\n for (let item of _data[\"loadStatuses\"])\r\n this.loadStatuses!.push(ExplorerSelectionLoadStatusOptionDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"clients\"])) {\r\n this.clients = [] as any;\r\n for (let item of _data[\"clients\"])\r\n this.clients!.push(RepositoryDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExplorerSelectionOptionsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExplorerSelectionOptionsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.methods)) {\r\n data[\"methods\"] = [];\r\n for (let item of this.methods)\r\n data[\"methods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.loadStatuses)) {\r\n data[\"loadStatuses\"] = [];\r\n for (let item of this.loadStatuses)\r\n data[\"loadStatuses\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.clients)) {\r\n data[\"clients\"] = [];\r\n for (let item of this.clients)\r\n data[\"clients\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExplorerSelectionOptionsDto {\r\n methods: ExplorerSelectionMethodOptionDto[] | undefined;\r\n loadStatuses: ExplorerSelectionLoadStatusOptionDto[] | undefined;\r\n clients: RepositoryDto[] | undefined;\r\n}\r\n\r\nexport class ExplorerSelectionMethodOptionDto implements IExplorerSelectionMethodOptionDto {\r\n id!: ExplorerSelectionMethod;\r\n text!: string | undefined;\r\n\r\n constructor(data?: IExplorerSelectionMethodOptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExplorerSelectionMethodOptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExplorerSelectionMethodOptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExplorerSelectionMethodOptionDto {\r\n id: ExplorerSelectionMethod;\r\n text: string | undefined;\r\n}\r\n\r\nexport enum ExplorerSelectionMethod {\r\n LoadById = 1,\r\n LoadByTransportNo = 2,\r\n LoadByAgreementId = 3,\r\n LoadByPriceRowId = 4,\r\n LoadByAdvanced = 5,\r\n AgreementById = 6,\r\n AgreementByAgreementRowId = 7,\r\n AgreementByAgreementRouteId = 8,\r\n AgreementByLoadId = 9,\r\n AgreementRowById = 10,\r\n AgreementRowByAgreementId = 11,\r\n AgreementRouteById = 12,\r\n AgreementRouteByName = 13,\r\n AgreementRouteByAgreementId = 14,\r\n AgreementRouteByRouteId = 15,\r\n RouteById = 16,\r\n RouteByAgreementRouteId = 17,\r\n RouteByPickupLocationId = 18,\r\n RouteByDeliveryLocationId = 19,\r\n LocationById = 20,\r\n LocationByRouteId = 21,\r\n LocationByName = 22,\r\n PriceRowByLoadId = 23,\r\n ClientByLoadId = 24,\r\n SupplierByLoadId = 25,\r\n}\r\n\r\nexport class ExplorerSelectionLoadStatusOptionDto implements IExplorerSelectionLoadStatusOptionDto {\r\n id!: LoadStatus;\r\n text!: string | undefined;\r\n\r\n constructor(data?: IExplorerSelectionLoadStatusOptionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExplorerSelectionLoadStatusOptionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExplorerSelectionLoadStatusOptionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExplorerSelectionLoadStatusOptionDto {\r\n id: LoadStatus;\r\n text: string | undefined;\r\n}\r\n\r\nexport class ExplorerNodeDto implements IExplorerNodeDto {\r\n type!: ExplorerNodeType;\r\n guid!: string;\r\n id!: number;\r\n text!: string | undefined;\r\n color!: string | undefined;\r\n children!: ExplorerNodeDto[] | undefined;\r\n\r\n constructor(data?: IExplorerNodeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.guid = _data[\"guid\"];\r\n this.id = _data[\"id\"];\r\n this.text = _data[\"text\"];\r\n this.color = _data[\"color\"];\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(ExplorerNodeDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExplorerNodeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExplorerNodeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"guid\"] = this.guid;\r\n data[\"id\"] = this.id;\r\n data[\"text\"] = this.text;\r\n data[\"color\"] = this.color;\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExplorerNodeDto {\r\n type: ExplorerNodeType;\r\n guid: string;\r\n id: number;\r\n text: string | undefined;\r\n color: string | undefined;\r\n children: ExplorerNodeDto[] | undefined;\r\n}\r\n\r\nexport enum ExplorerNodeType {\r\n Load = 0,\r\n Agreement = 1,\r\n AgreementRow = 2,\r\n TruckType = 3,\r\n AgreementRoute = 4,\r\n Route = 5,\r\n AgreementLoads = 6,\r\n AgreementAgreementRows = 7,\r\n AgreementRouteAgreements = 8,\r\n Location = 9,\r\n LocationPickupRoutes = 10,\r\n LocationDeliveryRoutes = 11,\r\n PriceRow = 12,\r\n LoadClient = 13,\r\n LoadSupplier = 14,\r\n}\r\n\r\nexport class ExplorerSearchCriteria implements IExplorerSearchCriteria {\r\n method!: ExplorerSelectionMethod;\r\n text!: string | undefined;\r\n loadStatuses!: LoadStatus[] | undefined;\r\n client!: number | undefined;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n\r\n constructor(data?: IExplorerSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.method = _data[\"method\"];\r\n this.text = _data[\"text\"];\r\n if (Array.isArray(_data[\"loadStatuses\"])) {\r\n this.loadStatuses = [] as any;\r\n for (let item of _data[\"loadStatuses\"])\r\n this.loadStatuses!.push(item);\r\n }\r\n this.client = _data[\"client\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExplorerSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExplorerSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"method\"] = this.method;\r\n data[\"text\"] = this.text;\r\n if (Array.isArray(this.loadStatuses)) {\r\n data[\"loadStatuses\"] = [];\r\n for (let item of this.loadStatuses)\r\n data[\"loadStatuses\"].push(item);\r\n }\r\n data[\"client\"] = this.client;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExplorerSearchCriteria {\r\n method: ExplorerSelectionMethod;\r\n text: string | undefined;\r\n loadStatuses: LoadStatus[] | undefined;\r\n client: number | undefined;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n}\r\n\r\nexport class LoadCompleteDto implements ILoadCompleteDto {\r\n id!: number;\r\n clientId!: number;\r\n clientName!: string | undefined;\r\n supplierId!: number | undefined;\r\n supplierName!: string | undefined;\r\n routeId!: number | undefined;\r\n routeName!: string | undefined;\r\n truckTypeId!: number | undefined;\r\n truckName!: string | undefined;\r\n statusId!: number | undefined;\r\n statusName!: string | undefined;\r\n regDate!: moment.Moment;\r\n note!: string | undefined;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n transportNo!: string | undefined;\r\n loadOrderNo!: string | undefined;\r\n truckNo!: string | undefined;\r\n volume!: number | undefined;\r\n weight!: number | undefined;\r\n packages!: number | undefined;\r\n blno!: string | undefined;\r\n customerId!: number | undefined;\r\n customerName!: string | undefined;\r\n otherPrice!: number | undefined;\r\n otherPriceCauseId!: number | undefined;\r\n otherPriceDesc!: string | undefined;\r\n deviationCauseId!: number | undefined;\r\n deviationCauseName!: string | undefined;\r\n deviationDesc!: string | undefined;\r\n bookingDate!: moment.Moment | undefined;\r\n consignmentNote!: string | undefined;\r\n publishDate!: moment.Moment;\r\n publishSpeed!: PublishSpeed;\r\n bookingLoadUserId!: number | undefined;\r\n bookingLoadUserName!: string | undefined;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedPickupInfo!: string | undefined;\r\n regLoadUserId!: number;\r\n alterLoadUserId!: number | undefined;\r\n alterLoadUserName!: string | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n unit!: string | undefined;\r\n referenceNo!: string | undefined;\r\n loadedDate!: moment.Moment | undefined;\r\n destinationInformation!: string | undefined;\r\n contentInformation!: string | undefined;\r\n noSuppliersLeftToNotify!: boolean | undefined;\r\n pickupInfo!: string | undefined;\r\n deliveryDate!: moment.Moment | undefined;\r\n accountingNo!: string | undefined;\r\n vonum!: string | undefined;\r\n assortmentId!: number | undefined;\r\n pickupLocationAddress!: string | undefined;\r\n deliveryLocationAddress!: string | undefined;\r\n bookingNo!: string | undefined;\r\n dateForClosing!: moment.Moment | undefined;\r\n shipName!: string | undefined;\r\n eta!: moment.Moment | undefined;\r\n stuffingLocation!: string | undefined;\r\n knvalue!: number | undefined;\r\n kncurrency!: string | undefined;\r\n knproductCode!: number | undefined;\r\n incoterms!: string | undefined;\r\n etd!: moment.Moment | undefined;\r\n mandatoryBookedPickupDate!: boolean | undefined;\r\n driverNo!: string | undefined;\r\n distance!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n vtlPrice!: number | undefined;\r\n deliveryLocationLat!: string | undefined;\r\n deliveryLocationLng!: string | undefined;\r\n deliveryPackageNumber!: string | undefined;\r\n loadIdforExternalUse!: string | undefined;\r\n terminalId!: number | undefined;\r\n terminalName!: string | undefined;\r\n distanceMethodPickup!: string | undefined;\r\n distanceMethodDelivery!: string | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n bookedDeliveryInfo!: string | undefined;\r\n specialRequirements!: string | undefined;\r\n subPickupLocations!: string[] | undefined;\r\n subDeliveryLocations!: string[] | undefined;\r\n agreementRouteName!: string | undefined;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n\r\n constructor(data?: ILoadCompleteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.routeId = _data[\"routeId\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.truckTypeId = _data[\"truckTypeId\"];\r\n this.truckName = _data[\"truckName\"];\r\n this.statusId = _data[\"statusId\"];\r\n this.statusName = _data[\"statusName\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.note = _data[\"note\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.transportNo = _data[\"transportNo\"];\r\n this.loadOrderNo = _data[\"loadOrderNo\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.volume = _data[\"volume\"];\r\n this.weight = _data[\"weight\"];\r\n this.packages = _data[\"packages\"];\r\n this.blno = _data[\"blno\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.otherPriceCauseId = _data[\"otherPriceCauseId\"];\r\n this.otherPriceDesc = _data[\"otherPriceDesc\"];\r\n this.deviationCauseId = _data[\"deviationCauseId\"];\r\n this.deviationCauseName = _data[\"deviationCauseName\"];\r\n this.deviationDesc = _data[\"deviationDesc\"];\r\n this.bookingDate = _data[\"bookingDate\"] ? moment.parseZone(_data[\"bookingDate\"].toString()) : undefined;\r\n this.consignmentNote = _data[\"consignmentNote\"];\r\n this.publishDate = _data[\"publishDate\"] ? moment.parseZone(_data[\"publishDate\"].toString()) : undefined;\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.bookingLoadUserId = _data[\"bookingLoadUserId\"];\r\n this.bookingLoadUserName = _data[\"bookingLoadUserName\"];\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n this.regLoadUserId = _data[\"regLoadUserId\"];\r\n this.alterLoadUserId = _data[\"alterLoadUserId\"];\r\n this.alterLoadUserName = _data[\"alterLoadUserName\"];\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.unit = _data[\"unit\"];\r\n this.referenceNo = _data[\"referenceNo\"];\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n this.destinationInformation = _data[\"destinationInformation\"];\r\n this.contentInformation = _data[\"contentInformation\"];\r\n this.noSuppliersLeftToNotify = _data[\"noSuppliersLeftToNotify\"];\r\n this.pickupInfo = _data[\"pickupInfo\"];\r\n this.deliveryDate = _data[\"deliveryDate\"] ? moment.parseZone(_data[\"deliveryDate\"].toString()) : undefined;\r\n this.accountingNo = _data[\"accountingNo\"];\r\n this.vonum = _data[\"vonum\"];\r\n this.assortmentId = _data[\"assortmentId\"];\r\n this.pickupLocationAddress = _data[\"pickupLocationAddress\"];\r\n this.deliveryLocationAddress = _data[\"deliveryLocationAddress\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.dateForClosing = _data[\"dateForClosing\"] ? moment.parseZone(_data[\"dateForClosing\"].toString()) : undefined;\r\n this.shipName = _data[\"shipName\"];\r\n this.eta = _data[\"eta\"] ? moment.parseZone(_data[\"eta\"].toString()) : undefined;\r\n this.stuffingLocation = _data[\"stuffingLocation\"];\r\n this.knvalue = _data[\"knvalue\"];\r\n this.kncurrency = _data[\"kncurrency\"];\r\n this.knproductCode = _data[\"knproductCode\"];\r\n this.incoterms = _data[\"incoterms\"];\r\n this.etd = _data[\"etd\"] ? moment.parseZone(_data[\"etd\"].toString()) : undefined;\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.driverNo = _data[\"driverNo\"];\r\n this.distance = _data[\"distance\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.deliveryLocationLat = _data[\"deliveryLocationLat\"];\r\n this.deliveryLocationLng = _data[\"deliveryLocationLng\"];\r\n this.deliveryPackageNumber = _data[\"deliveryPackageNumber\"];\r\n this.loadIdforExternalUse = _data[\"loadIdforExternalUse\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.terminalName = _data[\"terminalName\"];\r\n this.distanceMethodPickup = _data[\"distanceMethodPickup\"];\r\n this.distanceMethodDelivery = _data[\"distanceMethodDelivery\"];\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n this.bookedDeliveryInfo = _data[\"bookedDeliveryInfo\"];\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n if (Array.isArray(_data[\"subPickupLocations\"])) {\r\n this.subPickupLocations = [] as any;\r\n for (let item of _data[\"subPickupLocations\"])\r\n this.subPickupLocations!.push(item);\r\n }\r\n if (Array.isArray(_data[\"subDeliveryLocations\"])) {\r\n this.subDeliveryLocations = [] as any;\r\n for (let item of _data[\"subDeliveryLocations\"])\r\n this.subDeliveryLocations!.push(item);\r\n }\r\n this.agreementRouteName = _data[\"agreementRouteName\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadCompleteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadCompleteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"routeId\"] = this.routeId;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"truckTypeId\"] = this.truckTypeId;\r\n data[\"truckName\"] = this.truckName;\r\n data[\"statusId\"] = this.statusId;\r\n data[\"statusName\"] = this.statusName;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"note\"] = this.note;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"loadOrderNo\"] = this.loadOrderNo;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"volume\"] = this.volume;\r\n data[\"weight\"] = this.weight;\r\n data[\"packages\"] = this.packages;\r\n data[\"blno\"] = this.blno;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"otherPriceCauseId\"] = this.otherPriceCauseId;\r\n data[\"otherPriceDesc\"] = this.otherPriceDesc;\r\n data[\"deviationCauseId\"] = this.deviationCauseId;\r\n data[\"deviationCauseName\"] = this.deviationCauseName;\r\n data[\"deviationDesc\"] = this.deviationDesc;\r\n data[\"bookingDate\"] = this.bookingDate ? this.bookingDate.toISOString(true) : undefined;\r\n data[\"consignmentNote\"] = this.consignmentNote;\r\n data[\"publishDate\"] = this.publishDate ? this.publishDate.toISOString(true) : undefined;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"bookingLoadUserId\"] = this.bookingLoadUserId;\r\n data[\"bookingLoadUserName\"] = this.bookingLoadUserName;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n data[\"regLoadUserId\"] = this.regLoadUserId;\r\n data[\"alterLoadUserId\"] = this.alterLoadUserId;\r\n data[\"alterLoadUserName\"] = this.alterLoadUserName;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"unit\"] = this.unit;\r\n data[\"referenceNo\"] = this.referenceNo;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n data[\"destinationInformation\"] = this.destinationInformation;\r\n data[\"contentInformation\"] = this.contentInformation;\r\n data[\"noSuppliersLeftToNotify\"] = this.noSuppliersLeftToNotify;\r\n data[\"pickupInfo\"] = this.pickupInfo;\r\n data[\"deliveryDate\"] = this.deliveryDate ? this.deliveryDate.toISOString(true) : undefined;\r\n data[\"accountingNo\"] = this.accountingNo;\r\n data[\"vonum\"] = this.vonum;\r\n data[\"assortmentId\"] = this.assortmentId;\r\n data[\"pickupLocationAddress\"] = this.pickupLocationAddress;\r\n data[\"deliveryLocationAddress\"] = this.deliveryLocationAddress;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"dateForClosing\"] = this.dateForClosing ? this.dateForClosing.toISOString(true) : undefined;\r\n data[\"shipName\"] = this.shipName;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString(true) : undefined;\r\n data[\"stuffingLocation\"] = this.stuffingLocation;\r\n data[\"knvalue\"] = this.knvalue;\r\n data[\"kncurrency\"] = this.kncurrency;\r\n data[\"knproductCode\"] = this.knproductCode;\r\n data[\"incoterms\"] = this.incoterms;\r\n data[\"etd\"] = this.etd ? this.etd.toISOString(true) : undefined;\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"driverNo\"] = this.driverNo;\r\n data[\"distance\"] = this.distance;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"deliveryLocationLat\"] = this.deliveryLocationLat;\r\n data[\"deliveryLocationLng\"] = this.deliveryLocationLng;\r\n data[\"deliveryPackageNumber\"] = this.deliveryPackageNumber;\r\n data[\"loadIdforExternalUse\"] = this.loadIdforExternalUse;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"terminalName\"] = this.terminalName;\r\n data[\"distanceMethodPickup\"] = this.distanceMethodPickup;\r\n data[\"distanceMethodDelivery\"] = this.distanceMethodDelivery;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n data[\"bookedDeliveryInfo\"] = this.bookedDeliveryInfo;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n if (Array.isArray(this.subPickupLocations)) {\r\n data[\"subPickupLocations\"] = [];\r\n for (let item of this.subPickupLocations)\r\n data[\"subPickupLocations\"].push(item);\r\n }\r\n if (Array.isArray(this.subDeliveryLocations)) {\r\n data[\"subDeliveryLocations\"] = [];\r\n for (let item of this.subDeliveryLocations)\r\n data[\"subDeliveryLocations\"].push(item);\r\n }\r\n data[\"agreementRouteName\"] = this.agreementRouteName;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadCompleteDto {\r\n id: number;\r\n clientId: number;\r\n clientName: string | undefined;\r\n supplierId: number | undefined;\r\n supplierName: string | undefined;\r\n routeId: number | undefined;\r\n routeName: string | undefined;\r\n truckTypeId: number | undefined;\r\n truckName: string | undefined;\r\n statusId: number | undefined;\r\n statusName: string | undefined;\r\n regDate: moment.Moment;\r\n note: string | undefined;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n transportNo: string | undefined;\r\n loadOrderNo: string | undefined;\r\n truckNo: string | undefined;\r\n volume: number | undefined;\r\n weight: number | undefined;\r\n packages: number | undefined;\r\n blno: string | undefined;\r\n customerId: number | undefined;\r\n customerName: string | undefined;\r\n otherPrice: number | undefined;\r\n otherPriceCauseId: number | undefined;\r\n otherPriceDesc: string | undefined;\r\n deviationCauseId: number | undefined;\r\n deviationCauseName: string | undefined;\r\n deviationDesc: string | undefined;\r\n bookingDate: moment.Moment | undefined;\r\n consignmentNote: string | undefined;\r\n publishDate: moment.Moment;\r\n publishSpeed: PublishSpeed;\r\n bookingLoadUserId: number | undefined;\r\n bookingLoadUserName: string | undefined;\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedPickupInfo: string | undefined;\r\n regLoadUserId: number;\r\n alterLoadUserId: number | undefined;\r\n alterLoadUserName: string | undefined;\r\n alterDate: moment.Moment | undefined;\r\n unit: string | undefined;\r\n referenceNo: string | undefined;\r\n loadedDate: moment.Moment | undefined;\r\n destinationInformation: string | undefined;\r\n contentInformation: string | undefined;\r\n noSuppliersLeftToNotify: boolean | undefined;\r\n pickupInfo: string | undefined;\r\n deliveryDate: moment.Moment | undefined;\r\n accountingNo: string | undefined;\r\n vonum: string | undefined;\r\n assortmentId: number | undefined;\r\n pickupLocationAddress: string | undefined;\r\n deliveryLocationAddress: string | undefined;\r\n bookingNo: string | undefined;\r\n dateForClosing: moment.Moment | undefined;\r\n shipName: string | undefined;\r\n eta: moment.Moment | undefined;\r\n stuffingLocation: string | undefined;\r\n knvalue: number | undefined;\r\n kncurrency: string | undefined;\r\n knproductCode: number | undefined;\r\n incoterms: string | undefined;\r\n etd: moment.Moment | undefined;\r\n mandatoryBookedPickupDate: boolean | undefined;\r\n driverNo: string | undefined;\r\n distance: number | undefined;\r\n escortCarPrice: number | undefined;\r\n vtlPrice: number | undefined;\r\n deliveryLocationLat: string | undefined;\r\n deliveryLocationLng: string | undefined;\r\n deliveryPackageNumber: string | undefined;\r\n loadIdforExternalUse: string | undefined;\r\n terminalId: number | undefined;\r\n terminalName: string | undefined;\r\n distanceMethodPickup: string | undefined;\r\n distanceMethodDelivery: string | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n mandatoryBookedDeliveryDate: boolean;\r\n bookedDeliveryInfo: string | undefined;\r\n specialRequirements: string | undefined;\r\n subPickupLocations: string[] | undefined;\r\n subDeliveryLocations: string[] | undefined;\r\n agreementRouteName: string | undefined;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n}\r\n\r\nexport enum PublishSpeed {\r\n Economy = 1,\r\n Normal = 2,\r\n Broadcast = 3,\r\n}\r\n\r\nexport class LoadHistoryDto implements ILoadHistoryDto {\r\n date!: moment.Moment;\r\n loadUserName!: string | undefined;\r\n description!: string | undefined;\r\n why!: string | undefined;\r\n\r\n constructor(data?: ILoadHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.description = _data[\"description\"];\r\n this.why = _data[\"why\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"description\"] = this.description;\r\n data[\"why\"] = this.why;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadHistoryDto {\r\n date: moment.Moment;\r\n loadUserName: string | undefined;\r\n description: string | undefined;\r\n why: string | undefined;\r\n}\r\n\r\nexport class LoadVisibilityDto implements ILoadVisibilityDto {\r\n supplierName!: string | undefined;\r\n visibleDate!: moment.Moment | undefined;\r\n nextVisibleDate!: moment.Moment | undefined;\r\n visible!: boolean;\r\n\r\n constructor(data?: ILoadVisibilityDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierName = _data[\"supplierName\"];\r\n this.visibleDate = _data[\"visibleDate\"] ? moment.parseZone(_data[\"visibleDate\"].toString()) : undefined;\r\n this.nextVisibleDate = _data[\"nextVisibleDate\"] ? moment.parseZone(_data[\"nextVisibleDate\"].toString()) : undefined;\r\n this.visible = _data[\"visible\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadVisibilityDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadVisibilityDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"visibleDate\"] = this.visibleDate ? this.visibleDate.toISOString(true) : undefined;\r\n data[\"nextVisibleDate\"] = this.nextVisibleDate ? this.nextVisibleDate.toISOString(true) : undefined;\r\n data[\"visible\"] = this.visible;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadVisibilityDto {\r\n supplierName: string | undefined;\r\n visibleDate: moment.Moment | undefined;\r\n nextVisibleDate: moment.Moment | undefined;\r\n visible: boolean;\r\n}\r\n\r\nexport class LoadResignsDto implements ILoadResignsDto {\r\n supplierName!: string | undefined;\r\n loadUserName!: string | undefined;\r\n description!: string | undefined;\r\n regDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ILoadResignsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierName = _data[\"supplierName\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.description = _data[\"description\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadResignsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadResignsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"description\"] = this.description;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadResignsDto {\r\n supplierName: string | undefined;\r\n loadUserName: string | undefined;\r\n description: string | undefined;\r\n regDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class PublishInfoDto implements IPublishInfoDto {\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n visible!: boolean;\r\n rank!: number;\r\n invoicePrice!: number;\r\n\r\n constructor(data?: IPublishInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.visible = _data[\"visible\"];\r\n this.rank = _data[\"rank\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublishInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublishInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"visible\"] = this.visible;\r\n data[\"rank\"] = this.rank;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublishInfoDto {\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n visible: boolean;\r\n rank: number;\r\n invoicePrice: number;\r\n}\r\n\r\nexport class LoadSupplierNotifiedDto implements ILoadSupplierNotifiedDto {\r\n supplierName!: string | undefined;\r\n notifiedDate!: moment.Moment | undefined;\r\n typeId!: number;\r\n\r\n constructor(data?: ILoadSupplierNotifiedDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierName = _data[\"supplierName\"];\r\n this.notifiedDate = _data[\"notifiedDate\"] ? moment.parseZone(_data[\"notifiedDate\"].toString()) : undefined;\r\n this.typeId = _data[\"typeId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadSupplierNotifiedDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadSupplierNotifiedDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"notifiedDate\"] = this.notifiedDate ? this.notifiedDate.toISOString(true) : undefined;\r\n data[\"typeId\"] = this.typeId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadSupplierNotifiedDto {\r\n supplierName: string | undefined;\r\n notifiedDate: moment.Moment | undefined;\r\n typeId: number;\r\n}\r\n\r\nexport class SupplierUnbookedLoadsDto implements ISupplierUnbookedLoadsDto {\r\n supplierName!: string | undefined;\r\n unBookedDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ISupplierUnbookedLoadsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierName = _data[\"supplierName\"];\r\n this.unBookedDate = _data[\"unBookedDate\"] ? moment.parseZone(_data[\"unBookedDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierUnbookedLoadsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierUnbookedLoadsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"unBookedDate\"] = this.unBookedDate ? this.unBookedDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierUnbookedLoadsDto {\r\n supplierName: string | undefined;\r\n unBookedDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class UpdateLoadPriceDto implements IUpdateLoadPriceDto {\r\n loadId!: number;\r\n priceRowId!: number;\r\n otherPrice!: number | undefined;\r\n basePrice!: number | undefined;\r\n freightPrice!: number | undefined;\r\n invoicePrice!: number | undefined;\r\n stopPrice!: number | undefined;\r\n serviceFee!: number | undefined;\r\n initialFee!: number | undefined;\r\n indexFactor!: number;\r\n indexPrice!: number;\r\n bookingFee!: number | undefined;\r\n vtlPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n numExtraStops!: number;\r\n numContainers!: number;\r\n distance!: number | undefined;\r\n baseIndexDate!: moment.Moment | undefined;\r\n indexDate!: moment.Moment | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n currency!: Currency;\r\n\r\n constructor(data?: IUpdateLoadPriceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.priceRowId = _data[\"priceRowId\"];\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.indexPrice = _data[\"indexPrice\"];\r\n this.bookingFee = _data[\"bookingFee\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.distance = _data[\"distance\"];\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.indexDate = _data[\"indexDate\"] ? moment.parseZone(_data[\"indexDate\"].toString()) : undefined;\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.currency = _data[\"currency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdateLoadPriceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdateLoadPriceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"priceRowId\"] = this.priceRowId;\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"indexPrice\"] = this.indexPrice;\r\n data[\"bookingFee\"] = this.bookingFee;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"distance\"] = this.distance;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"indexDate\"] = this.indexDate ? this.indexDate.toISOString(true) : undefined;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"currency\"] = this.currency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdateLoadPriceDto {\r\n loadId: number;\r\n priceRowId: number;\r\n otherPrice: number | undefined;\r\n basePrice: number | undefined;\r\n freightPrice: number | undefined;\r\n invoicePrice: number | undefined;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n initialFee: number | undefined;\r\n indexFactor: number;\r\n indexPrice: number;\r\n bookingFee: number | undefined;\r\n vtlPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n numExtraStops: number;\r\n numContainers: number;\r\n distance: number | undefined;\r\n baseIndexDate: moment.Moment | undefined;\r\n indexDate: moment.Moment | undefined;\r\n alterDate: moment.Moment | undefined;\r\n currency: Currency;\r\n}\r\n\r\nexport class LoadRelationsDto implements ILoadRelationsDto {\r\n parents!: number[] | undefined;\r\n children!: number[] | undefined;\r\n\r\n constructor(data?: ILoadRelationsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parents\"])) {\r\n this.parents = [] as any;\r\n for (let item of _data[\"parents\"])\r\n this.parents!.push(item);\r\n }\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadRelationsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadRelationsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parents)) {\r\n data[\"parents\"] = [];\r\n for (let item of this.parents)\r\n data[\"parents\"].push(item);\r\n }\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadRelationsDto {\r\n parents: number[] | undefined;\r\n children: number[] | undefined;\r\n}\r\n\r\nexport class AgreementRowDto implements IAgreementRowDto {\r\n id!: number;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n publishRuleId!: number | undefined;\r\n estimatedShareOfLoads!: number;\r\n stopPrice!: number | undefined;\r\n note!: string | undefined;\r\n qualityPointsCalcDeviationTypeId!: number | undefined;\r\n serviceFee!: number | undefined;\r\n agreementId!: number;\r\n truckType!: TruckType;\r\n price!: number | undefined;\r\n fuelIndex!: boolean;\r\n initialFee!: number | undefined;\r\n\r\n constructor(data?: IAgreementRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.publishRuleId = _data[\"publishRuleId\"];\r\n this.estimatedShareOfLoads = _data[\"estimatedShareOfLoads\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.note = _data[\"note\"];\r\n this.qualityPointsCalcDeviationTypeId = _data[\"qualityPointsCalcDeviationTypeId\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.price = _data[\"price\"];\r\n this.fuelIndex = _data[\"fuelIndex\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"publishRuleId\"] = this.publishRuleId;\r\n data[\"estimatedShareOfLoads\"] = this.estimatedShareOfLoads;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"note\"] = this.note;\r\n data[\"qualityPointsCalcDeviationTypeId\"] = this.qualityPointsCalcDeviationTypeId;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"price\"] = this.price;\r\n data[\"fuelIndex\"] = this.fuelIndex;\r\n data[\"initialFee\"] = this.initialFee;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRowDto {\r\n id: number;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n publishRuleId: number | undefined;\r\n estimatedShareOfLoads: number;\r\n stopPrice: number | undefined;\r\n note: string | undefined;\r\n qualityPointsCalcDeviationTypeId: number | undefined;\r\n serviceFee: number | undefined;\r\n agreementId: number;\r\n truckType: TruckType;\r\n price: number | undefined;\r\n fuelIndex: boolean;\r\n initialFee: number | undefined;\r\n}\r\n\r\nexport class AgreementRouteSaDto implements IAgreementRouteSaDto {\r\n id!: number;\r\n actorId!: number;\r\n actorName!: string | undefined;\r\n name!: string | undefined;\r\n description!: string | undefined;\r\n distance!: number | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n regDate!: moment.Moment;\r\n alterDate!: moment.Moment | undefined;\r\n routeId!: number;\r\n cargoTypeId!: number | undefined;\r\n currencyTypeId!: number | undefined;\r\n status!: AgreementRouteStatus;\r\n statusChangeWhen!: moment.Moment | undefined;\r\n statusChangedByLoadUserId!: number | undefined;\r\n vonum!: string | undefined;\r\n predefinedPickupAddress!: string | undefined;\r\n specialRequirementId!: number | undefined;\r\n pickupInfoId!: number | undefined;\r\n destinationInfoId!: number | undefined;\r\n\r\n constructor(data?: IAgreementRouteSaDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.actorId = _data[\"actorId\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.distance = _data[\"distance\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.routeId = _data[\"routeId\"];\r\n this.cargoTypeId = _data[\"cargoTypeId\"];\r\n this.currencyTypeId = _data[\"currencyTypeId\"];\r\n this.status = _data[\"status\"];\r\n this.statusChangeWhen = _data[\"statusChangeWhen\"] ? moment.parseZone(_data[\"statusChangeWhen\"].toString()) : undefined;\r\n this.statusChangedByLoadUserId = _data[\"statusChangedByLoadUserId\"];\r\n this.vonum = _data[\"vonum\"];\r\n this.predefinedPickupAddress = _data[\"predefinedPickupAddress\"];\r\n this.specialRequirementId = _data[\"specialRequirementId\"];\r\n this.pickupInfoId = _data[\"pickupInfoId\"];\r\n this.destinationInfoId = _data[\"destinationInfoId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteSaDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteSaDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"distance\"] = this.distance;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"routeId\"] = this.routeId;\r\n data[\"cargoTypeId\"] = this.cargoTypeId;\r\n data[\"currencyTypeId\"] = this.currencyTypeId;\r\n data[\"status\"] = this.status;\r\n data[\"statusChangeWhen\"] = this.statusChangeWhen ? this.statusChangeWhen.toISOString(true) : undefined;\r\n data[\"statusChangedByLoadUserId\"] = this.statusChangedByLoadUserId;\r\n data[\"vonum\"] = this.vonum;\r\n data[\"predefinedPickupAddress\"] = this.predefinedPickupAddress;\r\n data[\"specialRequirementId\"] = this.specialRequirementId;\r\n data[\"pickupInfoId\"] = this.pickupInfoId;\r\n data[\"destinationInfoId\"] = this.destinationInfoId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteSaDto {\r\n id: number;\r\n actorId: number;\r\n actorName: string | undefined;\r\n name: string | undefined;\r\n description: string | undefined;\r\n distance: number | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n regDate: moment.Moment;\r\n alterDate: moment.Moment | undefined;\r\n routeId: number;\r\n cargoTypeId: number | undefined;\r\n currencyTypeId: number | undefined;\r\n status: AgreementRouteStatus;\r\n statusChangeWhen: moment.Moment | undefined;\r\n statusChangedByLoadUserId: number | undefined;\r\n vonum: string | undefined;\r\n predefinedPickupAddress: string | undefined;\r\n specialRequirementId: number | undefined;\r\n pickupInfoId: number | undefined;\r\n destinationInfoId: number | undefined;\r\n}\r\n\r\nexport class AgreementRouteHistoryDto implements IAgreementRouteHistoryDto {\r\n id!: number;\r\n agreementRouteId!: number;\r\n date!: moment.Moment;\r\n loadUserId!: number;\r\n loadUserName!: string | undefined;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IAgreementRouteHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteHistoryDto {\r\n id: number;\r\n agreementRouteId: number;\r\n date: moment.Moment;\r\n loadUserId: number;\r\n loadUserName: string | undefined;\r\n description: string | undefined;\r\n}\r\n\r\nexport class AgreementRouteTruckTypesDto implements IAgreementRouteTruckTypesDto {\r\n id!: number;\r\n agreementRouteId!: number;\r\n agreementRouteName!: string | undefined;\r\n truckTypeId!: number;\r\n truckTypeName!: string | undefined;\r\n mandatory!: boolean | undefined;\r\n date!: moment.Moment;\r\n loadUserId!: number;\r\n loadUserName!: string | undefined;\r\n\r\n constructor(data?: IAgreementRouteTruckTypesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.agreementRouteName = _data[\"agreementRouteName\"];\r\n this.truckTypeId = _data[\"truckTypeId\"];\r\n this.truckTypeName = _data[\"truckTypeName\"];\r\n this.mandatory = _data[\"mandatory\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteTruckTypesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteTruckTypesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"agreementRouteName\"] = this.agreementRouteName;\r\n data[\"truckTypeId\"] = this.truckTypeId;\r\n data[\"truckTypeName\"] = this.truckTypeName;\r\n data[\"mandatory\"] = this.mandatory;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteTruckTypesDto {\r\n id: number;\r\n agreementRouteId: number;\r\n agreementRouteName: string | undefined;\r\n truckTypeId: number;\r\n truckTypeName: string | undefined;\r\n mandatory: boolean | undefined;\r\n date: moment.Moment;\r\n loadUserId: number;\r\n loadUserName: string | undefined;\r\n}\r\n\r\nexport class AgreementDto implements IAgreementDto {\r\n id!: number;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n agreementRouteId!: number;\r\n agreementRouteName!: string | undefined;\r\n loadUserId!: number;\r\n loadUserName!: string | undefined;\r\n procurement!: boolean;\r\n procurementFromDate!: moment.Moment;\r\n procurementToDate!: moment.Moment;\r\n estimatedNoOfLoads!: number | undefined;\r\n regDate!: moment.Moment | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n agreementCreatedDate!: moment.Moment | undefined;\r\n periodNumber!: number;\r\n\r\n constructor(data?: IAgreementDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.agreementRouteName = _data[\"agreementRouteName\"];\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.procurement = _data[\"procurement\"];\r\n this.procurementFromDate = _data[\"procurementFromDate\"] ? moment.parseZone(_data[\"procurementFromDate\"].toString()) : undefined;\r\n this.procurementToDate = _data[\"procurementToDate\"] ? moment.parseZone(_data[\"procurementToDate\"].toString()) : undefined;\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.agreementCreatedDate = _data[\"agreementCreatedDate\"] ? moment.parseZone(_data[\"agreementCreatedDate\"].toString()) : undefined;\r\n this.periodNumber = _data[\"periodNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"agreementRouteName\"] = this.agreementRouteName;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"procurement\"] = this.procurement;\r\n data[\"procurementFromDate\"] = this.procurementFromDate ? this.procurementFromDate.toISOString(true) : undefined;\r\n data[\"procurementToDate\"] = this.procurementToDate ? this.procurementToDate.toISOString(true) : undefined;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"agreementCreatedDate\"] = this.agreementCreatedDate ? this.agreementCreatedDate.toISOString(true) : undefined;\r\n data[\"periodNumber\"] = this.periodNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementDto {\r\n id: number;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n agreementRouteId: number;\r\n agreementRouteName: string | undefined;\r\n loadUserId: number;\r\n loadUserName: string | undefined;\r\n procurement: boolean;\r\n procurementFromDate: moment.Moment;\r\n procurementToDate: moment.Moment;\r\n estimatedNoOfLoads: number | undefined;\r\n regDate: moment.Moment | undefined;\r\n alterDate: moment.Moment | undefined;\r\n agreementCreatedDate: moment.Moment | undefined;\r\n periodNumber: number;\r\n}\r\n\r\nexport class AgreementHistoryDto implements IAgreementHistoryDto {\r\n id!: number;\r\n agreementId!: number;\r\n date!: moment.Moment;\r\n loadUserId!: number;\r\n loadUserName!: string | undefined;\r\n description!: string | undefined;\r\n supplierName!: string | undefined;\r\n truckType!: string | undefined;\r\n\r\n constructor(data?: IAgreementHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.description = _data[\"description\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.truckType = _data[\"truckType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"description\"] = this.description;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"truckType\"] = this.truckType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementHistoryDto {\r\n id: number;\r\n agreementId: number;\r\n date: moment.Moment;\r\n loadUserId: number;\r\n loadUserName: string | undefined;\r\n description: string | undefined;\r\n supplierName: string | undefined;\r\n truckType: string | undefined;\r\n}\r\n\r\nexport class ExplorerAgreementQualityPoints implements IExplorerAgreementQualityPoints {\r\n agreementId!: number;\r\n clientId!: number;\r\n agreementRouteName!: string | undefined;\r\n clientName!: string | undefined;\r\n agreementFrom!: moment.Moment;\r\n agreementTo!: moment.Moment;\r\n procurementFrom!: moment.Moment;\r\n procurementTo!: moment.Moment;\r\n qualityPointsFrom!: moment.Moment;\r\n qualityPointsTo!: moment.Moment;\r\n\r\n constructor(data?: IExplorerAgreementQualityPoints) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.agreementRouteName = _data[\"agreementRouteName\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.agreementFrom = _data[\"agreementFrom\"] ? moment.parseZone(_data[\"agreementFrom\"].toString()) : undefined;\r\n this.agreementTo = _data[\"agreementTo\"] ? moment.parseZone(_data[\"agreementTo\"].toString()) : undefined;\r\n this.procurementFrom = _data[\"procurementFrom\"] ? moment.parseZone(_data[\"procurementFrom\"].toString()) : undefined;\r\n this.procurementTo = _data[\"procurementTo\"] ? moment.parseZone(_data[\"procurementTo\"].toString()) : undefined;\r\n this.qualityPointsFrom = _data[\"qualityPointsFrom\"] ? moment.parseZone(_data[\"qualityPointsFrom\"].toString()) : undefined;\r\n this.qualityPointsTo = _data[\"qualityPointsTo\"] ? moment.parseZone(_data[\"qualityPointsTo\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExplorerAgreementQualityPoints {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExplorerAgreementQualityPoints();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"agreementRouteName\"] = this.agreementRouteName;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"agreementFrom\"] = this.agreementFrom ? this.agreementFrom.toISOString(true) : undefined;\r\n data[\"agreementTo\"] = this.agreementTo ? this.agreementTo.toISOString(true) : undefined;\r\n data[\"procurementFrom\"] = this.procurementFrom ? this.procurementFrom.toISOString(true) : undefined;\r\n data[\"procurementTo\"] = this.procurementTo ? this.procurementTo.toISOString(true) : undefined;\r\n data[\"qualityPointsFrom\"] = this.qualityPointsFrom ? this.qualityPointsFrom.toISOString(true) : undefined;\r\n data[\"qualityPointsTo\"] = this.qualityPointsTo ? this.qualityPointsTo.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExplorerAgreementQualityPoints {\r\n agreementId: number;\r\n clientId: number;\r\n agreementRouteName: string | undefined;\r\n clientName: string | undefined;\r\n agreementFrom: moment.Moment;\r\n agreementTo: moment.Moment;\r\n procurementFrom: moment.Moment;\r\n procurementTo: moment.Moment;\r\n qualityPointsFrom: moment.Moment;\r\n qualityPointsTo: moment.Moment;\r\n}\r\n\r\nexport class IndexPeriodWithComponents implements IIndexPeriodWithComponents {\r\n id!: number;\r\n from!: moment.Moment;\r\n to!: moment.Moment;\r\n components!: IndexComponent[] | undefined;\r\n\r\n constructor(data?: IIndexPeriodWithComponents) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"components\"])) {\r\n this.components = [] as any;\r\n for (let item of _data[\"components\"])\r\n this.components!.push(IndexComponent.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IndexPeriodWithComponents {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IndexPeriodWithComponents();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n if (Array.isArray(this.components)) {\r\n data[\"components\"] = [];\r\n for (let item of this.components)\r\n data[\"components\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIndexPeriodWithComponents {\r\n id: number;\r\n from: moment.Moment;\r\n to: moment.Moment;\r\n components: IndexComponent[] | undefined;\r\n}\r\n\r\nexport class IndexComponent implements IIndexComponent {\r\n indexType!: IndexType;\r\n value!: number;\r\n share!: number;\r\n\r\n constructor(data?: IIndexComponent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.indexType = _data[\"indexType\"];\r\n this.value = _data[\"value\"];\r\n this.share = _data[\"share\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IndexComponent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IndexComponent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"indexType\"] = this.indexType;\r\n data[\"value\"] = this.value;\r\n data[\"share\"] = this.share;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIndexComponent {\r\n indexType: IndexType;\r\n value: number;\r\n share: number;\r\n}\r\n\r\nexport enum IndexType {\r\n NordicFuel = 1,\r\n ContinentalFuel = 2,\r\n EuroCurrency = 3,\r\n}\r\n\r\nexport class InvoiceRowSupportAdminDto implements IInvoiceRowSupportAdminDto {\r\n actorId!: number;\r\n feeType!: FeeType;\r\n price!: number;\r\n priceWithDiscount!: number;\r\n discount!: number;\r\n discountText!: string | undefined;\r\n numberOfItems!: number;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n actorName!: string | undefined;\r\n actorInvoiceInformationName!: string | undefined;\r\n unit!: string | undefined;\r\n actorInvoiceInformationId!: number;\r\n projectNo!: string | undefined;\r\n customerNo!: string | undefined;\r\n culture!: Culture;\r\n currency!: Currency;\r\n actorType!: ActorType;\r\n loadIds!: number[] | undefined;\r\n\r\n constructor(data?: IInvoiceRowSupportAdminDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.feeType = _data[\"feeType\"];\r\n this.price = _data[\"price\"];\r\n this.priceWithDiscount = _data[\"priceWithDiscount\"];\r\n this.discount = _data[\"discount\"];\r\n this.discountText = _data[\"discountText\"];\r\n this.numberOfItems = _data[\"numberOfItems\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.actorName = _data[\"actorName\"];\r\n this.actorInvoiceInformationName = _data[\"actorInvoiceInformationName\"];\r\n this.unit = _data[\"unit\"];\r\n this.actorInvoiceInformationId = _data[\"actorInvoiceInformationId\"];\r\n this.projectNo = _data[\"projectNo\"];\r\n this.customerNo = _data[\"customerNo\"];\r\n this.culture = _data[\"culture\"];\r\n this.currency = _data[\"currency\"];\r\n this.actorType = _data[\"actorType\"];\r\n if (Array.isArray(_data[\"loadIds\"])) {\r\n this.loadIds = [] as any;\r\n for (let item of _data[\"loadIds\"])\r\n this.loadIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceRowSupportAdminDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceRowSupportAdminDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"feeType\"] = this.feeType;\r\n data[\"price\"] = this.price;\r\n data[\"priceWithDiscount\"] = this.priceWithDiscount;\r\n data[\"discount\"] = this.discount;\r\n data[\"discountText\"] = this.discountText;\r\n data[\"numberOfItems\"] = this.numberOfItems;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"actorInvoiceInformationName\"] = this.actorInvoiceInformationName;\r\n data[\"unit\"] = this.unit;\r\n data[\"actorInvoiceInformationId\"] = this.actorInvoiceInformationId;\r\n data[\"projectNo\"] = this.projectNo;\r\n data[\"customerNo\"] = this.customerNo;\r\n data[\"culture\"] = this.culture;\r\n data[\"currency\"] = this.currency;\r\n data[\"actorType\"] = this.actorType;\r\n if (Array.isArray(this.loadIds)) {\r\n data[\"loadIds\"] = [];\r\n for (let item of this.loadIds)\r\n data[\"loadIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceRowSupportAdminDto {\r\n actorId: number;\r\n feeType: FeeType;\r\n price: number;\r\n priceWithDiscount: number;\r\n discount: number;\r\n discountText: string | undefined;\r\n numberOfItems: number;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n actorName: string | undefined;\r\n actorInvoiceInformationName: string | undefined;\r\n unit: string | undefined;\r\n actorInvoiceInformationId: number;\r\n projectNo: string | undefined;\r\n customerNo: string | undefined;\r\n culture: Culture;\r\n currency: Currency;\r\n actorType: ActorType;\r\n loadIds: number[] | undefined;\r\n}\r\n\r\nexport enum FeeType {\r\n RoadShort = 1,\r\n RoadLong = 2,\r\n Railroad = 3,\r\n Container = 4,\r\n SupplierEntranceFee = 5,\r\n SupplierFirstUser = 6,\r\n SupplierAdditionalUser = 7,\r\n ClientMedium = 8,\r\n ClientLarge = 9,\r\n ClientSmall = 10,\r\n MachineTransport = 11,\r\n AdditionalServices = 12,\r\n TravelTime = 13,\r\n ClientLight = 14,\r\n ClientPremium = 15,\r\n}\r\n\r\nexport class InvoiceSearchDto implements IInvoiceSearchDto {\r\n date!: moment.Moment;\r\n feeTypes!: FeeType[] | undefined;\r\n\r\n constructor(data?: IInvoiceSearchDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"feeTypes\"])) {\r\n this.feeTypes = [] as any;\r\n for (let item of _data[\"feeTypes\"])\r\n this.feeTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceSearchDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceSearchDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n if (Array.isArray(this.feeTypes)) {\r\n data[\"feeTypes\"] = [];\r\n for (let item of this.feeTypes)\r\n data[\"feeTypes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceSearchDto {\r\n date: moment.Moment;\r\n feeTypes: FeeType[] | undefined;\r\n}\r\n\r\nexport class InvoicedFeesContainerDto implements IInvoicedFeesContainerDto {\r\n rows!: InvoicedFeeRowDto[] | undefined;\r\n count!: number;\r\n\r\n constructor(data?: IInvoicedFeesContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(InvoicedFeeRowDto.fromJS(item));\r\n }\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoicedFeesContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoicedFeesContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoicedFeesContainerDto {\r\n rows: InvoicedFeeRowDto[] | undefined;\r\n count: number;\r\n}\r\n\r\nexport class InvoicedFeeRowDto implements IInvoicedFeeRowDto {\r\n loadId!: number | undefined;\r\n transportNo!: string | undefined;\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: Country | undefined;\r\n loadedDate!: moment.Moment | undefined;\r\n unit!: string | undefined;\r\n feeType!: FeeType;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n priceEach!: number;\r\n discountEach!: number;\r\n priceWithDiscountEach!: number;\r\n priceTotalWithDiscount!: number;\r\n numberOfItems!: number;\r\n currency!: Currency;\r\n\r\n constructor(data?: IInvoicedFeeRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n this.unit = _data[\"unit\"];\r\n this.feeType = _data[\"feeType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.priceEach = _data[\"priceEach\"];\r\n this.discountEach = _data[\"discountEach\"];\r\n this.priceWithDiscountEach = _data[\"priceWithDiscountEach\"];\r\n this.priceTotalWithDiscount = _data[\"priceTotalWithDiscount\"];\r\n this.numberOfItems = _data[\"numberOfItems\"];\r\n this.currency = _data[\"currency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoicedFeeRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoicedFeeRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n data[\"unit\"] = this.unit;\r\n data[\"feeType\"] = this.feeType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"priceEach\"] = this.priceEach;\r\n data[\"discountEach\"] = this.discountEach;\r\n data[\"priceWithDiscountEach\"] = this.priceWithDiscountEach;\r\n data[\"priceTotalWithDiscount\"] = this.priceTotalWithDiscount;\r\n data[\"numberOfItems\"] = this.numberOfItems;\r\n data[\"currency\"] = this.currency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoicedFeeRowDto {\r\n loadId: number | undefined;\r\n transportNo: string | undefined;\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: Country | undefined;\r\n loadedDate: moment.Moment | undefined;\r\n unit: string | undefined;\r\n feeType: FeeType;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n priceEach: number;\r\n discountEach: number;\r\n priceWithDiscountEach: number;\r\n priceTotalWithDiscount: number;\r\n numberOfItems: number;\r\n currency: Currency;\r\n}\r\n\r\nexport class InvoicedFeesSearchCriteriaContainer implements IInvoicedFeesSearchCriteriaContainer {\r\n searchCriteria!: InvoicedFeesSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: InvoicedFeesOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IInvoicedFeesSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? InvoicedFeesSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoicedFeesSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoicedFeesSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoicedFeesSearchCriteriaContainer {\r\n searchCriteria: InvoicedFeesSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: InvoicedFeesOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class InvoicedFeesSearchCriteria implements IInvoicedFeesSearchCriteria {\r\n actorId!: number;\r\n invoiceDate!: moment.Moment | undefined;\r\n loadId!: string | undefined;\r\n transportNo!: string | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n unit!: string | undefined;\r\n feeType!: FeeType | undefined;\r\n currency!: Currency | undefined;\r\n\r\n constructor(data?: IInvoicedFeesSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.invoiceDate = _data[\"invoiceDate\"] ? moment.parseZone(_data[\"invoiceDate\"].toString()) : undefined;\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.unit = _data[\"unit\"];\r\n this.feeType = _data[\"feeType\"];\r\n this.currency = _data[\"currency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoicedFeesSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoicedFeesSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"invoiceDate\"] = this.invoiceDate ? this.invoiceDate.toISOString(true) : undefined;\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"unit\"] = this.unit;\r\n data[\"feeType\"] = this.feeType;\r\n data[\"currency\"] = this.currency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoicedFeesSearchCriteria {\r\n actorId: number;\r\n invoiceDate: moment.Moment | undefined;\r\n loadId: string | undefined;\r\n transportNo: string | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n unit: string | undefined;\r\n feeType: FeeType | undefined;\r\n currency: Currency | undefined;\r\n}\r\n\r\nexport enum InvoicedFeesOrderBy {\r\n FeeType = 1,\r\n Price = 2,\r\n Currency = 3,\r\n FromDate = 4,\r\n ToDate = 5,\r\n Unit = 6,\r\n LoadId = 7,\r\n TransportNo = 8,\r\n PickupLocation = 9,\r\n DeliveryLocation = 10,\r\n LoadedDate = 11,\r\n}\r\n\r\nexport class CloseMatchesContainerDto implements ICloseMatchesContainerDto {\r\n overallMatches!: LocationMatchDto[] | undefined;\r\n countyMatches!: string[] | undefined;\r\n zipCodeMatches!: string[] | undefined;\r\n\r\n constructor(data?: ICloseMatchesContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"overallMatches\"])) {\r\n this.overallMatches = [] as any;\r\n for (let item of _data[\"overallMatches\"])\r\n this.overallMatches!.push(LocationMatchDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"countyMatches\"])) {\r\n this.countyMatches = [] as any;\r\n for (let item of _data[\"countyMatches\"])\r\n this.countyMatches!.push(item);\r\n }\r\n if (Array.isArray(_data[\"zipCodeMatches\"])) {\r\n this.zipCodeMatches = [] as any;\r\n for (let item of _data[\"zipCodeMatches\"])\r\n this.zipCodeMatches!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CloseMatchesContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CloseMatchesContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.overallMatches)) {\r\n data[\"overallMatches\"] = [];\r\n for (let item of this.overallMatches)\r\n data[\"overallMatches\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.countyMatches)) {\r\n data[\"countyMatches\"] = [];\r\n for (let item of this.countyMatches)\r\n data[\"countyMatches\"].push(item);\r\n }\r\n if (Array.isArray(this.zipCodeMatches)) {\r\n data[\"zipCodeMatches\"] = [];\r\n for (let item of this.zipCodeMatches)\r\n data[\"zipCodeMatches\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICloseMatchesContainerDto {\r\n overallMatches: LocationMatchDto[] | undefined;\r\n countyMatches: string[] | undefined;\r\n zipCodeMatches: string[] | undefined;\r\n}\r\n\r\nexport class LocationMatchDto implements ILocationMatchDto {\r\n county!: string | undefined;\r\n zipCode!: string | undefined;\r\n timeZone!: TimeZone;\r\n\r\n constructor(data?: ILocationMatchDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.county = _data[\"county\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationMatchDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationMatchDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"county\"] = this.county;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationMatchDto {\r\n county: string | undefined;\r\n zipCode: string | undefined;\r\n timeZone: TimeZone;\r\n}\r\n\r\nexport class AddLocationDto implements IAddLocationDto {\r\n county!: string | undefined;\r\n zipCode!: string | undefined;\r\n country!: Country;\r\n timeZone!: TimeZone;\r\n\r\n constructor(data?: IAddLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.county = _data[\"county\"];\r\n this.zipCode = _data[\"zipCode\"];\r\n this.country = _data[\"country\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"county\"] = this.county;\r\n data[\"zipCode\"] = this.zipCode;\r\n data[\"country\"] = this.country;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddLocationDto {\r\n county: string | undefined;\r\n zipCode: string | undefined;\r\n country: Country;\r\n timeZone: TimeZone;\r\n}\r\n\r\nexport class ExactMatchesContainerDto implements IExactMatchesContainerDto {\r\n countyMatches!: LocationMatchDto[] | undefined;\r\n zipCodeMatches!: LocationMatchDto[] | undefined;\r\n exactMatch!: LocationMatchDto | undefined;\r\n\r\n constructor(data?: IExactMatchesContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"countyMatches\"])) {\r\n this.countyMatches = [] as any;\r\n for (let item of _data[\"countyMatches\"])\r\n this.countyMatches!.push(LocationMatchDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"zipCodeMatches\"])) {\r\n this.zipCodeMatches = [] as any;\r\n for (let item of _data[\"zipCodeMatches\"])\r\n this.zipCodeMatches!.push(LocationMatchDto.fromJS(item));\r\n }\r\n this.exactMatch = _data[\"exactMatch\"] ? LocationMatchDto.fromJS(_data[\"exactMatch\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExactMatchesContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExactMatchesContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.countyMatches)) {\r\n data[\"countyMatches\"] = [];\r\n for (let item of this.countyMatches)\r\n data[\"countyMatches\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.zipCodeMatches)) {\r\n data[\"zipCodeMatches\"] = [];\r\n for (let item of this.zipCodeMatches)\r\n data[\"zipCodeMatches\"].push(item.toJSON());\r\n }\r\n data[\"exactMatch\"] = this.exactMatch ? this.exactMatch.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExactMatchesContainerDto {\r\n countyMatches: LocationMatchDto[] | undefined;\r\n zipCodeMatches: LocationMatchDto[] | undefined;\r\n exactMatch: LocationMatchDto | undefined;\r\n}\r\n\r\nexport class RemoveLocationDto implements IRemoveLocationDto {\r\n locationId!: number;\r\n location!: string | undefined;\r\n removable!: boolean;\r\n\r\n constructor(data?: IRemoveLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.location = _data[\"location\"];\r\n this.removable = _data[\"removable\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RemoveLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RemoveLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"location\"] = this.location;\r\n data[\"removable\"] = this.removable;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRemoveLocationDto {\r\n locationId: number;\r\n location: string | undefined;\r\n removable: boolean;\r\n}\r\n\r\nexport class LocationStartingWithDto implements ILocationStartingWithDto {\r\n str!: string | undefined;\r\n country!: Country;\r\n\r\n constructor(data?: ILocationStartingWithDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.str = _data[\"str\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationStartingWithDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationStartingWithDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"str\"] = this.str;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationStartingWithDto {\r\n str: string | undefined;\r\n country: Country;\r\n}\r\n\r\nexport class NewsSupportAdminDto implements INewsSupportAdminDto {\r\n id!: number;\r\n displayDate!: moment.Moment;\r\n visibleDate!: moment.Moment | undefined;\r\n rows!: NewsRowDto[] | undefined;\r\n actorTypes!: ActorType[] | undefined;\r\n\r\n constructor(data?: INewsSupportAdminDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.displayDate = _data[\"displayDate\"] ? moment.parseZone(_data[\"displayDate\"].toString()) : undefined;\r\n this.visibleDate = _data[\"visibleDate\"] ? moment.parseZone(_data[\"visibleDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(NewsRowDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"actorTypes\"])) {\r\n this.actorTypes = [] as any;\r\n for (let item of _data[\"actorTypes\"])\r\n this.actorTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewsSupportAdminDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewsSupportAdminDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString(true) : undefined;\r\n data[\"visibleDate\"] = this.visibleDate ? this.visibleDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.actorTypes)) {\r\n data[\"actorTypes\"] = [];\r\n for (let item of this.actorTypes)\r\n data[\"actorTypes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewsSupportAdminDto {\r\n id: number;\r\n displayDate: moment.Moment;\r\n visibleDate: moment.Moment | undefined;\r\n rows: NewsRowDto[] | undefined;\r\n actorTypes: ActorType[] | undefined;\r\n}\r\n\r\nexport class NewsRowDto implements INewsRowDto {\r\n culture!: Culture;\r\n summary!: string | undefined;\r\n body!: string | undefined;\r\n\r\n constructor(data?: INewsRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.culture = _data[\"culture\"];\r\n this.summary = _data[\"summary\"];\r\n this.body = _data[\"body\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewsRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewsRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"culture\"] = this.culture;\r\n data[\"summary\"] = this.summary;\r\n data[\"body\"] = this.body;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewsRowDto {\r\n culture: Culture;\r\n summary: string | undefined;\r\n body: string | undefined;\r\n}\r\n\r\nexport class QualityPointsVisualisation implements IQualityPointsVisualisation {\r\n rankingType!: RankingType;\r\n publishRuleId!: number | undefined;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n truckType!: TruckType;\r\n baseParameterPoints!: number;\r\n factoredParameterPoints!: number;\r\n factor!: number;\r\n subjectivePoints!: number;\r\n pricePoints!: number;\r\n totalPoints!: number;\r\n priceForRanking!: number;\r\n priceRankingForQP!: number;\r\n basePrice!: number;\r\n routeQP!: QualityPointsValuesModel | undefined;\r\n clientQP!: QualityPointsValuesModel | undefined;\r\n systemQP!: QualityPointsValuesModel | undefined;\r\n validQP!: QualityPointsValuesModel | undefined;\r\n ranking!: number;\r\n\r\n constructor(data?: IQualityPointsVisualisation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rankingType = _data[\"rankingType\"];\r\n this.publishRuleId = _data[\"publishRuleId\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.baseParameterPoints = _data[\"baseParameterPoints\"];\r\n this.factoredParameterPoints = _data[\"factoredParameterPoints\"];\r\n this.factor = _data[\"factor\"];\r\n this.subjectivePoints = _data[\"subjectivePoints\"];\r\n this.pricePoints = _data[\"pricePoints\"];\r\n this.totalPoints = _data[\"totalPoints\"];\r\n this.priceForRanking = _data[\"priceForRanking\"];\r\n this.priceRankingForQP = _data[\"priceRankingForQP\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.routeQP = _data[\"routeQP\"] ? QualityPointsValuesModel.fromJS(_data[\"routeQP\"]) : undefined;\r\n this.clientQP = _data[\"clientQP\"] ? QualityPointsValuesModel.fromJS(_data[\"clientQP\"]) : undefined;\r\n this.systemQP = _data[\"systemQP\"] ? QualityPointsValuesModel.fromJS(_data[\"systemQP\"]) : undefined;\r\n this.validQP = _data[\"validQP\"] ? QualityPointsValuesModel.fromJS(_data[\"validQP\"]) : undefined;\r\n this.ranking = _data[\"ranking\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsVisualisation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsVisualisation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rankingType\"] = this.rankingType;\r\n data[\"publishRuleId\"] = this.publishRuleId;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"baseParameterPoints\"] = this.baseParameterPoints;\r\n data[\"factoredParameterPoints\"] = this.factoredParameterPoints;\r\n data[\"factor\"] = this.factor;\r\n data[\"subjectivePoints\"] = this.subjectivePoints;\r\n data[\"pricePoints\"] = this.pricePoints;\r\n data[\"totalPoints\"] = this.totalPoints;\r\n data[\"priceForRanking\"] = this.priceForRanking;\r\n data[\"priceRankingForQP\"] = this.priceRankingForQP;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"routeQP\"] = this.routeQP ? this.routeQP.toJSON() : undefined;\r\n data[\"clientQP\"] = this.clientQP ? this.clientQP.toJSON() : undefined;\r\n data[\"systemQP\"] = this.systemQP ? this.systemQP.toJSON() : undefined;\r\n data[\"validQP\"] = this.validQP ? this.validQP.toJSON() : undefined;\r\n data[\"ranking\"] = this.ranking;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsVisualisation {\r\n rankingType: RankingType;\r\n publishRuleId: number | undefined;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n truckType: TruckType;\r\n baseParameterPoints: number;\r\n factoredParameterPoints: number;\r\n factor: number;\r\n subjectivePoints: number;\r\n pricePoints: number;\r\n totalPoints: number;\r\n priceForRanking: number;\r\n priceRankingForQP: number;\r\n basePrice: number;\r\n routeQP: QualityPointsValuesModel | undefined;\r\n clientQP: QualityPointsValuesModel | undefined;\r\n systemQP: QualityPointsValuesModel | undefined;\r\n validQP: QualityPointsValuesModel | undefined;\r\n ranking: number;\r\n}\r\n\r\nexport enum RankingType {\r\n Manual = 0,\r\n Route = 1,\r\n Client = 2,\r\n System = 3,\r\n NoLoads = 4,\r\n Price = 5,\r\n}\r\n\r\nexport class QualityPointsValuesModel implements IQualityPointsValuesModel {\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: Country | undefined;\r\n agreementPeriod!: string | undefined;\r\n agreementRouteId!: number;\r\n agreementId!: number;\r\n cargoTypeId!: number;\r\n truckTypeId!: number;\r\n clientId!: number;\r\n clientName!: string | undefined;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n unit!: string | undefined;\r\n numLoadsTotal!: number;\r\n numLoadsOffered!: number;\r\n numLoadsRejected!: number;\r\n numLoadsSelfBooked!: number;\r\n numLoadsLoaded!: number;\r\n numLoadsLoadedWithinRequestedTime!: number;\r\n numLoadsLoadedWithStatedTime!: number;\r\n numLoadsLoadedWithinStatedTime!: number;\r\n numLoadsDelivered!: number;\r\n numLoadsDeliveredWithStatedTime!: number;\r\n numLoadsDeliveredWithinStatedTime!: number;\r\n numLoadsDeliveredUsingApp!: number;\r\n partLoadsLoaded!: number;\r\n partLoadsOffered!: number;\r\n partLoadsRejected!: number;\r\n partLoadsLoadedWithinRequestedTime!: number;\r\n partLoadsLoadedWithStatedTime!: number;\r\n partLoadsLoadedWithinStatedTime!: number;\r\n partLoadsDelivered!: number;\r\n partLoadsDeliveredWithStatedTime!: number;\r\n partLoadsDeliveredWithinStatedTime!: number;\r\n partLoadsDeliveredUsingApp!: number;\r\n pointsLoadsLoaded!: number;\r\n pointsLoadsRejected!: number;\r\n pointsLoadsLoadedWithinRequestedTime!: number;\r\n pointsLoadsLoadedWithStatedTime!: number;\r\n pointsLoadsLoadedWithinStatedTime!: number;\r\n pointsLoadsDelivered!: number;\r\n pointsLoadsDeliveredWithStatedTime!: number;\r\n pointsLoadsDeliveredWithinStatedTime!: number;\r\n pointsLoadsDeliveredUsingApp!: number;\r\n pointsSubjective!: number;\r\n baseParameterPoints!: number;\r\n\r\n constructor(data?: IQualityPointsValuesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.agreementPeriod = _data[\"agreementPeriod\"];\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.cargoTypeId = _data[\"cargoTypeId\"];\r\n this.truckTypeId = _data[\"truckTypeId\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.unit = _data[\"unit\"];\r\n this.numLoadsTotal = _data[\"numLoadsTotal\"];\r\n this.numLoadsOffered = _data[\"numLoadsOffered\"];\r\n this.numLoadsRejected = _data[\"numLoadsRejected\"];\r\n this.numLoadsSelfBooked = _data[\"numLoadsSelfBooked\"];\r\n this.numLoadsLoaded = _data[\"numLoadsLoaded\"];\r\n this.numLoadsLoadedWithinRequestedTime = _data[\"numLoadsLoadedWithinRequestedTime\"];\r\n this.numLoadsLoadedWithStatedTime = _data[\"numLoadsLoadedWithStatedTime\"];\r\n this.numLoadsLoadedWithinStatedTime = _data[\"numLoadsLoadedWithinStatedTime\"];\r\n this.numLoadsDelivered = _data[\"numLoadsDelivered\"];\r\n this.numLoadsDeliveredWithStatedTime = _data[\"numLoadsDeliveredWithStatedTime\"];\r\n this.numLoadsDeliveredWithinStatedTime = _data[\"numLoadsDeliveredWithinStatedTime\"];\r\n this.numLoadsDeliveredUsingApp = _data[\"numLoadsDeliveredUsingApp\"];\r\n this.partLoadsLoaded = _data[\"partLoadsLoaded\"];\r\n this.partLoadsOffered = _data[\"partLoadsOffered\"];\r\n this.partLoadsRejected = _data[\"partLoadsRejected\"];\r\n this.partLoadsLoadedWithinRequestedTime = _data[\"partLoadsLoadedWithinRequestedTime\"];\r\n this.partLoadsLoadedWithStatedTime = _data[\"partLoadsLoadedWithStatedTime\"];\r\n this.partLoadsLoadedWithinStatedTime = _data[\"partLoadsLoadedWithinStatedTime\"];\r\n this.partLoadsDelivered = _data[\"partLoadsDelivered\"];\r\n this.partLoadsDeliveredWithStatedTime = _data[\"partLoadsDeliveredWithStatedTime\"];\r\n this.partLoadsDeliveredWithinStatedTime = _data[\"partLoadsDeliveredWithinStatedTime\"];\r\n this.partLoadsDeliveredUsingApp = _data[\"partLoadsDeliveredUsingApp\"];\r\n this.pointsLoadsLoaded = _data[\"pointsLoadsLoaded\"];\r\n this.pointsLoadsRejected = _data[\"pointsLoadsRejected\"];\r\n this.pointsLoadsLoadedWithinRequestedTime = _data[\"pointsLoadsLoadedWithinRequestedTime\"];\r\n this.pointsLoadsLoadedWithStatedTime = _data[\"pointsLoadsLoadedWithStatedTime\"];\r\n this.pointsLoadsLoadedWithinStatedTime = _data[\"pointsLoadsLoadedWithinStatedTime\"];\r\n this.pointsLoadsDelivered = _data[\"pointsLoadsDelivered\"];\r\n this.pointsLoadsDeliveredWithStatedTime = _data[\"pointsLoadsDeliveredWithStatedTime\"];\r\n this.pointsLoadsDeliveredWithinStatedTime = _data[\"pointsLoadsDeliveredWithinStatedTime\"];\r\n this.pointsLoadsDeliveredUsingApp = _data[\"pointsLoadsDeliveredUsingApp\"];\r\n this.pointsSubjective = _data[\"pointsSubjective\"];\r\n this.baseParameterPoints = _data[\"baseParameterPoints\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsValuesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsValuesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"agreementPeriod\"] = this.agreementPeriod;\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"cargoTypeId\"] = this.cargoTypeId;\r\n data[\"truckTypeId\"] = this.truckTypeId;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"unit\"] = this.unit;\r\n data[\"numLoadsTotal\"] = this.numLoadsTotal;\r\n data[\"numLoadsOffered\"] = this.numLoadsOffered;\r\n data[\"numLoadsRejected\"] = this.numLoadsRejected;\r\n data[\"numLoadsSelfBooked\"] = this.numLoadsSelfBooked;\r\n data[\"numLoadsLoaded\"] = this.numLoadsLoaded;\r\n data[\"numLoadsLoadedWithinRequestedTime\"] = this.numLoadsLoadedWithinRequestedTime;\r\n data[\"numLoadsLoadedWithStatedTime\"] = this.numLoadsLoadedWithStatedTime;\r\n data[\"numLoadsLoadedWithinStatedTime\"] = this.numLoadsLoadedWithinStatedTime;\r\n data[\"numLoadsDelivered\"] = this.numLoadsDelivered;\r\n data[\"numLoadsDeliveredWithStatedTime\"] = this.numLoadsDeliveredWithStatedTime;\r\n data[\"numLoadsDeliveredWithinStatedTime\"] = this.numLoadsDeliveredWithinStatedTime;\r\n data[\"numLoadsDeliveredUsingApp\"] = this.numLoadsDeliveredUsingApp;\r\n data[\"partLoadsLoaded\"] = this.partLoadsLoaded;\r\n data[\"partLoadsOffered\"] = this.partLoadsOffered;\r\n data[\"partLoadsRejected\"] = this.partLoadsRejected;\r\n data[\"partLoadsLoadedWithinRequestedTime\"] = this.partLoadsLoadedWithinRequestedTime;\r\n data[\"partLoadsLoadedWithStatedTime\"] = this.partLoadsLoadedWithStatedTime;\r\n data[\"partLoadsLoadedWithinStatedTime\"] = this.partLoadsLoadedWithinStatedTime;\r\n data[\"partLoadsDelivered\"] = this.partLoadsDelivered;\r\n data[\"partLoadsDeliveredWithStatedTime\"] = this.partLoadsDeliveredWithStatedTime;\r\n data[\"partLoadsDeliveredWithinStatedTime\"] = this.partLoadsDeliveredWithinStatedTime;\r\n data[\"partLoadsDeliveredUsingApp\"] = this.partLoadsDeliveredUsingApp;\r\n data[\"pointsLoadsLoaded\"] = this.pointsLoadsLoaded;\r\n data[\"pointsLoadsRejected\"] = this.pointsLoadsRejected;\r\n data[\"pointsLoadsLoadedWithinRequestedTime\"] = this.pointsLoadsLoadedWithinRequestedTime;\r\n data[\"pointsLoadsLoadedWithStatedTime\"] = this.pointsLoadsLoadedWithStatedTime;\r\n data[\"pointsLoadsLoadedWithinStatedTime\"] = this.pointsLoadsLoadedWithinStatedTime;\r\n data[\"pointsLoadsDelivered\"] = this.pointsLoadsDelivered;\r\n data[\"pointsLoadsDeliveredWithStatedTime\"] = this.pointsLoadsDeliveredWithStatedTime;\r\n data[\"pointsLoadsDeliveredWithinStatedTime\"] = this.pointsLoadsDeliveredWithinStatedTime;\r\n data[\"pointsLoadsDeliveredUsingApp\"] = this.pointsLoadsDeliveredUsingApp;\r\n data[\"pointsSubjective\"] = this.pointsSubjective;\r\n data[\"baseParameterPoints\"] = this.baseParameterPoints;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsValuesModel {\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: Country | undefined;\r\n agreementPeriod: string | undefined;\r\n agreementRouteId: number;\r\n agreementId: number;\r\n cargoTypeId: number;\r\n truckTypeId: number;\r\n clientId: number;\r\n clientName: string | undefined;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n unit: string | undefined;\r\n numLoadsTotal: number;\r\n numLoadsOffered: number;\r\n numLoadsRejected: number;\r\n numLoadsSelfBooked: number;\r\n numLoadsLoaded: number;\r\n numLoadsLoadedWithinRequestedTime: number;\r\n numLoadsLoadedWithStatedTime: number;\r\n numLoadsLoadedWithinStatedTime: number;\r\n numLoadsDelivered: number;\r\n numLoadsDeliveredWithStatedTime: number;\r\n numLoadsDeliveredWithinStatedTime: number;\r\n numLoadsDeliveredUsingApp: number;\r\n partLoadsLoaded: number;\r\n partLoadsOffered: number;\r\n partLoadsRejected: number;\r\n partLoadsLoadedWithinRequestedTime: number;\r\n partLoadsLoadedWithStatedTime: number;\r\n partLoadsLoadedWithinStatedTime: number;\r\n partLoadsDelivered: number;\r\n partLoadsDeliveredWithStatedTime: number;\r\n partLoadsDeliveredWithinStatedTime: number;\r\n partLoadsDeliveredUsingApp: number;\r\n pointsLoadsLoaded: number;\r\n pointsLoadsRejected: number;\r\n pointsLoadsLoadedWithinRequestedTime: number;\r\n pointsLoadsLoadedWithStatedTime: number;\r\n pointsLoadsLoadedWithinStatedTime: number;\r\n pointsLoadsDelivered: number;\r\n pointsLoadsDeliveredWithStatedTime: number;\r\n pointsLoadsDeliveredWithinStatedTime: number;\r\n pointsLoadsDeliveredUsingApp: number;\r\n pointsSubjective: number;\r\n baseParameterPoints: number;\r\n}\r\n\r\nexport class PerformanceQPWeightsDto implements IPerformanceQPWeightsDto {\r\n parameter!: PerformanceQPParameter;\r\n parameterName!: string | undefined;\r\n valueFrom!: number;\r\n valueTo!: number;\r\n points!: number;\r\n cargoType!: CargoType | undefined;\r\n\r\n constructor(data?: IPerformanceQPWeightsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parameter = _data[\"parameter\"];\r\n this.parameterName = _data[\"parameterName\"];\r\n this.valueFrom = _data[\"valueFrom\"];\r\n this.valueTo = _data[\"valueTo\"];\r\n this.points = _data[\"points\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PerformanceQPWeightsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PerformanceQPWeightsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parameter\"] = this.parameter;\r\n data[\"parameterName\"] = this.parameterName;\r\n data[\"valueFrom\"] = this.valueFrom;\r\n data[\"valueTo\"] = this.valueTo;\r\n data[\"points\"] = this.points;\r\n data[\"cargoType\"] = this.cargoType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPerformanceQPWeightsDto {\r\n parameter: PerformanceQPParameter;\r\n parameterName: string | undefined;\r\n valueFrom: number;\r\n valueTo: number;\r\n points: number;\r\n cargoType: CargoType | undefined;\r\n}\r\n\r\nexport enum PerformanceQPParameter {\r\n Price = 1,\r\n LoadedLoads = 2,\r\n RejectedLoads = 3,\r\n LoadedWithinRequestedTime = 4,\r\n LoadedWithStatedTime = 5,\r\n LoadedWithinStatedTime = 6,\r\n DeliveredWithTime = 7,\r\n DeliveredUsingApp = 8,\r\n}\r\n\r\nexport class SubjectiveQPWeightsDto implements ISubjectiveQPWeightsDto {\r\n parameterId!: number;\r\n parameterName!: string | undefined;\r\n minValue!: number;\r\n maxValue!: number;\r\n\r\n constructor(data?: ISubjectiveQPWeightsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parameterId = _data[\"parameterId\"];\r\n this.parameterName = _data[\"parameterName\"];\r\n this.minValue = _data[\"minValue\"];\r\n this.maxValue = _data[\"maxValue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SubjectiveQPWeightsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SubjectiveQPWeightsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parameterId\"] = this.parameterId;\r\n data[\"parameterName\"] = this.parameterName;\r\n data[\"minValue\"] = this.minValue;\r\n data[\"maxValue\"] = this.maxValue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISubjectiveQPWeightsDto {\r\n parameterId: number;\r\n parameterName: string | undefined;\r\n minValue: number;\r\n maxValue: number;\r\n}\r\n\r\nexport class CountriesSupportAdminSearchCriteria implements ICountriesSupportAdminSearchCriteria {\r\n pickup!: boolean;\r\n countries!: Country[] | undefined;\r\n\r\n constructor(data?: ICountriesSupportAdminSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickup = _data[\"pickup\"];\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountriesSupportAdminSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountriesSupportAdminSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickup\"] = this.pickup;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountriesSupportAdminSearchCriteria {\r\n pickup: boolean;\r\n countries: Country[] | undefined;\r\n}\r\n\r\nexport class MegaReportDatasetDto implements IMegaReportDatasetDto {\r\n data!: LoadsAndMoneyDto[] | undefined;\r\n yearForDisplay!: number | undefined;\r\n clientName!: string | undefined;\r\n supplierId!: number | undefined;\r\n cargoType!: CargoType | undefined;\r\n truckType!: TruckType | undefined;\r\n unit!: string | undefined;\r\n bookingFeeType!: FeeType | undefined;\r\n loadStatus!: LoadStatus | undefined;\r\n fromCountry!: Country | undefined;\r\n toCountry!: Country | undefined;\r\n fromCounty!: string | undefined;\r\n toCounty!: string | undefined;\r\n deviationCause!: DeviationCause | undefined;\r\n otherPriceCause!: OtherPriceCause | undefined;\r\n numExtraStops!: number | undefined;\r\n\r\n constructor(data?: IMegaReportDatasetDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(LoadsAndMoneyDto.fromJS(item));\r\n }\r\n this.yearForDisplay = _data[\"yearForDisplay\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.unit = _data[\"unit\"];\r\n this.bookingFeeType = _data[\"bookingFeeType\"];\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.fromCountry = _data[\"fromCountry\"];\r\n this.toCountry = _data[\"toCountry\"];\r\n this.fromCounty = _data[\"fromCounty\"];\r\n this.toCounty = _data[\"toCounty\"];\r\n this.deviationCause = _data[\"deviationCause\"];\r\n this.otherPriceCause = _data[\"otherPriceCause\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MegaReportDatasetDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MegaReportDatasetDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item.toJSON());\r\n }\r\n data[\"yearForDisplay\"] = this.yearForDisplay;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"unit\"] = this.unit;\r\n data[\"bookingFeeType\"] = this.bookingFeeType;\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"fromCountry\"] = this.fromCountry;\r\n data[\"toCountry\"] = this.toCountry;\r\n data[\"fromCounty\"] = this.fromCounty;\r\n data[\"toCounty\"] = this.toCounty;\r\n data[\"deviationCause\"] = this.deviationCause;\r\n data[\"otherPriceCause\"] = this.otherPriceCause;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMegaReportDatasetDto {\r\n data: LoadsAndMoneyDto[] | undefined;\r\n yearForDisplay: number | undefined;\r\n clientName: string | undefined;\r\n supplierId: number | undefined;\r\n cargoType: CargoType | undefined;\r\n truckType: TruckType | undefined;\r\n unit: string | undefined;\r\n bookingFeeType: FeeType | undefined;\r\n loadStatus: LoadStatus | undefined;\r\n fromCountry: Country | undefined;\r\n toCountry: Country | undefined;\r\n fromCounty: string | undefined;\r\n toCounty: string | undefined;\r\n deviationCause: DeviationCause | undefined;\r\n otherPriceCause: OtherPriceCause | undefined;\r\n numExtraStops: number | undefined;\r\n}\r\n\r\nexport class LoadsAndMoneyDto implements ILoadsAndMoneyDto {\r\n date!: moment.Moment;\r\n loads!: number;\r\n containers!: number;\r\n bookingFees!: number;\r\n freightPrices!: number;\r\n avgFreightPrice!: number;\r\n avgFreightPricePerVolume!: number;\r\n volume!: number;\r\n numDelivered!: number;\r\n percentDelivered!: number;\r\n numBookedPickup!: number;\r\n percentBookedPickup!: number;\r\n numBookedDelivery!: number;\r\n percentBookedDelivery!: number;\r\n numHasDistanceLoad!: number;\r\n percentHasDistanceLoad!: number;\r\n numHasDistanceRoute!: number;\r\n percentHasDistanceRoute!: number;\r\n numEconomy!: number;\r\n percentEconomy!: number;\r\n numBroadcast!: number;\r\n percentBroadcast!: number;\r\n numHasOtherPrice!: number;\r\n percentHasOtherPrice!: number;\r\n\r\n constructor(data?: ILoadsAndMoneyDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.loads = _data[\"loads\"];\r\n this.containers = _data[\"containers\"];\r\n this.bookingFees = _data[\"bookingFees\"];\r\n this.freightPrices = _data[\"freightPrices\"];\r\n this.avgFreightPrice = _data[\"avgFreightPrice\"];\r\n this.avgFreightPricePerVolume = _data[\"avgFreightPricePerVolume\"];\r\n this.volume = _data[\"volume\"];\r\n this.numDelivered = _data[\"numDelivered\"];\r\n this.percentDelivered = _data[\"percentDelivered\"];\r\n this.numBookedPickup = _data[\"numBookedPickup\"];\r\n this.percentBookedPickup = _data[\"percentBookedPickup\"];\r\n this.numBookedDelivery = _data[\"numBookedDelivery\"];\r\n this.percentBookedDelivery = _data[\"percentBookedDelivery\"];\r\n this.numHasDistanceLoad = _data[\"numHasDistanceLoad\"];\r\n this.percentHasDistanceLoad = _data[\"percentHasDistanceLoad\"];\r\n this.numHasDistanceRoute = _data[\"numHasDistanceRoute\"];\r\n this.percentHasDistanceRoute = _data[\"percentHasDistanceRoute\"];\r\n this.numEconomy = _data[\"numEconomy\"];\r\n this.percentEconomy = _data[\"percentEconomy\"];\r\n this.numBroadcast = _data[\"numBroadcast\"];\r\n this.percentBroadcast = _data[\"percentBroadcast\"];\r\n this.numHasOtherPrice = _data[\"numHasOtherPrice\"];\r\n this.percentHasOtherPrice = _data[\"percentHasOtherPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadsAndMoneyDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadsAndMoneyDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"loads\"] = this.loads;\r\n data[\"containers\"] = this.containers;\r\n data[\"bookingFees\"] = this.bookingFees;\r\n data[\"freightPrices\"] = this.freightPrices;\r\n data[\"avgFreightPrice\"] = this.avgFreightPrice;\r\n data[\"avgFreightPricePerVolume\"] = this.avgFreightPricePerVolume;\r\n data[\"volume\"] = this.volume;\r\n data[\"numDelivered\"] = this.numDelivered;\r\n data[\"percentDelivered\"] = this.percentDelivered;\r\n data[\"numBookedPickup\"] = this.numBookedPickup;\r\n data[\"percentBookedPickup\"] = this.percentBookedPickup;\r\n data[\"numBookedDelivery\"] = this.numBookedDelivery;\r\n data[\"percentBookedDelivery\"] = this.percentBookedDelivery;\r\n data[\"numHasDistanceLoad\"] = this.numHasDistanceLoad;\r\n data[\"percentHasDistanceLoad\"] = this.percentHasDistanceLoad;\r\n data[\"numHasDistanceRoute\"] = this.numHasDistanceRoute;\r\n data[\"percentHasDistanceRoute\"] = this.percentHasDistanceRoute;\r\n data[\"numEconomy\"] = this.numEconomy;\r\n data[\"percentEconomy\"] = this.percentEconomy;\r\n data[\"numBroadcast\"] = this.numBroadcast;\r\n data[\"percentBroadcast\"] = this.percentBroadcast;\r\n data[\"numHasOtherPrice\"] = this.numHasOtherPrice;\r\n data[\"percentHasOtherPrice\"] = this.percentHasOtherPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadsAndMoneyDto {\r\n date: moment.Moment;\r\n loads: number;\r\n containers: number;\r\n bookingFees: number;\r\n freightPrices: number;\r\n avgFreightPrice: number;\r\n avgFreightPricePerVolume: number;\r\n volume: number;\r\n numDelivered: number;\r\n percentDelivered: number;\r\n numBookedPickup: number;\r\n percentBookedPickup: number;\r\n numBookedDelivery: number;\r\n percentBookedDelivery: number;\r\n numHasDistanceLoad: number;\r\n percentHasDistanceLoad: number;\r\n numHasDistanceRoute: number;\r\n percentHasDistanceRoute: number;\r\n numEconomy: number;\r\n percentEconomy: number;\r\n numBroadcast: number;\r\n percentBroadcast: number;\r\n numHasOtherPrice: number;\r\n percentHasOtherPrice: number;\r\n}\r\n\r\nexport enum DeviationCause {\r\n Forced = 1,\r\n Price = 2,\r\n DeliveryTime = 3,\r\n SpotTender = 4,\r\n}\r\n\r\nexport enum OtherPriceCause {\r\n Express = 1,\r\n ReturnShipping = 2,\r\n MissingAgreement = 3,\r\n SpotTender = 4,\r\n}\r\n\r\nexport class MegaReportSearchCriteria implements IMegaReportSearchCriteria {\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n fromCountries!: Country[] | undefined;\r\n toCountries!: Country[] | undefined;\r\n fromCounties!: string[] | undefined;\r\n toCounties!: string[] | undefined;\r\n accumulate!: boolean;\r\n monthsInGroup!: number;\r\n clientIds!: number[] | undefined;\r\n supplierIds!: number[] | undefined;\r\n cargoTypes!: CargoType[] | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n units!: string[] | undefined;\r\n splitBookingFeeType!: boolean;\r\n numExtraStops!: number[] | undefined;\r\n loadStatuses!: LoadStatus[] | undefined;\r\n deviationCauses!: (DeviationCause | undefined)[] | undefined;\r\n otherPriceCauses!: (OtherPriceCause | undefined)[] | undefined;\r\n stackYears!: boolean;\r\n\r\n constructor(data?: IMegaReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"fromCountries\"])) {\r\n this.fromCountries = [] as any;\r\n for (let item of _data[\"fromCountries\"])\r\n this.fromCountries!.push(item);\r\n }\r\n if (Array.isArray(_data[\"toCountries\"])) {\r\n this.toCountries = [] as any;\r\n for (let item of _data[\"toCountries\"])\r\n this.toCountries!.push(item);\r\n }\r\n if (Array.isArray(_data[\"fromCounties\"])) {\r\n this.fromCounties = [] as any;\r\n for (let item of _data[\"fromCounties\"])\r\n this.fromCounties!.push(item);\r\n }\r\n if (Array.isArray(_data[\"toCounties\"])) {\r\n this.toCounties = [] as any;\r\n for (let item of _data[\"toCounties\"])\r\n this.toCounties!.push(item);\r\n }\r\n this.accumulate = _data[\"accumulate\"];\r\n this.monthsInGroup = _data[\"monthsInGroup\"];\r\n if (Array.isArray(_data[\"clientIds\"])) {\r\n this.clientIds = [] as any;\r\n for (let item of _data[\"clientIds\"])\r\n this.clientIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"supplierIds\"])) {\r\n this.supplierIds = [] as any;\r\n for (let item of _data[\"supplierIds\"])\r\n this.supplierIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"cargoTypes\"])) {\r\n this.cargoTypes = [] as any;\r\n for (let item of _data[\"cargoTypes\"])\r\n this.cargoTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(item);\r\n }\r\n this.splitBookingFeeType = _data[\"splitBookingFeeType\"];\r\n if (Array.isArray(_data[\"numExtraStops\"])) {\r\n this.numExtraStops = [] as any;\r\n for (let item of _data[\"numExtraStops\"])\r\n this.numExtraStops!.push(item);\r\n }\r\n if (Array.isArray(_data[\"loadStatuses\"])) {\r\n this.loadStatuses = [] as any;\r\n for (let item of _data[\"loadStatuses\"])\r\n this.loadStatuses!.push(item);\r\n }\r\n if (Array.isArray(_data[\"deviationCauses\"])) {\r\n this.deviationCauses = [] as any;\r\n for (let item of _data[\"deviationCauses\"])\r\n this.deviationCauses!.push(item);\r\n }\r\n if (Array.isArray(_data[\"otherPriceCauses\"])) {\r\n this.otherPriceCauses = [] as any;\r\n for (let item of _data[\"otherPriceCauses\"])\r\n this.otherPriceCauses!.push(item);\r\n }\r\n this.stackYears = _data[\"stackYears\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MegaReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MegaReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.fromCountries)) {\r\n data[\"fromCountries\"] = [];\r\n for (let item of this.fromCountries)\r\n data[\"fromCountries\"].push(item);\r\n }\r\n if (Array.isArray(this.toCountries)) {\r\n data[\"toCountries\"] = [];\r\n for (let item of this.toCountries)\r\n data[\"toCountries\"].push(item);\r\n }\r\n if (Array.isArray(this.fromCounties)) {\r\n data[\"fromCounties\"] = [];\r\n for (let item of this.fromCounties)\r\n data[\"fromCounties\"].push(item);\r\n }\r\n if (Array.isArray(this.toCounties)) {\r\n data[\"toCounties\"] = [];\r\n for (let item of this.toCounties)\r\n data[\"toCounties\"].push(item);\r\n }\r\n data[\"accumulate\"] = this.accumulate;\r\n data[\"monthsInGroup\"] = this.monthsInGroup;\r\n if (Array.isArray(this.clientIds)) {\r\n data[\"clientIds\"] = [];\r\n for (let item of this.clientIds)\r\n data[\"clientIds\"].push(item);\r\n }\r\n if (Array.isArray(this.supplierIds)) {\r\n data[\"supplierIds\"] = [];\r\n for (let item of this.supplierIds)\r\n data[\"supplierIds\"].push(item);\r\n }\r\n if (Array.isArray(this.cargoTypes)) {\r\n data[\"cargoTypes\"] = [];\r\n for (let item of this.cargoTypes)\r\n data[\"cargoTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item);\r\n }\r\n data[\"splitBookingFeeType\"] = this.splitBookingFeeType;\r\n if (Array.isArray(this.numExtraStops)) {\r\n data[\"numExtraStops\"] = [];\r\n for (let item of this.numExtraStops)\r\n data[\"numExtraStops\"].push(item);\r\n }\r\n if (Array.isArray(this.loadStatuses)) {\r\n data[\"loadStatuses\"] = [];\r\n for (let item of this.loadStatuses)\r\n data[\"loadStatuses\"].push(item);\r\n }\r\n if (Array.isArray(this.deviationCauses)) {\r\n data[\"deviationCauses\"] = [];\r\n for (let item of this.deviationCauses)\r\n data[\"deviationCauses\"].push(item);\r\n }\r\n if (Array.isArray(this.otherPriceCauses)) {\r\n data[\"otherPriceCauses\"] = [];\r\n for (let item of this.otherPriceCauses)\r\n data[\"otherPriceCauses\"].push(item);\r\n }\r\n data[\"stackYears\"] = this.stackYears;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMegaReportSearchCriteria {\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n fromCountries: Country[] | undefined;\r\n toCountries: Country[] | undefined;\r\n fromCounties: string[] | undefined;\r\n toCounties: string[] | undefined;\r\n accumulate: boolean;\r\n monthsInGroup: number;\r\n clientIds: number[] | undefined;\r\n supplierIds: number[] | undefined;\r\n cargoTypes: CargoType[] | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n units: string[] | undefined;\r\n splitBookingFeeType: boolean;\r\n numExtraStops: number[] | undefined;\r\n loadStatuses: LoadStatus[] | undefined;\r\n deviationCauses: (DeviationCause | undefined)[] | undefined;\r\n otherPriceCauses: (OtherPriceCause | undefined)[] | undefined;\r\n stackYears: boolean;\r\n}\r\n\r\nexport class MegaReportExportDto implements IMegaReportExportDto {\r\n title!: string | undefined;\r\n rowHeaders!: string[] | undefined;\r\n columns!: MegaReportExportColumnDto[] | undefined;\r\n\r\n constructor(data?: IMegaReportExportDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n if (Array.isArray(_data[\"rowHeaders\"])) {\r\n this.rowHeaders = [] as any;\r\n for (let item of _data[\"rowHeaders\"])\r\n this.rowHeaders!.push(item);\r\n }\r\n if (Array.isArray(_data[\"columns\"])) {\r\n this.columns = [] as any;\r\n for (let item of _data[\"columns\"])\r\n this.columns!.push(MegaReportExportColumnDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): MegaReportExportDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MegaReportExportDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n if (Array.isArray(this.rowHeaders)) {\r\n data[\"rowHeaders\"] = [];\r\n for (let item of this.rowHeaders)\r\n data[\"rowHeaders\"].push(item);\r\n }\r\n if (Array.isArray(this.columns)) {\r\n data[\"columns\"] = [];\r\n for (let item of this.columns)\r\n data[\"columns\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMegaReportExportDto {\r\n title: string | undefined;\r\n rowHeaders: string[] | undefined;\r\n columns: MegaReportExportColumnDto[] | undefined;\r\n}\r\n\r\nexport class MegaReportExportColumnDto implements IMegaReportExportColumnDto {\r\n heading!: string | undefined;\r\n values!: number[] | undefined;\r\n\r\n constructor(data?: IMegaReportExportColumnDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.heading = _data[\"heading\"];\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): MegaReportExportColumnDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MegaReportExportColumnDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"heading\"] = this.heading;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMegaReportExportColumnDto {\r\n heading: string | undefined;\r\n values: number[] | undefined;\r\n}\r\n\r\nexport class ActorRegDto implements IActorRegDto {\r\n regDate!: moment.Moment | undefined;\r\n actorsCount!: number;\r\n actors!: ActorAddedInfoDto[] | undefined;\r\n\r\n constructor(data?: IActorRegDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.actorsCount = _data[\"actorsCount\"];\r\n if (Array.isArray(_data[\"actors\"])) {\r\n this.actors = [] as any;\r\n for (let item of _data[\"actors\"])\r\n this.actors!.push(ActorAddedInfoDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorRegDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorRegDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"actorsCount\"] = this.actorsCount;\r\n if (Array.isArray(this.actors)) {\r\n data[\"actors\"] = [];\r\n for (let item of this.actors)\r\n data[\"actors\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorRegDto {\r\n regDate: moment.Moment | undefined;\r\n actorsCount: number;\r\n actors: ActorAddedInfoDto[] | undefined;\r\n}\r\n\r\nexport class ActorAddedInfoDto implements IActorAddedInfoDto {\r\n name!: string | undefined;\r\n country!: Country;\r\n regDate!: moment.Moment | undefined;\r\n actorType!: ActorType;\r\n\r\n constructor(data?: IActorAddedInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.country = _data[\"country\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.actorType = _data[\"actorType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorAddedInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorAddedInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"country\"] = this.country;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"actorType\"] = this.actorType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorAddedInfoDto {\r\n name: string | undefined;\r\n country: Country;\r\n regDate: moment.Moment | undefined;\r\n actorType: ActorType;\r\n}\r\n\r\nexport class ActorSearchCriteria implements IActorSearchCriteria {\r\n actorType!: ActorType | undefined;\r\n country!: Country | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: IActorSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorType = _data[\"actorType\"];\r\n this.country = _data[\"country\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorType\"] = this.actorType;\r\n data[\"country\"] = this.country;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorSearchCriteria {\r\n actorType: ActorType | undefined;\r\n country: Country | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class HeatMapSearchCriteria implements IHeatMapSearchCriteria {\r\n clientId!: number;\r\n units!: string[] | undefined;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n hoursPerGroup!: number;\r\n\r\n constructor(data?: IHeatMapSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n if (Array.isArray(_data[\"units\"])) {\r\n this.units = [] as any;\r\n for (let item of _data[\"units\"])\r\n this.units!.push(item);\r\n }\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.hoursPerGroup = _data[\"hoursPerGroup\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeatMapSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeatMapSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n if (Array.isArray(this.units)) {\r\n data[\"units\"] = [];\r\n for (let item of this.units)\r\n data[\"units\"].push(item);\r\n }\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"hoursPerGroup\"] = this.hoursPerGroup;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeatMapSearchCriteria {\r\n clientId: number;\r\n units: string[] | undefined;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n hoursPerGroup: number;\r\n}\r\n\r\nexport class ActiveUsersNowDto implements IActiveUsersNowDto {\r\n name!: string | undefined;\r\n integrationUser!: boolean;\r\n actorType!: ActorType;\r\n\r\n constructor(data?: IActiveUsersNowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.integrationUser = _data[\"integrationUser\"];\r\n this.actorType = _data[\"actorType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActiveUsersNowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActiveUsersNowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"integrationUser\"] = this.integrationUser;\r\n data[\"actorType\"] = this.actorType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActiveUsersNowDto {\r\n name: string | undefined;\r\n integrationUser: boolean;\r\n actorType: ActorType;\r\n}\r\n\r\nexport class ActiveUsersStatisticsDto implements IActiveUsersStatisticsDto {\r\n date!: moment.Moment;\r\n activeUsers!: number;\r\n activeClients!: number;\r\n activeSuppliers!: number;\r\n activeCustomers!: number;\r\n activeTerminals!: number;\r\n activeIntegrationUsers!: number;\r\n\r\n constructor(data?: IActiveUsersStatisticsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.activeUsers = _data[\"activeUsers\"];\r\n this.activeClients = _data[\"activeClients\"];\r\n this.activeSuppliers = _data[\"activeSuppliers\"];\r\n this.activeCustomers = _data[\"activeCustomers\"];\r\n this.activeTerminals = _data[\"activeTerminals\"];\r\n this.activeIntegrationUsers = _data[\"activeIntegrationUsers\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActiveUsersStatisticsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActiveUsersStatisticsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"activeUsers\"] = this.activeUsers;\r\n data[\"activeClients\"] = this.activeClients;\r\n data[\"activeSuppliers\"] = this.activeSuppliers;\r\n data[\"activeCustomers\"] = this.activeCustomers;\r\n data[\"activeTerminals\"] = this.activeTerminals;\r\n data[\"activeIntegrationUsers\"] = this.activeIntegrationUsers;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActiveUsersStatisticsDto {\r\n date: moment.Moment;\r\n activeUsers: number;\r\n activeClients: number;\r\n activeSuppliers: number;\r\n activeCustomers: number;\r\n activeTerminals: number;\r\n activeIntegrationUsers: number;\r\n}\r\n\r\nexport class ActiveUsersStatisticsSearchCriteria implements IActiveUsersStatisticsSearchCriteria {\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n precision!: ActiveUsersStatisticsDatePrecision;\r\n\r\n constructor(data?: IActiveUsersStatisticsSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.precision = _data[\"precision\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActiveUsersStatisticsSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActiveUsersStatisticsSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"precision\"] = this.precision;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActiveUsersStatisticsSearchCriteria {\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n precision: ActiveUsersStatisticsDatePrecision;\r\n}\r\n\r\nexport enum ActiveUsersStatisticsDatePrecision {\r\n Hours = 1,\r\n Days = 2,\r\n Months = 3,\r\n}\r\n\r\nexport class SupportAdminUserListDto implements ISupportAdminUserListDto {\r\n loadUserId!: number;\r\n userName!: string | undefined;\r\n name!: string | undefined;\r\n actorId!: number;\r\n actorName!: string | undefined;\r\n active!: boolean;\r\n email!: string | undefined;\r\n mobileNo!: string | undefined;\r\n userLevel!: UserLevel;\r\n regDate!: moment.Moment | undefined;\r\n cargoTypes!: CargoType[] | undefined;\r\n actorType!: ActorType;\r\n country!: Country;\r\n hasAnyEmailSubscriptions!: boolean;\r\n\r\n constructor(data?: ISupportAdminUserListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.userName = _data[\"userName\"];\r\n this.name = _data[\"name\"];\r\n this.actorId = _data[\"actorId\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.active = _data[\"active\"];\r\n this.email = _data[\"email\"];\r\n this.mobileNo = _data[\"mobileNo\"];\r\n this.userLevel = _data[\"userLevel\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"cargoTypes\"])) {\r\n this.cargoTypes = [] as any;\r\n for (let item of _data[\"cargoTypes\"])\r\n this.cargoTypes!.push(item);\r\n }\r\n this.actorType = _data[\"actorType\"];\r\n this.country = _data[\"country\"];\r\n this.hasAnyEmailSubscriptions = _data[\"hasAnyEmailSubscriptions\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportAdminUserListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportAdminUserListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"userName\"] = this.userName;\r\n data[\"name\"] = this.name;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"active\"] = this.active;\r\n data[\"email\"] = this.email;\r\n data[\"mobileNo\"] = this.mobileNo;\r\n data[\"userLevel\"] = this.userLevel;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.cargoTypes)) {\r\n data[\"cargoTypes\"] = [];\r\n for (let item of this.cargoTypes)\r\n data[\"cargoTypes\"].push(item);\r\n }\r\n data[\"actorType\"] = this.actorType;\r\n data[\"country\"] = this.country;\r\n data[\"hasAnyEmailSubscriptions\"] = this.hasAnyEmailSubscriptions;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportAdminUserListDto {\r\n loadUserId: number;\r\n userName: string | undefined;\r\n name: string | undefined;\r\n actorId: number;\r\n actorName: string | undefined;\r\n active: boolean;\r\n email: string | undefined;\r\n mobileNo: string | undefined;\r\n userLevel: UserLevel;\r\n regDate: moment.Moment | undefined;\r\n cargoTypes: CargoType[] | undefined;\r\n actorType: ActorType;\r\n country: Country;\r\n hasAnyEmailSubscriptions: boolean;\r\n}\r\n\r\nexport class UserDto implements IUserDto {\r\n actorId!: number;\r\n loadUserId!: number;\r\n username!: string | undefined;\r\n name!: string | undefined;\r\n isEnabled!: boolean;\r\n lockoutEnd!: moment.Moment | undefined;\r\n accessFailedCount!: number;\r\n email!: string | undefined;\r\n mobileNo!: string | undefined;\r\n culture!: Culture;\r\n lastActivityDate!: moment.Moment | undefined;\r\n createdDate!: moment.Moment | undefined;\r\n internalNote!: string | undefined;\r\n userLevel!: UserLevel;\r\n actorInvoiceInformationId!: number | undefined;\r\n\r\n constructor(data?: IUserDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.loadUserId = _data[\"loadUserId\"];\r\n this.username = _data[\"username\"];\r\n this.name = _data[\"name\"];\r\n this.isEnabled = _data[\"isEnabled\"];\r\n this.lockoutEnd = _data[\"lockoutEnd\"] ? moment.parseZone(_data[\"lockoutEnd\"].toString()) : undefined;\r\n this.accessFailedCount = _data[\"accessFailedCount\"];\r\n this.email = _data[\"email\"];\r\n this.mobileNo = _data[\"mobileNo\"];\r\n this.culture = _data[\"culture\"];\r\n this.lastActivityDate = _data[\"lastActivityDate\"] ? moment.parseZone(_data[\"lastActivityDate\"].toString()) : undefined;\r\n this.createdDate = _data[\"createdDate\"] ? moment.parseZone(_data[\"createdDate\"].toString()) : undefined;\r\n this.internalNote = _data[\"internalNote\"];\r\n this.userLevel = _data[\"userLevel\"];\r\n this.actorInvoiceInformationId = _data[\"actorInvoiceInformationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"loadUserId\"] = this.loadUserId;\r\n data[\"username\"] = this.username;\r\n data[\"name\"] = this.name;\r\n data[\"isEnabled\"] = this.isEnabled;\r\n data[\"lockoutEnd\"] = this.lockoutEnd ? this.lockoutEnd.toISOString(true) : undefined;\r\n data[\"accessFailedCount\"] = this.accessFailedCount;\r\n data[\"email\"] = this.email;\r\n data[\"mobileNo\"] = this.mobileNo;\r\n data[\"culture\"] = this.culture;\r\n data[\"lastActivityDate\"] = this.lastActivityDate ? this.lastActivityDate.toISOString(true) : undefined;\r\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString(true) : undefined;\r\n data[\"internalNote\"] = this.internalNote;\r\n data[\"userLevel\"] = this.userLevel;\r\n data[\"actorInvoiceInformationId\"] = this.actorInvoiceInformationId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserDto {\r\n actorId: number;\r\n loadUserId: number;\r\n username: string | undefined;\r\n name: string | undefined;\r\n isEnabled: boolean;\r\n lockoutEnd: moment.Moment | undefined;\r\n accessFailedCount: number;\r\n email: string | undefined;\r\n mobileNo: string | undefined;\r\n culture: Culture;\r\n lastActivityDate: moment.Moment | undefined;\r\n createdDate: moment.Moment | undefined;\r\n internalNote: string | undefined;\r\n userLevel: UserLevel;\r\n actorInvoiceInformationId: number | undefined;\r\n}\r\n\r\nexport class BackgroundTaskStatusDto implements IBackgroundTaskStatusDto {\r\n name!: string | undefined;\r\n previousFireTime!: moment.Moment | undefined;\r\n nextFireTime!: moment.Moment | undefined;\r\n triggerState!: TriggerState;\r\n repeatInterval!: number;\r\n taskId!: number;\r\n startAt!: moment.Moment | undefined;\r\n timesTriggered!: number;\r\n\r\n constructor(data?: IBackgroundTaskStatusDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.previousFireTime = _data[\"previousFireTime\"] ? moment.parseZone(_data[\"previousFireTime\"].toString()) : undefined;\r\n this.nextFireTime = _data[\"nextFireTime\"] ? moment.parseZone(_data[\"nextFireTime\"].toString()) : undefined;\r\n this.triggerState = _data[\"triggerState\"];\r\n this.repeatInterval = _data[\"repeatInterval\"];\r\n this.taskId = _data[\"taskId\"];\r\n this.startAt = _data[\"startAt\"] ? moment.parseZone(_data[\"startAt\"].toString()) : undefined;\r\n this.timesTriggered = _data[\"timesTriggered\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BackgroundTaskStatusDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BackgroundTaskStatusDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"previousFireTime\"] = this.previousFireTime ? this.previousFireTime.toISOString(true) : undefined;\r\n data[\"nextFireTime\"] = this.nextFireTime ? this.nextFireTime.toISOString(true) : undefined;\r\n data[\"triggerState\"] = this.triggerState;\r\n data[\"repeatInterval\"] = this.repeatInterval;\r\n data[\"taskId\"] = this.taskId;\r\n data[\"startAt\"] = this.startAt ? this.startAt.toISOString(true) : undefined;\r\n data[\"timesTriggered\"] = this.timesTriggered;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBackgroundTaskStatusDto {\r\n name: string | undefined;\r\n previousFireTime: moment.Moment | undefined;\r\n nextFireTime: moment.Moment | undefined;\r\n triggerState: TriggerState;\r\n repeatInterval: number;\r\n taskId: number;\r\n startAt: moment.Moment | undefined;\r\n timesTriggered: number;\r\n}\r\n\r\n/** All trigger states known to Scheduler. */\r\nexport enum TriggerState {\r\n Normal = 0,\r\n Paused = 1,\r\n Complete = 2,\r\n Error = 3,\r\n Blocked = 4,\r\n None = 5,\r\n}\r\n\r\nexport class BackgroundTaskDto implements IBackgroundTaskDto {\r\n taskId!: number;\r\n enabled!: boolean;\r\n\r\n constructor(data?: IBackgroundTaskDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.taskId = _data[\"taskId\"];\r\n this.enabled = _data[\"enabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BackgroundTaskDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BackgroundTaskDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"taskId\"] = this.taskId;\r\n data[\"enabled\"] = this.enabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBackgroundTaskDto {\r\n taskId: number;\r\n enabled: boolean;\r\n}\r\n\r\nexport class SystemStatusDto implements ISystemStatusDto {\r\n locationAndAgreementRouteLastModified!: moment.Moment;\r\n broadcast!: BroadcastDto | undefined;\r\n\r\n constructor(data?: ISystemStatusDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationAndAgreementRouteLastModified = _data[\"locationAndAgreementRouteLastModified\"] ? moment.parseZone(_data[\"locationAndAgreementRouteLastModified\"].toString()) : undefined;\r\n this.broadcast = _data[\"broadcast\"] ? BroadcastDto.fromJS(_data[\"broadcast\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SystemStatusDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SystemStatusDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationAndAgreementRouteLastModified\"] = this.locationAndAgreementRouteLastModified ? this.locationAndAgreementRouteLastModified.toISOString(true) : undefined;\r\n data[\"broadcast\"] = this.broadcast ? this.broadcast.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISystemStatusDto {\r\n locationAndAgreementRouteLastModified: moment.Moment;\r\n broadcast: BroadcastDto | undefined;\r\n}\r\n\r\nexport class BroadcastDto implements IBroadcastDto {\r\n message!: { [key: string]: string; } | undefined;\r\n secondsLeft!: number | undefined;\r\n\r\n constructor(data?: IBroadcastDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"message\"]) {\r\n this.message = {} as any;\r\n for (let key in _data[\"message\"]) {\r\n if (_data[\"message\"].hasOwnProperty(key))\r\n (this.message)![key] = _data[\"message\"][key];\r\n }\r\n }\r\n this.secondsLeft = _data[\"secondsLeft\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BroadcastDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BroadcastDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.message) {\r\n data[\"message\"] = {};\r\n for (let key in this.message) {\r\n if (this.message.hasOwnProperty(key))\r\n (data[\"message\"])[key] = (this.message)[key];\r\n }\r\n }\r\n data[\"secondsLeft\"] = this.secondsLeft;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBroadcastDto {\r\n message: { [key: string]: string; } | undefined;\r\n secondsLeft: number | undefined;\r\n}\r\n\r\nexport class TimeZoneDto implements ITimeZoneDto {\r\n name!: string;\r\n timeZone!: TimeZone;\r\n\r\n constructor(data?: ITimeZoneDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TimeZoneDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TimeZoneDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITimeZoneDto {\r\n name: string;\r\n timeZone: TimeZone;\r\n}\r\n\r\nexport class CountyWithZipcodeDto implements ICountyWithZipcodeDto {\r\n id!: number;\r\n zipcode!: string | undefined;\r\n county!: string | undefined;\r\n\r\n constructor(data?: ICountyWithZipcodeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.zipcode = _data[\"zipcode\"];\r\n this.county = _data[\"county\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountyWithZipcodeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountyWithZipcodeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"zipcode\"] = this.zipcode;\r\n data[\"county\"] = this.county;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountyWithZipcodeDto {\r\n id: number;\r\n zipcode: string | undefined;\r\n county: string | undefined;\r\n}\r\n\r\nexport class PriceListDto implements IPriceListDto {\r\n type!: FeeType;\r\n currency!: Currency;\r\n value!: number | undefined;\r\n\r\n constructor(data?: IPriceListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.currency = _data[\"currency\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"currency\"] = this.currency;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceListDto {\r\n type: FeeType;\r\n currency: Currency;\r\n value: number | undefined;\r\n}\r\n\r\nexport class PriceListSearchCriteria implements IPriceListSearchCriteria {\r\n date!: moment.Moment | undefined;\r\n\r\n constructor(data?: IPriceListSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceListSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceListSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceListSearchCriteria {\r\n date: moment.Moment | undefined;\r\n}\r\n\r\nexport class AgreementRouteWithAgreementStatusDto implements IAgreementRouteWithAgreementStatusDto {\r\n id!: number;\r\n name!: string | undefined;\r\n pickupLocationId!: number;\r\n deliveryLocationId!: number;\r\n pickupCountry!: Country;\r\n pickupZone!: TimeZone;\r\n deliveryCountry!: Country;\r\n deliveryZone!: TimeZone;\r\n hasAgreement!: boolean;\r\n predefinedPickupAddress!: string | undefined;\r\n mandatoryPickUpDateRequiredDefaultValue!: boolean;\r\n mandatoryDeliveryDateRequiredDefaultValue!: boolean;\r\n predefinedPickupInfo!: string | undefined;\r\n predefinedDeliveryInfo!: string | undefined;\r\n\r\n constructor(data?: IAgreementRouteWithAgreementStatusDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.pickupLocationId = _data[\"pickupLocationId\"];\r\n this.deliveryLocationId = _data[\"deliveryLocationId\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.deliveryZone = _data[\"deliveryZone\"];\r\n this.hasAgreement = _data[\"hasAgreement\"];\r\n this.predefinedPickupAddress = _data[\"predefinedPickupAddress\"];\r\n this.mandatoryPickUpDateRequiredDefaultValue = _data[\"mandatoryPickUpDateRequiredDefaultValue\"];\r\n this.mandatoryDeliveryDateRequiredDefaultValue = _data[\"mandatoryDeliveryDateRequiredDefaultValue\"];\r\n this.predefinedPickupInfo = _data[\"predefinedPickupInfo\"];\r\n this.predefinedDeliveryInfo = _data[\"predefinedDeliveryInfo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteWithAgreementStatusDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteWithAgreementStatusDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"pickupLocationId\"] = this.pickupLocationId;\r\n data[\"deliveryLocationId\"] = this.deliveryLocationId;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"deliveryZone\"] = this.deliveryZone;\r\n data[\"hasAgreement\"] = this.hasAgreement;\r\n data[\"predefinedPickupAddress\"] = this.predefinedPickupAddress;\r\n data[\"mandatoryPickUpDateRequiredDefaultValue\"] = this.mandatoryPickUpDateRequiredDefaultValue;\r\n data[\"mandatoryDeliveryDateRequiredDefaultValue\"] = this.mandatoryDeliveryDateRequiredDefaultValue;\r\n data[\"predefinedPickupInfo\"] = this.predefinedPickupInfo;\r\n data[\"predefinedDeliveryInfo\"] = this.predefinedDeliveryInfo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteWithAgreementStatusDto {\r\n id: number;\r\n name: string | undefined;\r\n pickupLocationId: number;\r\n deliveryLocationId: number;\r\n pickupCountry: Country;\r\n pickupZone: TimeZone;\r\n deliveryCountry: Country;\r\n deliveryZone: TimeZone;\r\n hasAgreement: boolean;\r\n predefinedPickupAddress: string | undefined;\r\n mandatoryPickUpDateRequiredDefaultValue: boolean;\r\n mandatoryDeliveryDateRequiredDefaultValue: boolean;\r\n predefinedPickupInfo: string | undefined;\r\n predefinedDeliveryInfo: string | undefined;\r\n}\r\n\r\nexport class AgreementRouteSearchCriteria implements IAgreementRouteSearchCriteria {\r\n cargoType!: CargoType;\r\n agreementDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: IAgreementRouteSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.agreementDate = _data[\"agreementDate\"] ? moment.parseZone(_data[\"agreementDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"agreementDate\"] = this.agreementDate ? this.agreementDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteSearchCriteria {\r\n cargoType: CargoType;\r\n agreementDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class TruckTypeDto implements ITruckTypeDto {\r\n id!: number;\r\n name!: string | undefined;\r\n hasAgreement!: boolean;\r\n\r\n constructor(data?: ITruckTypeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.hasAgreement = _data[\"hasAgreement\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TruckTypeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TruckTypeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"hasAgreement\"] = this.hasAgreement;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITruckTypeDto {\r\n id: number;\r\n name: string | undefined;\r\n hasAgreement: boolean;\r\n}\r\n\r\nexport class TruckTypeSearchCriteria implements ITruckTypeSearchCriteria {\r\n agreementRouteId!: number;\r\n agreementDate!: moment.Moment | undefined;\r\n cargoType!: CargoType;\r\n\r\n constructor(data?: ITruckTypeSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.agreementDate = _data[\"agreementDate\"] ? moment.parseZone(_data[\"agreementDate\"].toString()) : undefined;\r\n this.cargoType = _data[\"cargoType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TruckTypeSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TruckTypeSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"agreementDate\"] = this.agreementDate ? this.agreementDate.toISOString(true) : undefined;\r\n data[\"cargoType\"] = this.cargoType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITruckTypeSearchCriteria {\r\n agreementRouteId: number;\r\n agreementDate: moment.Moment | undefined;\r\n cargoType: CargoType;\r\n}\r\n\r\nexport class IndexPeriodDto implements IIndexPeriodDto {\r\n from!: moment.Moment;\r\n to!: moment.Moment;\r\n values!: IndexValueDto[] | undefined;\r\n\r\n constructor(data?: IIndexPeriodDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"values\"])) {\r\n this.values = [] as any;\r\n for (let item of _data[\"values\"])\r\n this.values!.push(IndexValueDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): IndexPeriodDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IndexPeriodDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n if (Array.isArray(this.values)) {\r\n data[\"values\"] = [];\r\n for (let item of this.values)\r\n data[\"values\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIndexPeriodDto {\r\n from: moment.Moment;\r\n to: moment.Moment;\r\n values: IndexValueDto[] | undefined;\r\n}\r\n\r\nexport class IndexValueDto implements IIndexValueDto {\r\n type!: IndexType;\r\n value!: number;\r\n share!: number;\r\n\r\n constructor(data?: IIndexValueDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.value = _data[\"value\"];\r\n this.share = _data[\"share\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IndexValueDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IndexValueDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"value\"] = this.value;\r\n data[\"share\"] = this.share;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIndexValueDto {\r\n type: IndexType;\r\n value: number;\r\n share: number;\r\n}\r\n\r\nexport class BaseIndexPeriodDto implements IBaseIndexPeriodDto {\r\n displayName!: string | undefined;\r\n indexDate!: moment.Moment;\r\n validFrom!: moment.Moment;\r\n\r\n constructor(data?: IBaseIndexPeriodDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayName = _data[\"displayName\"];\r\n this.indexDate = _data[\"indexDate\"] ? moment.parseZone(_data[\"indexDate\"].toString()) : undefined;\r\n this.validFrom = _data[\"validFrom\"] ? moment.parseZone(_data[\"validFrom\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseIndexPeriodDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseIndexPeriodDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayName\"] = this.displayName;\r\n data[\"indexDate\"] = this.indexDate ? this.indexDate.toISOString(true) : undefined;\r\n data[\"validFrom\"] = this.validFrom ? this.validFrom.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseIndexPeriodDto {\r\n displayName: string | undefined;\r\n indexDate: moment.Moment;\r\n validFrom: moment.Moment;\r\n}\r\n\r\nexport class BaseIndexPeriodSearchCriteria implements IBaseIndexPeriodSearchCriteria {\r\n validDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: IBaseIndexPeriodSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.validDate = _data[\"validDate\"] ? moment.parseZone(_data[\"validDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseIndexPeriodSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseIndexPeriodSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"validDate\"] = this.validDate ? this.validDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseIndexPeriodSearchCriteria {\r\n validDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class FuelIndexDto implements IFuelIndexDto {\r\n date!: moment.Moment;\r\n type!: FuelIndexType;\r\n factor!: number;\r\n\r\n constructor(data?: IFuelIndexDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.type = _data[\"type\"];\r\n this.factor = _data[\"factor\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FuelIndexDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FuelIndexDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"type\"] = this.type;\r\n data[\"factor\"] = this.factor;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFuelIndexDto {\r\n date: moment.Moment;\r\n type: FuelIndexType;\r\n factor: number;\r\n}\r\n\r\nexport enum FuelIndexType {\r\n NordicFuelIndex = 1,\r\n ContinentalFuelIndex = 2,\r\n ContinentalFuelInternalIndex = 3,\r\n}\r\n\r\nexport class FuelIndexesSearchCriteria implements IFuelIndexesSearchCriteria {\r\n baseIndexDate!: moment.Moment | undefined;\r\n indexDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: IFuelIndexesSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.indexDate = _data[\"indexDate\"] ? moment.parseZone(_data[\"indexDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): FuelIndexesSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FuelIndexesSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"indexDate\"] = this.indexDate ? this.indexDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFuelIndexesSearchCriteria {\r\n baseIndexDate: moment.Moment | undefined;\r\n indexDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class CustomsPassageDto implements ICustomsPassageDto {\r\n id!: number;\r\n name!: string | undefined;\r\n country!: Country;\r\n\r\n constructor(data?: ICustomsPassageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomsPassageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomsPassageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomsPassageDto {\r\n id: number;\r\n name: string | undefined;\r\n country: Country;\r\n}\r\n\r\nexport enum CountryISO {\r\n SE = 1,\r\n NO = 2,\r\n FI = 3,\r\n DK = 4,\r\n EE = 5,\r\n NL = 6,\r\n LV = 7,\r\n PL = 8,\r\n DE = 9,\r\n FR = 10,\r\n IT = 11,\r\n AT = 12,\r\n BE = 13,\r\n CH = 14,\r\n CZ = 15,\r\n GB = 16,\r\n HU = 17,\r\n LT = 18,\r\n SK = 19,\r\n PT = 20,\r\n GR = 21,\r\n IL = 22,\r\n JP = 23,\r\n CN = 24,\r\n ES = 25,\r\n TN = 26,\r\n LU = 27,\r\n AL = 28,\r\n VN = 29,\r\n US = 30,\r\n TW = 31,\r\n TR = 32,\r\n SA = 33,\r\n YE = 34,\r\n KR = 35,\r\n PK = 36,\r\n IN = 37,\r\n CY = 38,\r\n LB = 39,\r\n CV = 40,\r\n GE = 41,\r\n RO = 42,\r\n AE = 43,\r\n AU = 44,\r\n JO = 45,\r\n SD = 46,\r\n EG = 47,\r\n OM = 48,\r\n BD = 49,\r\n DZ = 50,\r\n MA = 51,\r\n LY = 52,\r\n ER = 53,\r\n MM = 54,\r\n TH = 55,\r\n KH = 56,\r\n PH = 57,\r\n LK = 58,\r\n ID = 59,\r\n MV = 60,\r\n HK = 61,\r\n IE = 62,\r\n MY = 63,\r\n BG = 64,\r\n SI = 65,\r\n SY = 66,\r\n CA = 67,\r\n AX = 68,\r\n SG = 69,\r\n ST = 70,\r\n IS = 71,\r\n ZW = 72,\r\n AF = 73,\r\n AS = 74,\r\n AD = 75,\r\n AO = 76,\r\n AI = 77,\r\n AQ = 78,\r\n AG = 79,\r\n AR = 80,\r\n AM = 81,\r\n AW = 82,\r\n AZ = 83,\r\n BH = 84,\r\n BS = 85,\r\n BB = 86,\r\n BY = 87,\r\n BZ = 88,\r\n BJ = 89,\r\n BM = 90,\r\n BT = 91,\r\n BO = 92,\r\n BQ = 93,\r\n BA = 94,\r\n BW = 95,\r\n BV = 96,\r\n BR = 97,\r\n BN = 98,\r\n BF = 99,\r\n BI = 100,\r\n CM = 101,\r\n KY = 102,\r\n CF = 103,\r\n TD = 104,\r\n CL = 105,\r\n CX = 106,\r\n CO = 107,\r\n KM = 108,\r\n CG = 109,\r\n CD = 110,\r\n CK = 111,\r\n CR = 112,\r\n CI = 113,\r\n HR = 114,\r\n CU = 115,\r\n CW = 116,\r\n DJ = 117,\r\n DM = 118,\r\n DO = 119,\r\n EC = 120,\r\n SV = 121,\r\n GQ = 122,\r\n ET = 123,\r\n FK = 124,\r\n FO = 125,\r\n FJ = 126,\r\n GF = 127,\r\n PF = 128,\r\n GA = 129,\r\n GM = 130,\r\n GH = 131,\r\n GI = 132,\r\n GL = 133,\r\n GD = 134,\r\n GP = 135,\r\n GU = 136,\r\n GT = 137,\r\n GG = 138,\r\n GN = 139,\r\n GW = 140,\r\n GY = 141,\r\n HT = 142,\r\n HN = 143,\r\n IR = 144,\r\n IQ = 145,\r\n IM = 146,\r\n JM = 147,\r\n JE = 148,\r\n KZ = 149,\r\n KE = 150,\r\n KI = 151,\r\n KW = 152,\r\n KG = 153,\r\n LA = 154,\r\n LS = 155,\r\n LR = 156,\r\n LI = 157,\r\n MO = 158,\r\n MK = 159,\r\n MG = 160,\r\n MW = 161,\r\n ML = 162,\r\n MT = 163,\r\n MH = 164,\r\n MQ = 165,\r\n MR = 166,\r\n MU = 167,\r\n YT = 168,\r\n MX = 169,\r\n FM = 170,\r\n MD = 171,\r\n MC = 172,\r\n MN = 173,\r\n ME = 174,\r\n MS = 175,\r\n MZ = 176,\r\n NA = 177,\r\n NR = 178,\r\n NP = 179,\r\n NC = 180,\r\n NZ = 181,\r\n NI = 182,\r\n NE = 183,\r\n NG = 184,\r\n PW = 185,\r\n PS = 186,\r\n PA = 187,\r\n PG = 188,\r\n PY = 189,\r\n PE = 190,\r\n PN = 191,\r\n PR = 192,\r\n QA = 193,\r\n RE = 194,\r\n RU = 195,\r\n RW = 196,\r\n BL = 197,\r\n SH = 198,\r\n KN = 199,\r\n LC = 200,\r\n MF = 201,\r\n WS = 202,\r\n SM = 203,\r\n SN = 204,\r\n RS = 205,\r\n SC = 206,\r\n SL = 207,\r\n SX = 208,\r\n SB = 209,\r\n SO = 210,\r\n ZA = 211,\r\n SS = 212,\r\n SR = 213,\r\n SZ = 214,\r\n TJ = 215,\r\n TZ = 216,\r\n TL = 217,\r\n TG = 218,\r\n TO = 219,\r\n TT = 220,\r\n TM = 221,\r\n TV = 222,\r\n UG = 223,\r\n UA = 224,\r\n UY = 225,\r\n UZ = 226,\r\n VU = 227,\r\n VE = 228,\r\n VG = 229,\r\n VI = 230,\r\n EH = 231,\r\n ZM = 232,\r\n}\r\n\r\nexport enum LoadFilterDaysBack {\r\n Today = 0,\r\n Yesterday = 1,\r\n OneWeek = 7,\r\n TwoWeeks = 14,\r\n OneMonth = 31,\r\n TwoMonths = 62,\r\n OneYear = 370,\r\n}\r\n\r\nexport enum LoadFilterDaysForward {\r\n Today = 0,\r\n Tomorrow = 1,\r\n OneWeek = 7,\r\n TwoWeeks = 14,\r\n OneMonth = 31,\r\n TwoMonths = 62,\r\n Infinite = -1,\r\n}\r\n\r\nexport enum NotificationFilterType {\r\n PickupCounty = 1,\r\n PickupZipCode = 2,\r\n DeliveryZipCode = 3,\r\n Unit = 4,\r\n Client = 5,\r\n AlteredByLoadUser = 6,\r\n}\r\n\r\nexport class CostReportContainerDto implements ICostReportContainerDto {\r\n count!: number;\r\n numLoads!: number;\r\n numContainers!: number;\r\n numBroadcasts!: number;\r\n avgRanking!: number | undefined;\r\n prices!: CostReportPrices[] | undefined;\r\n rows!: CostReportRowDto[] | undefined;\r\n\r\n constructor(data?: ICostReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n this.numLoads = _data[\"numLoads\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numBroadcasts = _data[\"numBroadcasts\"];\r\n this.avgRanking = _data[\"avgRanking\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(CostReportPrices.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(CostReportRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n data[\"numLoads\"] = this.numLoads;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numBroadcasts\"] = this.numBroadcasts;\r\n data[\"avgRanking\"] = this.avgRanking;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostReportContainerDto {\r\n count: number;\r\n numLoads: number;\r\n numContainers: number;\r\n numBroadcasts: number;\r\n avgRanking: number | undefined;\r\n prices: CostReportPrices[] | undefined;\r\n rows: CostReportRowDto[] | undefined;\r\n}\r\n\r\nexport class CostReportPrices implements ICostReportPrices {\r\n currency!: Currency;\r\n total!: number;\r\n avg!: number;\r\n perKm!: number;\r\n\r\n constructor(data?: ICostReportPrices) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currency = _data[\"currency\"];\r\n this.total = _data[\"total\"];\r\n this.avg = _data[\"avg\"];\r\n this.perKm = _data[\"perKm\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostReportPrices {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostReportPrices();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currency\"] = this.currency;\r\n data[\"total\"] = this.total;\r\n data[\"avg\"] = this.avg;\r\n data[\"perKm\"] = this.perKm;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostReportPrices {\r\n currency: Currency;\r\n total: number;\r\n avg: number;\r\n perKm: number;\r\n}\r\n\r\nexport class CostReportRowDto implements ICostReportRowDto {\r\n unit!: string | undefined;\r\n numLoads!: number;\r\n numContainers!: number;\r\n numBroadcasts!: number;\r\n totalPrice!: number;\r\n avgPrice!: number;\r\n pricePerVolume!: number;\r\n pricePerKm!: number | undefined;\r\n avgRanking!: number | undefined;\r\n truckType!: TruckType;\r\n currencyType!: Currency;\r\n routeID!: number;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n\r\n constructor(data?: ICostReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.unit = _data[\"unit\"];\r\n this.numLoads = _data[\"numLoads\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numBroadcasts = _data[\"numBroadcasts\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.avgPrice = _data[\"avgPrice\"];\r\n this.pricePerVolume = _data[\"pricePerVolume\"];\r\n this.pricePerKm = _data[\"pricePerKm\"];\r\n this.avgRanking = _data[\"avgRanking\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.currencyType = _data[\"currencyType\"];\r\n this.routeID = _data[\"routeID\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"unit\"] = this.unit;\r\n data[\"numLoads\"] = this.numLoads;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numBroadcasts\"] = this.numBroadcasts;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"avgPrice\"] = this.avgPrice;\r\n data[\"pricePerVolume\"] = this.pricePerVolume;\r\n data[\"pricePerKm\"] = this.pricePerKm;\r\n data[\"avgRanking\"] = this.avgRanking;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"currencyType\"] = this.currencyType;\r\n data[\"routeID\"] = this.routeID;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostReportRowDto {\r\n unit: string | undefined;\r\n numLoads: number;\r\n numContainers: number;\r\n numBroadcasts: number;\r\n totalPrice: number;\r\n avgPrice: number;\r\n pricePerVolume: number;\r\n pricePerKm: number | undefined;\r\n avgRanking: number | undefined;\r\n truckType: TruckType;\r\n currencyType: Currency;\r\n routeID: number;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n}\r\n\r\nexport class CostReportSearchCriteriaContainer implements ICostReportSearchCriteriaContainer {\r\n searchCriteria!: CostReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: CostReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: ICostReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? CostReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostReportSearchCriteriaContainer {\r\n searchCriteria: CostReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: CostReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class CostReportSearchCriteria implements ICostReportSearchCriteria {\r\n cargoType!: CargoType;\r\n currencyType!: Currency | undefined;\r\n truckType!: TruckType | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n unit!: string | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ICostReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.currencyType = _data[\"currencyType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.unit = _data[\"unit\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"currencyType\"] = this.currencyType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"unit\"] = this.unit;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostReportSearchCriteria {\r\n cargoType: CargoType;\r\n currencyType: Currency | undefined;\r\n truckType: TruckType | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n unit: string | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n}\r\n\r\nexport enum CostReportOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n Unit = 3,\r\n NumLoads = 4,\r\n NumContainers = 5,\r\n NumBroadcasts = 6,\r\n AvgPrice = 7,\r\n TotalPrice = 8,\r\n PricePerVolume = 9,\r\n PricePerKm = 10,\r\n AvgRanking = 11,\r\n TruckType = 12,\r\n CurrencyType = 13,\r\n}\r\n\r\nexport class LoadStatisticsReportContainerDto implements ILoadStatisticsReportContainerDto {\r\n count!: number;\r\n rows!: LoadStatisticsReportRowDto[] | undefined;\r\n total!: LoadStatisticsReportRowDto | undefined;\r\n\r\n constructor(data?: ILoadStatisticsReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(LoadStatisticsReportRowDto.fromJS(item));\r\n }\r\n this.total = _data[\"total\"] ? LoadStatisticsReportRowDto.fromJS(_data[\"total\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadStatisticsReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadStatisticsReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"total\"] = this.total ? this.total.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadStatisticsReportContainerDto {\r\n count: number;\r\n rows: LoadStatisticsReportRowDto[] | undefined;\r\n total: LoadStatisticsReportRowDto | undefined;\r\n}\r\n\r\nexport class LoadStatisticsReportRowDto implements ILoadStatisticsReportRowDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n supplierName!: string | undefined;\r\n clientName!: string | undefined;\r\n truckType!: TruckType | undefined;\r\n unit!: string | undefined;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n offered!: number;\r\n loaded!: number;\r\n rejected!: number;\r\n ignored!: number;\r\n broadcastOffered!: number;\r\n broadcastLoaded!: number;\r\n loadedWithinRequestedTime!: number;\r\n loadedWithStatedTime!: number;\r\n loadedWithinStatedTime!: number;\r\n delivered!: number;\r\n deliveredWithinRequestedTime!: number;\r\n deliveredUsingApp!: number;\r\n deliveredWithStatedTime!: number;\r\n deliveredWithinStatedTime!: number;\r\n shareLoaded!: number;\r\n shareRejected!: number;\r\n shareIgnored!: number;\r\n shareBroadcastOffered!: number;\r\n shareBroadcastLoaded!: number;\r\n shareLoadedWithinRequestedTime!: number;\r\n shareLoadedWithStatedTime!: number;\r\n shareLoadedWithinStatedTime!: number;\r\n shareDelivered!: number;\r\n shareDeliveredWithinRequestedTime!: number;\r\n shareDeliveredUsingApp!: number;\r\n shareDeliveredWithStatedTime!: number;\r\n shareDeliveredWithinStatedTime!: number;\r\n\r\n constructor(data?: ILoadStatisticsReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.unit = _data[\"unit\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.offered = _data[\"offered\"];\r\n this.loaded = _data[\"loaded\"];\r\n this.rejected = _data[\"rejected\"];\r\n this.ignored = _data[\"ignored\"];\r\n this.broadcastOffered = _data[\"broadcastOffered\"];\r\n this.broadcastLoaded = _data[\"broadcastLoaded\"];\r\n this.loadedWithinRequestedTime = _data[\"loadedWithinRequestedTime\"];\r\n this.loadedWithStatedTime = _data[\"loadedWithStatedTime\"];\r\n this.loadedWithinStatedTime = _data[\"loadedWithinStatedTime\"];\r\n this.delivered = _data[\"delivered\"];\r\n this.deliveredWithinRequestedTime = _data[\"deliveredWithinRequestedTime\"];\r\n this.deliveredUsingApp = _data[\"deliveredUsingApp\"];\r\n this.deliveredWithStatedTime = _data[\"deliveredWithStatedTime\"];\r\n this.deliveredWithinStatedTime = _data[\"deliveredWithinStatedTime\"];\r\n this.shareLoaded = _data[\"shareLoaded\"];\r\n this.shareRejected = _data[\"shareRejected\"];\r\n this.shareIgnored = _data[\"shareIgnored\"];\r\n this.shareBroadcastOffered = _data[\"shareBroadcastOffered\"];\r\n this.shareBroadcastLoaded = _data[\"shareBroadcastLoaded\"];\r\n this.shareLoadedWithinRequestedTime = _data[\"shareLoadedWithinRequestedTime\"];\r\n this.shareLoadedWithStatedTime = _data[\"shareLoadedWithStatedTime\"];\r\n this.shareLoadedWithinStatedTime = _data[\"shareLoadedWithinStatedTime\"];\r\n this.shareDelivered = _data[\"shareDelivered\"];\r\n this.shareDeliveredWithinRequestedTime = _data[\"shareDeliveredWithinRequestedTime\"];\r\n this.shareDeliveredUsingApp = _data[\"shareDeliveredUsingApp\"];\r\n this.shareDeliveredWithStatedTime = _data[\"shareDeliveredWithStatedTime\"];\r\n this.shareDeliveredWithinStatedTime = _data[\"shareDeliveredWithinStatedTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadStatisticsReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadStatisticsReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"unit\"] = this.unit;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"offered\"] = this.offered;\r\n data[\"loaded\"] = this.loaded;\r\n data[\"rejected\"] = this.rejected;\r\n data[\"ignored\"] = this.ignored;\r\n data[\"broadcastOffered\"] = this.broadcastOffered;\r\n data[\"broadcastLoaded\"] = this.broadcastLoaded;\r\n data[\"loadedWithinRequestedTime\"] = this.loadedWithinRequestedTime;\r\n data[\"loadedWithStatedTime\"] = this.loadedWithStatedTime;\r\n data[\"loadedWithinStatedTime\"] = this.loadedWithinStatedTime;\r\n data[\"delivered\"] = this.delivered;\r\n data[\"deliveredWithinRequestedTime\"] = this.deliveredWithinRequestedTime;\r\n data[\"deliveredUsingApp\"] = this.deliveredUsingApp;\r\n data[\"deliveredWithStatedTime\"] = this.deliveredWithStatedTime;\r\n data[\"deliveredWithinStatedTime\"] = this.deliveredWithinStatedTime;\r\n data[\"shareLoaded\"] = this.shareLoaded;\r\n data[\"shareRejected\"] = this.shareRejected;\r\n data[\"shareIgnored\"] = this.shareIgnored;\r\n data[\"shareBroadcastOffered\"] = this.shareBroadcastOffered;\r\n data[\"shareBroadcastLoaded\"] = this.shareBroadcastLoaded;\r\n data[\"shareLoadedWithinRequestedTime\"] = this.shareLoadedWithinRequestedTime;\r\n data[\"shareLoadedWithStatedTime\"] = this.shareLoadedWithStatedTime;\r\n data[\"shareLoadedWithinStatedTime\"] = this.shareLoadedWithinStatedTime;\r\n data[\"shareDelivered\"] = this.shareDelivered;\r\n data[\"shareDeliveredWithinRequestedTime\"] = this.shareDeliveredWithinRequestedTime;\r\n data[\"shareDeliveredUsingApp\"] = this.shareDeliveredUsingApp;\r\n data[\"shareDeliveredWithStatedTime\"] = this.shareDeliveredWithStatedTime;\r\n data[\"shareDeliveredWithinStatedTime\"] = this.shareDeliveredWithinStatedTime;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadStatisticsReportRowDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n supplierName: string | undefined;\r\n clientName: string | undefined;\r\n truckType: TruckType | undefined;\r\n unit: string | undefined;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n offered: number;\r\n loaded: number;\r\n rejected: number;\r\n ignored: number;\r\n broadcastOffered: number;\r\n broadcastLoaded: number;\r\n loadedWithinRequestedTime: number;\r\n loadedWithStatedTime: number;\r\n loadedWithinStatedTime: number;\r\n delivered: number;\r\n deliveredWithinRequestedTime: number;\r\n deliveredUsingApp: number;\r\n deliveredWithStatedTime: number;\r\n deliveredWithinStatedTime: number;\r\n shareLoaded: number;\r\n shareRejected: number;\r\n shareIgnored: number;\r\n shareBroadcastOffered: number;\r\n shareBroadcastLoaded: number;\r\n shareLoadedWithinRequestedTime: number;\r\n shareLoadedWithStatedTime: number;\r\n shareLoadedWithinStatedTime: number;\r\n shareDelivered: number;\r\n shareDeliveredWithinRequestedTime: number;\r\n shareDeliveredUsingApp: number;\r\n shareDeliveredWithStatedTime: number;\r\n shareDeliveredWithinStatedTime: number;\r\n}\r\n\r\nexport class LoadStatisticsReportSearchCriteriaContainer implements ILoadStatisticsReportSearchCriteriaContainer {\r\n searchCriteria!: LoadStatisticsReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: LoadStatisticsReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: ILoadStatisticsReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? LoadStatisticsReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadStatisticsReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadStatisticsReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadStatisticsReportSearchCriteriaContainer {\r\n searchCriteria: LoadStatisticsReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: LoadStatisticsReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class LoadStatisticsReportSearchCriteria implements ILoadStatisticsReportSearchCriteria {\r\n cargoType!: CargoType;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n actorId!: number | undefined;\r\n unit!: string | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountries!: Country[] | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n includeBroadcast!: boolean;\r\n splitColumns!: LoadStatisticsReportSplit[] | undefined;\r\n tab!: LoadStatisticsReportTab;\r\n\r\n constructor(data?: ILoadStatisticsReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.actorId = _data[\"actorId\"];\r\n this.unit = _data[\"unit\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n if (Array.isArray(_data[\"deliveryCountries\"])) {\r\n this.deliveryCountries = [] as any;\r\n for (let item of _data[\"deliveryCountries\"])\r\n this.deliveryCountries!.push(item);\r\n }\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.includeBroadcast = _data[\"includeBroadcast\"];\r\n if (Array.isArray(_data[\"splitColumns\"])) {\r\n this.splitColumns = [] as any;\r\n for (let item of _data[\"splitColumns\"])\r\n this.splitColumns!.push(item);\r\n }\r\n this.tab = _data[\"tab\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadStatisticsReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadStatisticsReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"unit\"] = this.unit;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n if (Array.isArray(this.deliveryCountries)) {\r\n data[\"deliveryCountries\"] = [];\r\n for (let item of this.deliveryCountries)\r\n data[\"deliveryCountries\"].push(item);\r\n }\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"includeBroadcast\"] = this.includeBroadcast;\r\n if (Array.isArray(this.splitColumns)) {\r\n data[\"splitColumns\"] = [];\r\n for (let item of this.splitColumns)\r\n data[\"splitColumns\"].push(item);\r\n }\r\n data[\"tab\"] = this.tab;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadStatisticsReportSearchCriteria {\r\n cargoType: CargoType;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n actorId: number | undefined;\r\n unit: string | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountries: Country[] | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n includeBroadcast: boolean;\r\n splitColumns: LoadStatisticsReportSplit[] | undefined;\r\n tab: LoadStatisticsReportTab;\r\n}\r\n\r\nexport enum LoadStatisticsReportSplit {\r\n Load = 1,\r\n Actors = 2,\r\n Units = 3,\r\n TruckTypes = 4,\r\n PickupLocations = 5,\r\n DeliveryLocations = 6,\r\n PickupCountries = 7,\r\n DeliveryCountries = 8,\r\n}\r\n\r\nexport enum LoadStatisticsReportTab {\r\n Bookings = 0,\r\n Deliveries = 1,\r\n}\r\n\r\nexport enum LoadStatisticsReportOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n TruckType = 3,\r\n Unit = 4,\r\n Actor = 5,\r\n Offered = 6,\r\n Loaded = 7,\r\n Rejected = 8,\r\n Ignored = 9,\r\n BroadcastOffered = 10,\r\n BroadcastLoaded = 11,\r\n LoadedWithinRequestedTime = 12,\r\n LoadedWithStatedTime = 13,\r\n LoadedWithinStatedTime = 14,\r\n Delivered = 15,\r\n DeliveredWithinRequestedTime = 16,\r\n DeliveredUsingApp = 17,\r\n DeliveredWithStatedTime = 18,\r\n DeliveredWithinStatedTime = 19,\r\n ShareLoaded = 20,\r\n ShareRejected = 21,\r\n ShareIgnored = 22,\r\n ShareBroadcastOffered = 23,\r\n ShareBroadcastLoaded = 24,\r\n ShareLoadedWithinRequestedTime = 25,\r\n ShareLoadedWithStatedTime = 26,\r\n ShareLoadedWithinStatedTime = 27,\r\n ShareDelivered = 28,\r\n ShareDeliveredWithinRequestedTime = 29,\r\n ShareDeliveredUsingApp = 30,\r\n ShareDeliveredWithStatedTime = 31,\r\n ShareDeliveredWithinStatedTime = 32,\r\n}\r\n\r\nexport class AgreementStatisticsReportContainerDto implements IAgreementStatisticsReportContainerDto {\r\n count!: number;\r\n rows!: AgreementStatisticsReportRowDto[] | undefined;\r\n total!: AgreementStatisticsReportRowDto | undefined;\r\n\r\n constructor(data?: IAgreementStatisticsReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(AgreementStatisticsReportRowDto.fromJS(item));\r\n }\r\n this.total = _data[\"total\"] ? AgreementStatisticsReportRowDto.fromJS(_data[\"total\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementStatisticsReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementStatisticsReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"total\"] = this.total ? this.total.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementStatisticsReportContainerDto {\r\n count: number;\r\n rows: AgreementStatisticsReportRowDto[] | undefined;\r\n total: AgreementStatisticsReportRowDto | undefined;\r\n}\r\n\r\nexport class AgreementStatisticsReportRowDto implements IAgreementStatisticsReportRowDto {\r\n agreementId!: number;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n clientId!: number;\r\n clientName!: string | undefined;\r\n truckType!: TruckType;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n offered!: number;\r\n booked!: number;\r\n shareOffered!: number;\r\n shareBooked!: number;\r\n loadsTotal!: number;\r\n rank!: number;\r\n\r\n constructor(data?: IAgreementStatisticsReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.offered = _data[\"offered\"];\r\n this.booked = _data[\"booked\"];\r\n this.shareOffered = _data[\"shareOffered\"];\r\n this.shareBooked = _data[\"shareBooked\"];\r\n this.loadsTotal = _data[\"loadsTotal\"];\r\n this.rank = _data[\"rank\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementStatisticsReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementStatisticsReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"offered\"] = this.offered;\r\n data[\"booked\"] = this.booked;\r\n data[\"shareOffered\"] = this.shareOffered;\r\n data[\"shareBooked\"] = this.shareBooked;\r\n data[\"loadsTotal\"] = this.loadsTotal;\r\n data[\"rank\"] = this.rank;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementStatisticsReportRowDto {\r\n agreementId: number;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n clientId: number;\r\n clientName: string | undefined;\r\n truckType: TruckType;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n offered: number;\r\n booked: number;\r\n shareOffered: number;\r\n shareBooked: number;\r\n loadsTotal: number;\r\n rank: number;\r\n}\r\n\r\nexport class AgreementStatisticsReportSearchCriteriaContainer implements IAgreementStatisticsReportSearchCriteriaContainer {\r\n searchCriteria!: AgreementStatisticsReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: AgreementStatisticsReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IAgreementStatisticsReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? AgreementStatisticsReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementStatisticsReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementStatisticsReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementStatisticsReportSearchCriteriaContainer {\r\n searchCriteria: AgreementStatisticsReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: AgreementStatisticsReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class AgreementStatisticsReportSearchCriteria implements IAgreementStatisticsReportSearchCriteria {\r\n cargoType!: CargoType;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n actorId!: number | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountries!: Country[] | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n includeBroadcast!: boolean;\r\n\r\n constructor(data?: IAgreementStatisticsReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.actorId = _data[\"actorId\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n if (Array.isArray(_data[\"deliveryCountries\"])) {\r\n this.deliveryCountries = [] as any;\r\n for (let item of _data[\"deliveryCountries\"])\r\n this.deliveryCountries!.push(item);\r\n }\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.includeBroadcast = _data[\"includeBroadcast\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementStatisticsReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementStatisticsReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"actorId\"] = this.actorId;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n if (Array.isArray(this.deliveryCountries)) {\r\n data[\"deliveryCountries\"] = [];\r\n for (let item of this.deliveryCountries)\r\n data[\"deliveryCountries\"].push(item);\r\n }\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"includeBroadcast\"] = this.includeBroadcast;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementStatisticsReportSearchCriteria {\r\n cargoType: CargoType;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n actorId: number | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountries: Country[] | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n includeBroadcast: boolean;\r\n}\r\n\r\nexport enum AgreementStatisticsReportOrderBy {\r\n Actor = 1,\r\n TruckType = 2,\r\n PickupLocation = 3,\r\n DeliveryLocation = 4,\r\n FromDate = 5,\r\n ToDate = 6,\r\n AgreementPeriod = 7,\r\n Offered = 8,\r\n Booked = 9,\r\n LoadsTotal = 10,\r\n Rank = 11,\r\n ShareOffered = 12,\r\n ShareBooked = 13,\r\n}\r\n\r\nexport class DeviationReportContainerDto implements IDeviationReportContainerDto {\r\n count!: number;\r\n rows!: DeviationReportRowDto[] | undefined;\r\n sums!: DeviationReportSums[] | undefined;\r\n\r\n constructor(data?: IDeviationReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(DeviationReportRowDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"sums\"])) {\r\n this.sums = [] as any;\r\n for (let item of _data[\"sums\"])\r\n this.sums!.push(DeviationReportSums.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeviationReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeviationReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.sums)) {\r\n data[\"sums\"] = [];\r\n for (let item of this.sums)\r\n data[\"sums\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeviationReportContainerDto {\r\n count: number;\r\n rows: DeviationReportRowDto[] | undefined;\r\n sums: DeviationReportSums[] | undefined;\r\n}\r\n\r\nexport class DeviationReportRowDto implements IDeviationReportRowDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n truckType!: TruckType;\r\n currency!: Currency;\r\n bookingDate!: moment.Moment | undefined;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n deviationCause!: DeviationCause | undefined;\r\n otherPriceCause!: OtherPriceCause | undefined;\r\n deviationDesc!: string | undefined;\r\n otherPriceDesc!: string | undefined;\r\n loadUserName!: string | undefined;\r\n loadUserPhone!: string | undefined;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n topRankedSupplierId!: number | undefined;\r\n topRankedSupplierName!: string | undefined;\r\n freightPrice!: number;\r\n topRankedFreightPrice!: number | undefined;\r\n agreementFreightPrice!: number | undefined;\r\n freightPriceDifference!: number | undefined;\r\n\r\n constructor(data?: IDeviationReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.currency = _data[\"currency\"];\r\n this.bookingDate = _data[\"bookingDate\"] ? moment.parseZone(_data[\"bookingDate\"].toString()) : undefined;\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.deviationCause = _data[\"deviationCause\"];\r\n this.otherPriceCause = _data[\"otherPriceCause\"];\r\n this.deviationDesc = _data[\"deviationDesc\"];\r\n this.otherPriceDesc = _data[\"otherPriceDesc\"];\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.loadUserPhone = _data[\"loadUserPhone\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.topRankedSupplierId = _data[\"topRankedSupplierId\"];\r\n this.topRankedSupplierName = _data[\"topRankedSupplierName\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.topRankedFreightPrice = _data[\"topRankedFreightPrice\"];\r\n this.agreementFreightPrice = _data[\"agreementFreightPrice\"];\r\n this.freightPriceDifference = _data[\"freightPriceDifference\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeviationReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeviationReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"currency\"] = this.currency;\r\n data[\"bookingDate\"] = this.bookingDate ? this.bookingDate.toISOString(true) : undefined;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"deviationCause\"] = this.deviationCause;\r\n data[\"otherPriceCause\"] = this.otherPriceCause;\r\n data[\"deviationDesc\"] = this.deviationDesc;\r\n data[\"otherPriceDesc\"] = this.otherPriceDesc;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"loadUserPhone\"] = this.loadUserPhone;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"topRankedSupplierId\"] = this.topRankedSupplierId;\r\n data[\"topRankedSupplierName\"] = this.topRankedSupplierName;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"topRankedFreightPrice\"] = this.topRankedFreightPrice;\r\n data[\"agreementFreightPrice\"] = this.agreementFreightPrice;\r\n data[\"freightPriceDifference\"] = this.freightPriceDifference;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeviationReportRowDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n truckType: TruckType;\r\n currency: Currency;\r\n bookingDate: moment.Moment | undefined;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n deviationCause: DeviationCause | undefined;\r\n otherPriceCause: OtherPriceCause | undefined;\r\n deviationDesc: string | undefined;\r\n otherPriceDesc: string | undefined;\r\n loadUserName: string | undefined;\r\n loadUserPhone: string | undefined;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n topRankedSupplierId: number | undefined;\r\n topRankedSupplierName: string | undefined;\r\n freightPrice: number;\r\n topRankedFreightPrice: number | undefined;\r\n agreementFreightPrice: number | undefined;\r\n freightPriceDifference: number | undefined;\r\n}\r\n\r\nexport class DeviationReportSums implements IDeviationReportSums {\r\n currency!: Currency;\r\n freightPrice!: number;\r\n topRankedFreightPrice!: number;\r\n freightPriceDifference!: number;\r\n\r\n constructor(data?: IDeviationReportSums) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currency = _data[\"currency\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.topRankedFreightPrice = _data[\"topRankedFreightPrice\"];\r\n this.freightPriceDifference = _data[\"freightPriceDifference\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeviationReportSums {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeviationReportSums();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currency\"] = this.currency;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"topRankedFreightPrice\"] = this.topRankedFreightPrice;\r\n data[\"freightPriceDifference\"] = this.freightPriceDifference;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeviationReportSums {\r\n currency: Currency;\r\n freightPrice: number;\r\n topRankedFreightPrice: number;\r\n freightPriceDifference: number;\r\n}\r\n\r\nexport class DeviationReportSearchCriteriaContainer implements IDeviationReportSearchCriteriaContainer {\r\n searchCriteria!: DeviationReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: DeviationReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IDeviationReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? DeviationReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeviationReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeviationReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeviationReportSearchCriteriaContainer {\r\n searchCriteria: DeviationReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: DeviationReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class DeviationReportSearchCriteria implements IDeviationReportSearchCriteria {\r\n cargoType!: CargoType;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n supplierId!: number | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountries!: Country[] | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deviationCauses!: (DeviationCause | undefined)[] | undefined;\r\n otherPriceCauses!: (OtherPriceCause | undefined)[] | undefined;\r\n\r\n constructor(data?: IDeviationReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.supplierId = _data[\"supplierId\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n if (Array.isArray(_data[\"deliveryCountries\"])) {\r\n this.deliveryCountries = [] as any;\r\n for (let item of _data[\"deliveryCountries\"])\r\n this.deliveryCountries!.push(item);\r\n }\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n if (Array.isArray(_data[\"deviationCauses\"])) {\r\n this.deviationCauses = [] as any;\r\n for (let item of _data[\"deviationCauses\"])\r\n this.deviationCauses!.push(item);\r\n }\r\n if (Array.isArray(_data[\"otherPriceCauses\"])) {\r\n this.otherPriceCauses = [] as any;\r\n for (let item of _data[\"otherPriceCauses\"])\r\n this.otherPriceCauses!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeviationReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeviationReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n if (Array.isArray(this.deliveryCountries)) {\r\n data[\"deliveryCountries\"] = [];\r\n for (let item of this.deliveryCountries)\r\n data[\"deliveryCountries\"].push(item);\r\n }\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n if (Array.isArray(this.deviationCauses)) {\r\n data[\"deviationCauses\"] = [];\r\n for (let item of this.deviationCauses)\r\n data[\"deviationCauses\"].push(item);\r\n }\r\n if (Array.isArray(this.otherPriceCauses)) {\r\n data[\"otherPriceCauses\"] = [];\r\n for (let item of this.otherPriceCauses)\r\n data[\"otherPriceCauses\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeviationReportSearchCriteria {\r\n cargoType: CargoType;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n supplierId: number | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountries: Country[] | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deviationCauses: (DeviationCause | undefined)[] | undefined;\r\n otherPriceCauses: (OtherPriceCause | undefined)[] | undefined;\r\n}\r\n\r\nexport enum DeviationReportOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n TruckType = 3,\r\n DeviationCause = 4,\r\n OtherPriceCause = 5,\r\n Currency = 6,\r\n BookingDate = 7,\r\n BookedBy = 8,\r\n PriceDifference = 9,\r\n}\r\n\r\nexport class InvoiceReportContainerDto implements IInvoiceReportContainerDto {\r\n count!: number;\r\n rows!: InvoiceReportRowDto[] | undefined;\r\n priceSums!: InvoiceReportPriceSum[] | undefined;\r\n\r\n constructor(data?: IInvoiceReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(InvoiceReportRowDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"priceSums\"])) {\r\n this.priceSums = [] as any;\r\n for (let item of _data[\"priceSums\"])\r\n this.priceSums!.push(InvoiceReportPriceSum.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.priceSums)) {\r\n data[\"priceSums\"] = [];\r\n for (let item of this.priceSums)\r\n data[\"priceSums\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceReportContainerDto {\r\n count: number;\r\n rows: InvoiceReportRowDto[] | undefined;\r\n priceSums: InvoiceReportPriceSum[] | undefined;\r\n}\r\n\r\nexport class InvoiceReportRowDto implements IInvoiceReportRowDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n unit!: string | undefined;\r\n loadedDate!: moment.Moment | undefined;\r\n supplierName!: string | undefined;\r\n clientName!: string | undefined;\r\n basePrice!: number | undefined;\r\n baseIndexName!: string | undefined;\r\n baseIndexDate!: moment.Moment | undefined;\r\n indexDate!: moment.Moment | undefined;\r\n numExtraStops!: number;\r\n indexFactor!: number;\r\n indexPrice!: number;\r\n bookingFee!: number;\r\n otherPrice!: number | undefined;\r\n invoicePrice!: number | undefined;\r\n currency!: Currency;\r\n stopPrice!: number | undefined;\r\n numContainers!: number;\r\n serviceFee!: number | undefined;\r\n initialFee!: number | undefined;\r\n distance!: number | undefined;\r\n vtlPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n treated!: boolean;\r\n refNo!: string | undefined;\r\n history!: InvoiceTreatedAndRefrenceHistoryDto[] | undefined;\r\n\r\n constructor(data?: IInvoiceReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.unit = _data[\"unit\"];\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n this.supplierName = _data[\"supplierName\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.indexDate = _data[\"indexDate\"] ? moment.parseZone(_data[\"indexDate\"].toString()) : undefined;\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.indexPrice = _data[\"indexPrice\"];\r\n this.bookingFee = _data[\"bookingFee\"];\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n this.currency = _data[\"currency\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.distance = _data[\"distance\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.treated = _data[\"treated\"];\r\n this.refNo = _data[\"refNo\"];\r\n if (Array.isArray(_data[\"history\"])) {\r\n this.history = [] as any;\r\n for (let item of _data[\"history\"])\r\n this.history!.push(InvoiceTreatedAndRefrenceHistoryDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"unit\"] = this.unit;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"indexDate\"] = this.indexDate ? this.indexDate.toISOString(true) : undefined;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"indexPrice\"] = this.indexPrice;\r\n data[\"bookingFee\"] = this.bookingFee;\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n data[\"currency\"] = this.currency;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"distance\"] = this.distance;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"treated\"] = this.treated;\r\n data[\"refNo\"] = this.refNo;\r\n if (Array.isArray(this.history)) {\r\n data[\"history\"] = [];\r\n for (let item of this.history)\r\n data[\"history\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceReportRowDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n unit: string | undefined;\r\n loadedDate: moment.Moment | undefined;\r\n supplierName: string | undefined;\r\n clientName: string | undefined;\r\n basePrice: number | undefined;\r\n baseIndexName: string | undefined;\r\n baseIndexDate: moment.Moment | undefined;\r\n indexDate: moment.Moment | undefined;\r\n numExtraStops: number;\r\n indexFactor: number;\r\n indexPrice: number;\r\n bookingFee: number;\r\n otherPrice: number | undefined;\r\n invoicePrice: number | undefined;\r\n currency: Currency;\r\n stopPrice: number | undefined;\r\n numContainers: number;\r\n serviceFee: number | undefined;\r\n initialFee: number | undefined;\r\n distance: number | undefined;\r\n vtlPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n treated: boolean;\r\n refNo: string | undefined;\r\n history: InvoiceTreatedAndRefrenceHistoryDto[] | undefined;\r\n}\r\n\r\nexport class InvoiceTreatedAndRefrenceHistoryDto implements IInvoiceTreatedAndRefrenceHistoryDto {\r\n date!: moment.Moment;\r\n loadUserName!: string | undefined;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IInvoiceTreatedAndRefrenceHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.loadUserName = _data[\"loadUserName\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceTreatedAndRefrenceHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceTreatedAndRefrenceHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"loadUserName\"] = this.loadUserName;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceTreatedAndRefrenceHistoryDto {\r\n date: moment.Moment;\r\n loadUserName: string | undefined;\r\n description: string | undefined;\r\n}\r\n\r\nexport class InvoiceReportPriceSum implements IInvoiceReportPriceSum {\r\n currency!: Currency;\r\n priceSum!: number | undefined;\r\n\r\n constructor(data?: IInvoiceReportPriceSum) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currency = _data[\"currency\"];\r\n this.priceSum = _data[\"priceSum\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceReportPriceSum {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceReportPriceSum();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currency\"] = this.currency;\r\n data[\"priceSum\"] = this.priceSum;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceReportPriceSum {\r\n currency: Currency;\r\n priceSum: number | undefined;\r\n}\r\n\r\nexport class InvoiceReportSearchCriteriaContainer implements IInvoiceReportSearchCriteriaContainer {\r\n searchCriteria!: InvoiceReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: InvoiceReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IInvoiceReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? InvoiceReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceReportSearchCriteriaContainer {\r\n searchCriteria: InvoiceReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: InvoiceReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class InvoiceReportSearchCriteria implements IInvoiceReportSearchCriteria {\r\n cargoType!: CargoType;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n currency!: Currency | undefined;\r\n unit!: string | undefined;\r\n actorId!: number | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n transportNo!: string | undefined;\r\n treatedStatuses!: InvoiceReportTreatedStatus[] | undefined;\r\n\r\n constructor(data?: IInvoiceReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.currency = _data[\"currency\"];\r\n this.unit = _data[\"unit\"];\r\n this.actorId = _data[\"actorId\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n if (Array.isArray(_data[\"treatedStatuses\"])) {\r\n this.treatedStatuses = [] as any;\r\n for (let item of _data[\"treatedStatuses\"])\r\n this.treatedStatuses!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"currency\"] = this.currency;\r\n data[\"unit\"] = this.unit;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"transportNo\"] = this.transportNo;\r\n if (Array.isArray(this.treatedStatuses)) {\r\n data[\"treatedStatuses\"] = [];\r\n for (let item of this.treatedStatuses)\r\n data[\"treatedStatuses\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceReportSearchCriteria {\r\n cargoType: CargoType;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n currency: Currency | undefined;\r\n unit: string | undefined;\r\n actorId: number | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n transportNo: string | undefined;\r\n treatedStatuses: InvoiceReportTreatedStatus[] | undefined;\r\n}\r\n\r\nexport enum InvoiceReportTreatedStatus {\r\n Treated = 1,\r\n Untreated = 2,\r\n}\r\n\r\nexport enum InvoiceReportOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n Client = 3,\r\n Supplier = 4,\r\n Currency = 5,\r\n Unit = 6,\r\n RefNo = 7,\r\n LoadedDate = 8,\r\n LoadId = 9,\r\n InvoicePrice = 10,\r\n}\r\n\r\nexport class InvoiceTreatedRefNoDto implements IInvoiceTreatedRefNoDto {\r\n loadId!: number;\r\n treated!: boolean;\r\n referenceNo!: string | undefined;\r\n\r\n constructor(data?: IInvoiceTreatedRefNoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.treated = _data[\"treated\"];\r\n this.referenceNo = _data[\"referenceNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InvoiceTreatedRefNoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InvoiceTreatedRefNoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"treated\"] = this.treated;\r\n data[\"referenceNo\"] = this.referenceNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInvoiceTreatedRefNoDto {\r\n loadId: number;\r\n treated: boolean;\r\n referenceNo: string | undefined;\r\n}\r\n\r\nexport class DistanceReportContainerDto implements IDistanceReportContainerDto {\r\n rows!: DistanceReportRowDto[] | undefined;\r\n count!: number;\r\n numLoads!: number;\r\n totalDistance!: number;\r\n avgDistance!: number | undefined;\r\n totalEmission!: number;\r\n avgEmission!: number | undefined;\r\n numLoadsFT!: number;\r\n distanceFT!: number;\r\n\r\n constructor(data?: IDistanceReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(DistanceReportRowDto.fromJS(item));\r\n }\r\n this.count = _data[\"count\"];\r\n this.numLoads = _data[\"numLoads\"];\r\n this.totalDistance = _data[\"totalDistance\"];\r\n this.avgDistance = _data[\"avgDistance\"];\r\n this.totalEmission = _data[\"totalEmission\"];\r\n this.avgEmission = _data[\"avgEmission\"];\r\n this.numLoadsFT = _data[\"numLoadsFT\"];\r\n this.distanceFT = _data[\"distanceFT\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DistanceReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DistanceReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"count\"] = this.count;\r\n data[\"numLoads\"] = this.numLoads;\r\n data[\"totalDistance\"] = this.totalDistance;\r\n data[\"avgDistance\"] = this.avgDistance;\r\n data[\"totalEmission\"] = this.totalEmission;\r\n data[\"avgEmission\"] = this.avgEmission;\r\n data[\"numLoadsFT\"] = this.numLoadsFT;\r\n data[\"distanceFT\"] = this.distanceFT;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDistanceReportContainerDto {\r\n rows: DistanceReportRowDto[] | undefined;\r\n count: number;\r\n numLoads: number;\r\n totalDistance: number;\r\n avgDistance: number | undefined;\r\n totalEmission: number;\r\n avgEmission: number | undefined;\r\n numLoadsFT: number;\r\n distanceFT: number;\r\n}\r\n\r\nexport class DistanceReportRowDto implements IDistanceReportRowDto {\r\n routeId!: number;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n truckType!: TruckType;\r\n numLoads!: number;\r\n numLoadsWithDistance!: number;\r\n totalDistance!: number;\r\n avgDistance!: number | undefined;\r\n totalEmission!: number;\r\n avgEmission!: number | undefined;\r\n numLoadsFT!: number;\r\n distanceFT!: number;\r\n\r\n constructor(data?: IDistanceReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.routeId = _data[\"routeId\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.numLoads = _data[\"numLoads\"];\r\n this.numLoadsWithDistance = _data[\"numLoadsWithDistance\"];\r\n this.totalDistance = _data[\"totalDistance\"];\r\n this.avgDistance = _data[\"avgDistance\"];\r\n this.totalEmission = _data[\"totalEmission\"];\r\n this.avgEmission = _data[\"avgEmission\"];\r\n this.numLoadsFT = _data[\"numLoadsFT\"];\r\n this.distanceFT = _data[\"distanceFT\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DistanceReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DistanceReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"routeId\"] = this.routeId;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"numLoads\"] = this.numLoads;\r\n data[\"numLoadsWithDistance\"] = this.numLoadsWithDistance;\r\n data[\"totalDistance\"] = this.totalDistance;\r\n data[\"avgDistance\"] = this.avgDistance;\r\n data[\"totalEmission\"] = this.totalEmission;\r\n data[\"avgEmission\"] = this.avgEmission;\r\n data[\"numLoadsFT\"] = this.numLoadsFT;\r\n data[\"distanceFT\"] = this.distanceFT;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDistanceReportRowDto {\r\n routeId: number;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n truckType: TruckType;\r\n numLoads: number;\r\n numLoadsWithDistance: number;\r\n totalDistance: number;\r\n avgDistance: number | undefined;\r\n totalEmission: number;\r\n avgEmission: number | undefined;\r\n numLoadsFT: number;\r\n distanceFT: number;\r\n}\r\n\r\nexport class DistanceReportSearchCriteriaContainer implements IDistanceReportSearchCriteriaContainer {\r\n searchCriteria!: DistanceReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: DistanceReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IDistanceReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? DistanceReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DistanceReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DistanceReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDistanceReportSearchCriteriaContainer {\r\n searchCriteria: DistanceReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: DistanceReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class DistanceReportSearchCriteria implements IDistanceReportSearchCriteria {\r\n cargoType!: CargoType;\r\n truckType!: TruckType | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n mergeTruckTypes!: boolean;\r\n\r\n constructor(data?: IDistanceReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.mergeTruckTypes = _data[\"mergeTruckTypes\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DistanceReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DistanceReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"mergeTruckTypes\"] = this.mergeTruckTypes;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDistanceReportSearchCriteria {\r\n cargoType: CargoType;\r\n truckType: TruckType | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n mergeTruckTypes: boolean;\r\n}\r\n\r\nexport enum DistanceReportOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n TruckType = 3,\r\n NumLoads = 4,\r\n WithDistance = 5,\r\n TotalDistance = 6,\r\n AvgDistance = 7,\r\n TotalEmission = 8,\r\n AvgEmission = 9,\r\n RouteId = 10,\r\n NumLoadsFT = 11,\r\n DistanceFT = 12,\r\n}\r\n\r\nexport class ProcurementAnalyticsContainerDto implements IProcurementAnalyticsContainerDto {\r\n count!: number;\r\n rows!: ProcurementAnalyticsAgreementRouteDto[] | undefined;\r\n\r\n constructor(data?: IProcurementAnalyticsContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(ProcurementAnalyticsAgreementRouteDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementAnalyticsContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementAnalyticsContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementAnalyticsContainerDto {\r\n count: number;\r\n rows: ProcurementAnalyticsAgreementRouteDto[] | undefined;\r\n}\r\n\r\nexport class ProcurementAnalyticsAgreementRouteDto implements IProcurementAnalyticsAgreementRouteDto {\r\n agreementRouteId!: number;\r\n agreementId!: number;\r\n prevAgreementId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: Country;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: Country;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n estimate!: number | undefined;\r\n prevFromDate!: moment.Moment | undefined;\r\n prevToDate!: moment.Moment | undefined;\r\n prevEstimate!: number | undefined;\r\n currency!: Currency;\r\n cargoType!: CargoType;\r\n tag!: string | undefined;\r\n truckTypes!: ProcurementAnalyticsTruckTypeDto[] | undefined;\r\n\r\n constructor(data?: IProcurementAnalyticsAgreementRouteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.prevAgreementId = _data[\"prevAgreementId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.estimate = _data[\"estimate\"];\r\n this.prevFromDate = _data[\"prevFromDate\"] ? moment.parseZone(_data[\"prevFromDate\"].toString()) : undefined;\r\n this.prevToDate = _data[\"prevToDate\"] ? moment.parseZone(_data[\"prevToDate\"].toString()) : undefined;\r\n this.prevEstimate = _data[\"prevEstimate\"];\r\n this.currency = _data[\"currency\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.tag = _data[\"tag\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(ProcurementAnalyticsTruckTypeDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementAnalyticsAgreementRouteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementAnalyticsAgreementRouteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"prevAgreementId\"] = this.prevAgreementId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"estimate\"] = this.estimate;\r\n data[\"prevFromDate\"] = this.prevFromDate ? this.prevFromDate.toISOString(true) : undefined;\r\n data[\"prevToDate\"] = this.prevToDate ? this.prevToDate.toISOString(true) : undefined;\r\n data[\"prevEstimate\"] = this.prevEstimate;\r\n data[\"currency\"] = this.currency;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"tag\"] = this.tag;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementAnalyticsAgreementRouteDto {\r\n agreementRouteId: number;\r\n agreementId: number;\r\n prevAgreementId: number;\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: Country;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: Country;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n estimate: number | undefined;\r\n prevFromDate: moment.Moment | undefined;\r\n prevToDate: moment.Moment | undefined;\r\n prevEstimate: number | undefined;\r\n currency: Currency;\r\n cargoType: CargoType;\r\n tag: string | undefined;\r\n truckTypes: ProcurementAnalyticsTruckTypeDto[] | undefined;\r\n}\r\n\r\nexport class ProcurementAnalyticsTruckTypeDto implements IProcurementAnalyticsTruckTypeDto {\r\n truckType!: TruckType;\r\n supplierRows!: ProcurementAnalyticsSupplierRowDto[] | undefined;\r\n\r\n constructor(data?: IProcurementAnalyticsTruckTypeDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckType = _data[\"truckType\"];\r\n if (Array.isArray(_data[\"supplierRows\"])) {\r\n this.supplierRows = [] as any;\r\n for (let item of _data[\"supplierRows\"])\r\n this.supplierRows!.push(ProcurementAnalyticsSupplierRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementAnalyticsTruckTypeDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementAnalyticsTruckTypeDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckType\"] = this.truckType;\r\n if (Array.isArray(this.supplierRows)) {\r\n data[\"supplierRows\"] = [];\r\n for (let item of this.supplierRows)\r\n data[\"supplierRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementAnalyticsTruckTypeDto {\r\n truckType: TruckType;\r\n supplierRows: ProcurementAnalyticsSupplierRowDto[] | undefined;\r\n}\r\n\r\nexport class ProcurementAnalyticsSupplierRowDto implements IProcurementAnalyticsSupplierRowDto {\r\n supplierName!: string | undefined;\r\n price!: number | undefined;\r\n prevPrice!: number | undefined;\r\n rank!: number | undefined;\r\n prevRank!: number | undefined;\r\n priceDiff!: number | undefined;\r\n priceDiffShare!: number | undefined;\r\n\r\n constructor(data?: IProcurementAnalyticsSupplierRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierName = _data[\"supplierName\"];\r\n this.price = _data[\"price\"];\r\n this.prevPrice = _data[\"prevPrice\"];\r\n this.rank = _data[\"rank\"];\r\n this.prevRank = _data[\"prevRank\"];\r\n this.priceDiff = _data[\"priceDiff\"];\r\n this.priceDiffShare = _data[\"priceDiffShare\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementAnalyticsSupplierRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementAnalyticsSupplierRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"price\"] = this.price;\r\n data[\"prevPrice\"] = this.prevPrice;\r\n data[\"rank\"] = this.rank;\r\n data[\"prevRank\"] = this.prevRank;\r\n data[\"priceDiff\"] = this.priceDiff;\r\n data[\"priceDiffShare\"] = this.priceDiffShare;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementAnalyticsSupplierRowDto {\r\n supplierName: string | undefined;\r\n price: number | undefined;\r\n prevPrice: number | undefined;\r\n rank: number | undefined;\r\n prevRank: number | undefined;\r\n priceDiff: number | undefined;\r\n priceDiffShare: number | undefined;\r\n}\r\n\r\nexport class ProcurementAnalyticsSearchCriteriaContainer implements IProcurementAnalyticsSearchCriteriaContainer {\r\n searchCriteria!: ProcurementAnalyticsSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n\r\n constructor(data?: IProcurementAnalyticsSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? ProcurementAnalyticsSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementAnalyticsSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementAnalyticsSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementAnalyticsSearchCriteriaContainer {\r\n searchCriteria: ProcurementAnalyticsSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n}\r\n\r\nexport class ProcurementAnalyticsSearchCriteria implements IProcurementAnalyticsSearchCriteria {\r\n cargoType!: CargoType;\r\n truckType!: TruckType | undefined;\r\n currency!: Currency | undefined;\r\n tag!: string | undefined;\r\n agreementValidDate!: moment.Moment | undefined;\r\n unitBasePriceDate!: moment.Moment | undefined;\r\n supplierId!: number | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n\r\n constructor(data?: IProcurementAnalyticsSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.currency = _data[\"currency\"];\r\n this.tag = _data[\"tag\"];\r\n this.agreementValidDate = _data[\"agreementValidDate\"] ? moment.parseZone(_data[\"agreementValidDate\"].toString()) : undefined;\r\n this.unitBasePriceDate = _data[\"unitBasePriceDate\"] ? moment.parseZone(_data[\"unitBasePriceDate\"].toString()) : undefined;\r\n this.supplierId = _data[\"supplierId\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementAnalyticsSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementAnalyticsSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"currency\"] = this.currency;\r\n data[\"tag\"] = this.tag;\r\n data[\"agreementValidDate\"] = this.agreementValidDate ? this.agreementValidDate.toISOString(true) : undefined;\r\n data[\"unitBasePriceDate\"] = this.unitBasePriceDate ? this.unitBasePriceDate.toISOString(true) : undefined;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementAnalyticsSearchCriteria {\r\n cargoType: CargoType;\r\n truckType: TruckType | undefined;\r\n currency: Currency | undefined;\r\n tag: string | undefined;\r\n agreementValidDate: moment.Moment | undefined;\r\n unitBasePriceDate: moment.Moment | undefined;\r\n supplierId: number | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n}\r\n\r\nexport class CostForecastReportContainerDto implements ICostForecastReportContainerDto {\r\n count!: number;\r\n rows!: CostForecastRowDto[] | undefined;\r\n\r\n constructor(data?: ICostForecastReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(CostForecastRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostForecastReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostForecastReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostForecastReportContainerDto {\r\n count: number;\r\n rows: CostForecastRowDto[] | undefined;\r\n}\r\n\r\nexport class CostForecastRowDto implements ICostForecastRowDto {\r\n agreementRouteId!: number;\r\n routeId!: number;\r\n agreementId!: number;\r\n prevAgreementId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: Country;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: Country;\r\n currency!: Currency;\r\n estimate!: number | undefined;\r\n agreementFrom!: moment.Moment;\r\n agreementTo!: moment.Moment;\r\n avgPrice!: number;\r\n totalPrice!: number;\r\n prevAgreementFrom!: moment.Moment | undefined;\r\n prevAgreementTo!: moment.Moment | undefined;\r\n prevNumLoads!: number;\r\n prevNumContainers!: number;\r\n prevAvgPrice!: number | undefined;\r\n prevTotalPrice!: number | undefined;\r\n prevTotalProjectedPrice!: number | undefined;\r\n prevAvgRank!: number | undefined;\r\n truckTypeLoadShares!: CostForecastTruckTypeLoadShareDto[] | undefined;\r\n noOfSuppliersInAveragePrice!: number;\r\n\r\n constructor(data?: ICostForecastRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.routeId = _data[\"routeId\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.prevAgreementId = _data[\"prevAgreementId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.currency = _data[\"currency\"];\r\n this.estimate = _data[\"estimate\"];\r\n this.agreementFrom = _data[\"agreementFrom\"] ? moment.parseZone(_data[\"agreementFrom\"].toString()) : undefined;\r\n this.agreementTo = _data[\"agreementTo\"] ? moment.parseZone(_data[\"agreementTo\"].toString()) : undefined;\r\n this.avgPrice = _data[\"avgPrice\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.prevAgreementFrom = _data[\"prevAgreementFrom\"] ? moment.parseZone(_data[\"prevAgreementFrom\"].toString()) : undefined;\r\n this.prevAgreementTo = _data[\"prevAgreementTo\"] ? moment.parseZone(_data[\"prevAgreementTo\"].toString()) : undefined;\r\n this.prevNumLoads = _data[\"prevNumLoads\"];\r\n this.prevNumContainers = _data[\"prevNumContainers\"];\r\n this.prevAvgPrice = _data[\"prevAvgPrice\"];\r\n this.prevTotalPrice = _data[\"prevTotalPrice\"];\r\n this.prevTotalProjectedPrice = _data[\"prevTotalProjectedPrice\"];\r\n this.prevAvgRank = _data[\"prevAvgRank\"];\r\n if (Array.isArray(_data[\"truckTypeLoadShares\"])) {\r\n this.truckTypeLoadShares = [] as any;\r\n for (let item of _data[\"truckTypeLoadShares\"])\r\n this.truckTypeLoadShares!.push(CostForecastTruckTypeLoadShareDto.fromJS(item));\r\n }\r\n this.noOfSuppliersInAveragePrice = _data[\"noOfSuppliersInAveragePrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostForecastRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostForecastRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"routeId\"] = this.routeId;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"prevAgreementId\"] = this.prevAgreementId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"currency\"] = this.currency;\r\n data[\"estimate\"] = this.estimate;\r\n data[\"agreementFrom\"] = this.agreementFrom ? this.agreementFrom.toISOString(true) : undefined;\r\n data[\"agreementTo\"] = this.agreementTo ? this.agreementTo.toISOString(true) : undefined;\r\n data[\"avgPrice\"] = this.avgPrice;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"prevAgreementFrom\"] = this.prevAgreementFrom ? this.prevAgreementFrom.toISOString(true) : undefined;\r\n data[\"prevAgreementTo\"] = this.prevAgreementTo ? this.prevAgreementTo.toISOString(true) : undefined;\r\n data[\"prevNumLoads\"] = this.prevNumLoads;\r\n data[\"prevNumContainers\"] = this.prevNumContainers;\r\n data[\"prevAvgPrice\"] = this.prevAvgPrice;\r\n data[\"prevTotalPrice\"] = this.prevTotalPrice;\r\n data[\"prevTotalProjectedPrice\"] = this.prevTotalProjectedPrice;\r\n data[\"prevAvgRank\"] = this.prevAvgRank;\r\n if (Array.isArray(this.truckTypeLoadShares)) {\r\n data[\"truckTypeLoadShares\"] = [];\r\n for (let item of this.truckTypeLoadShares)\r\n data[\"truckTypeLoadShares\"].push(item.toJSON());\r\n }\r\n data[\"noOfSuppliersInAveragePrice\"] = this.noOfSuppliersInAveragePrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostForecastRowDto {\r\n agreementRouteId: number;\r\n routeId: number;\r\n agreementId: number;\r\n prevAgreementId: number;\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: Country;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: Country;\r\n currency: Currency;\r\n estimate: number | undefined;\r\n agreementFrom: moment.Moment;\r\n agreementTo: moment.Moment;\r\n avgPrice: number;\r\n totalPrice: number;\r\n prevAgreementFrom: moment.Moment | undefined;\r\n prevAgreementTo: moment.Moment | undefined;\r\n prevNumLoads: number;\r\n prevNumContainers: number;\r\n prevAvgPrice: number | undefined;\r\n prevTotalPrice: number | undefined;\r\n prevTotalProjectedPrice: number | undefined;\r\n prevAvgRank: number | undefined;\r\n truckTypeLoadShares: CostForecastTruckTypeLoadShareDto[] | undefined;\r\n noOfSuppliersInAveragePrice: number;\r\n}\r\n\r\nexport class CostForecastTruckTypeLoadShareDto implements ICostForecastTruckTypeLoadShareDto {\r\n truckType!: TruckType;\r\n loadShare!: number;\r\n\r\n constructor(data?: ICostForecastTruckTypeLoadShareDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckType = _data[\"truckType\"];\r\n this.loadShare = _data[\"loadShare\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostForecastTruckTypeLoadShareDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostForecastTruckTypeLoadShareDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckType\"] = this.truckType;\r\n data[\"loadShare\"] = this.loadShare;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostForecastTruckTypeLoadShareDto {\r\n truckType: TruckType;\r\n loadShare: number;\r\n}\r\n\r\nexport class CostForecatReportSearchCriteriaContainer implements ICostForecatReportSearchCriteriaContainer {\r\n searchCriteria!: CostForecastSearchCriteria;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n\r\n constructor(data?: ICostForecatReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.searchCriteria = new CostForecastSearchCriteria();\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? CostForecastSearchCriteria.fromJS(_data[\"searchCriteria\"]) : new CostForecastSearchCriteria();\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostForecatReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostForecatReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostForecatReportSearchCriteriaContainer {\r\n searchCriteria: CostForecastSearchCriteria;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n}\r\n\r\nexport class CostForecastSearchCriteria implements ICostForecastSearchCriteria {\r\n costForecastRankMethod!: CostForecastRankMethod;\r\n cargoType!: CargoType;\r\n agreementDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ICostForecastSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.costForecastRankMethod = _data[\"costForecastRankMethod\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.agreementDate = _data[\"agreementDate\"] ? moment.parseZone(_data[\"agreementDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostForecastSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostForecastSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"costForecastRankMethod\"] = this.costForecastRankMethod;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"agreementDate\"] = this.agreementDate ? this.agreementDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostForecastSearchCriteria {\r\n costForecastRankMethod: CostForecastRankMethod;\r\n cargoType: CargoType;\r\n agreementDate: moment.Moment | undefined;\r\n}\r\n\r\nexport enum CostForecastRankMethod {\r\n All = 1,\r\n Smart = 2,\r\n}\r\n\r\nexport class ClientMonitoringContainerDto implements IClientMonitoringContainerDto {\r\n rows!: ClientMonitoringRowDto[] | undefined;\r\n count!: number;\r\n sums!: ClientMonitoringReportSumsDto | undefined;\r\n\r\n constructor(data?: IClientMonitoringContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(ClientMonitoringRowDto.fromJS(item));\r\n }\r\n this.count = _data[\"count\"];\r\n this.sums = _data[\"sums\"] ? ClientMonitoringReportSumsDto.fromJS(_data[\"sums\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientMonitoringContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientMonitoringContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"count\"] = this.count;\r\n data[\"sums\"] = this.sums ? this.sums.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientMonitoringContainerDto {\r\n rows: ClientMonitoringRowDto[] | undefined;\r\n count: number;\r\n sums: ClientMonitoringReportSumsDto | undefined;\r\n}\r\n\r\nexport class ClientMonitoringRowDto implements IClientMonitoringRowDto {\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n unit!: string | undefined;\r\n loadedCount!: number;\r\n daysRegToPickupEarliest!: number;\r\n daysRegToDelivLatest!: number;\r\n canceledCount!: number;\r\n deviatedCount!: number;\r\n broadcastCount!: number;\r\n directBookedCount!: number;\r\n spotTenderCount!: number;\r\n averageRanking!: number | undefined;\r\n\r\n constructor(data?: IClientMonitoringRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.unit = _data[\"unit\"];\r\n this.loadedCount = _data[\"loadedCount\"];\r\n this.daysRegToPickupEarliest = _data[\"daysRegToPickupEarliest\"];\r\n this.daysRegToDelivLatest = _data[\"daysRegToDelivLatest\"];\r\n this.canceledCount = _data[\"canceledCount\"];\r\n this.deviatedCount = _data[\"deviatedCount\"];\r\n this.broadcastCount = _data[\"broadcastCount\"];\r\n this.directBookedCount = _data[\"directBookedCount\"];\r\n this.spotTenderCount = _data[\"spotTenderCount\"];\r\n this.averageRanking = _data[\"averageRanking\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientMonitoringRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientMonitoringRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"unit\"] = this.unit;\r\n data[\"loadedCount\"] = this.loadedCount;\r\n data[\"daysRegToPickupEarliest\"] = this.daysRegToPickupEarliest;\r\n data[\"daysRegToDelivLatest\"] = this.daysRegToDelivLatest;\r\n data[\"canceledCount\"] = this.canceledCount;\r\n data[\"deviatedCount\"] = this.deviatedCount;\r\n data[\"broadcastCount\"] = this.broadcastCount;\r\n data[\"directBookedCount\"] = this.directBookedCount;\r\n data[\"spotTenderCount\"] = this.spotTenderCount;\r\n data[\"averageRanking\"] = this.averageRanking;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientMonitoringRowDto {\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n unit: string | undefined;\r\n loadedCount: number;\r\n daysRegToPickupEarliest: number;\r\n daysRegToDelivLatest: number;\r\n canceledCount: number;\r\n deviatedCount: number;\r\n broadcastCount: number;\r\n directBookedCount: number;\r\n spotTenderCount: number;\r\n averageRanking: number | undefined;\r\n}\r\n\r\nexport class ClientMonitoringReportSumsDto implements IClientMonitoringReportSumsDto {\r\n loaded!: number;\r\n canceled!: number;\r\n deviated!: number;\r\n broadcast!: number;\r\n directBooked!: number;\r\n spotTender!: number;\r\n shareCanceled!: number;\r\n shareDeviated!: number;\r\n shareBroadcast!: number;\r\n shareDirectBooked!: number;\r\n shareSpotTender!: number;\r\n\r\n constructor(data?: IClientMonitoringReportSumsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loaded = _data[\"loaded\"];\r\n this.canceled = _data[\"canceled\"];\r\n this.deviated = _data[\"deviated\"];\r\n this.broadcast = _data[\"broadcast\"];\r\n this.directBooked = _data[\"directBooked\"];\r\n this.spotTender = _data[\"spotTender\"];\r\n this.shareCanceled = _data[\"shareCanceled\"];\r\n this.shareDeviated = _data[\"shareDeviated\"];\r\n this.shareBroadcast = _data[\"shareBroadcast\"];\r\n this.shareDirectBooked = _data[\"shareDirectBooked\"];\r\n this.shareSpotTender = _data[\"shareSpotTender\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientMonitoringReportSumsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientMonitoringReportSumsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loaded\"] = this.loaded;\r\n data[\"canceled\"] = this.canceled;\r\n data[\"deviated\"] = this.deviated;\r\n data[\"broadcast\"] = this.broadcast;\r\n data[\"directBooked\"] = this.directBooked;\r\n data[\"spotTender\"] = this.spotTender;\r\n data[\"shareCanceled\"] = this.shareCanceled;\r\n data[\"shareDeviated\"] = this.shareDeviated;\r\n data[\"shareBroadcast\"] = this.shareBroadcast;\r\n data[\"shareDirectBooked\"] = this.shareDirectBooked;\r\n data[\"shareSpotTender\"] = this.shareSpotTender;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientMonitoringReportSumsDto {\r\n loaded: number;\r\n canceled: number;\r\n deviated: number;\r\n broadcast: number;\r\n directBooked: number;\r\n spotTender: number;\r\n shareCanceled: number;\r\n shareDeviated: number;\r\n shareBroadcast: number;\r\n shareDirectBooked: number;\r\n shareSpotTender: number;\r\n}\r\n\r\nexport class ClientMonitoringSearchCriteriaContainer implements IClientMonitoringSearchCriteriaContainer {\r\n searchCriteria!: ClientMonitoringSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: ClientMonitoringOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IClientMonitoringSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? ClientMonitoringSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientMonitoringSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientMonitoringSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientMonitoringSearchCriteriaContainer {\r\n searchCriteria: ClientMonitoringSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: ClientMonitoringOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class ClientMonitoringSearchCriteria implements IClientMonitoringSearchCriteria {\r\n cargoType!: CargoType;\r\n truckType!: TruckType | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n unit!: string | undefined;\r\n\r\n constructor(data?: IClientMonitoringSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.unit = _data[\"unit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientMonitoringSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientMonitoringSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"unit\"] = this.unit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientMonitoringSearchCriteria {\r\n cargoType: CargoType;\r\n truckType: TruckType | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n unit: string | undefined;\r\n}\r\n\r\nexport enum ClientMonitoringOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n Unit = 3,\r\n Loaded = 4,\r\n DaysRegToPickup = 5,\r\n DaysRegToDeliv = 6,\r\n Cancelled = 7,\r\n DirectBooked = 8,\r\n Deviated = 9,\r\n Broadcast = 10,\r\n Rank = 11,\r\n SpotTender = 12,\r\n}\r\n\r\nexport class AnnulledLoadsReportContainerDto implements IAnnulledLoadsReportContainerDto {\r\n rows!: AnnulledLoadsReportRowDto[] | undefined;\r\n count!: number;\r\n\r\n constructor(data?: IAnnulledLoadsReportContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(AnnulledLoadsReportRowDto.fromJS(item));\r\n }\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnulledLoadsReportContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnulledLoadsReportContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnnulledLoadsReportContainerDto {\r\n rows: AnnulledLoadsReportRowDto[] | undefined;\r\n count: number;\r\n}\r\n\r\nexport class AnnulledLoadsReportRowDto implements IAnnulledLoadsReportRowDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n annulledTimeZoneDate!: moment.Moment | undefined;\r\n truckType!: TruckType;\r\n unit!: string | undefined;\r\n why!: string | undefined;\r\n annulledBy!: string | undefined;\r\n\r\n constructor(data?: IAnnulledLoadsReportRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.annulledTimeZoneDate = _data[\"annulledTimeZoneDate\"] ? moment.parseZone(_data[\"annulledTimeZoneDate\"].toString()) : undefined;\r\n this.truckType = _data[\"truckType\"];\r\n this.unit = _data[\"unit\"];\r\n this.why = _data[\"why\"];\r\n this.annulledBy = _data[\"annulledBy\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnulledLoadsReportRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnulledLoadsReportRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"annulledTimeZoneDate\"] = this.annulledTimeZoneDate ? this.annulledTimeZoneDate.toISOString(true) : undefined;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"unit\"] = this.unit;\r\n data[\"why\"] = this.why;\r\n data[\"annulledBy\"] = this.annulledBy;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnnulledLoadsReportRowDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n annulledTimeZoneDate: moment.Moment | undefined;\r\n truckType: TruckType;\r\n unit: string | undefined;\r\n why: string | undefined;\r\n annulledBy: string | undefined;\r\n}\r\n\r\nexport class AnnulledLoadsReportSearchCriteriaContainer implements IAnnulledLoadsReportSearchCriteriaContainer {\r\n searchCriteria!: AnnulledLoadsReportSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: AnnulledLoadsReportOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IAnnulledLoadsReportSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? AnnulledLoadsReportSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnulledLoadsReportSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnulledLoadsReportSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnnulledLoadsReportSearchCriteriaContainer {\r\n searchCriteria: AnnulledLoadsReportSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: AnnulledLoadsReportOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class AnnulledLoadsReportSearchCriteria implements IAnnulledLoadsReportSearchCriteria {\r\n loadId!: string | undefined;\r\n transportNo!: string | undefined;\r\n cargoType!: CargoType;\r\n truckType!: TruckType | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n unit!: string | undefined;\r\n\r\n constructor(data?: IAnnulledLoadsReportSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.unit = _data[\"unit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnulledLoadsReportSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnulledLoadsReportSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"unit\"] = this.unit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnnulledLoadsReportSearchCriteria {\r\n loadId: string | undefined;\r\n transportNo: string | undefined;\r\n cargoType: CargoType;\r\n truckType: TruckType | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n unit: string | undefined;\r\n}\r\n\r\nexport enum AnnulledLoadsReportOrderBy {\r\n LoadId = 1,\r\n TransportNo = 2,\r\n PickupLocation = 3,\r\n DeliveryLocation = 4,\r\n TruckType = 5,\r\n Unit = 6,\r\n AnnulledDate = 7,\r\n Why = 8,\r\n}\r\n\r\nexport class QualityPointsContainerDto implements IQualityPointsContainerDto {\r\n rows!: QualityPointsRowDto[] | undefined;\r\n count!: number;\r\n\r\n constructor(data?: IQualityPointsContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(QualityPointsRowDto.fromJS(item));\r\n }\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsContainerDto {\r\n rows: QualityPointsRowDto[] | undefined;\r\n count: number;\r\n}\r\n\r\nexport class QualityPointsRowDto implements IQualityPointsRowDto {\r\n supplierName!: string | undefined;\r\n agreementRouteId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: Country | undefined;\r\n clientName!: string | undefined;\r\n truckType!: TruckType | undefined;\r\n unit!: string | undefined;\r\n pointsLoadsLoaded!: number;\r\n pointsLoadsRejected!: number;\r\n pointsLoadsLoadedWithinRequestedTime!: number;\r\n pointsLoadsLoadedWithStatedTime!: number;\r\n pointsLoadsLoadedWithinStatedTime!: number;\r\n pointsLoadsDelivered!: number;\r\n pointsLoadsDeliveredUsingApp!: number;\r\n pointsPerformance!: number;\r\n pointsSubjective!: number;\r\n pointsTotal!: number;\r\n partLoadsLoaded!: number;\r\n partLoadsRejected!: number;\r\n partLoadsLoadedWithinRequestedTime!: number;\r\n partLoadsLoadedWithStatedTime!: number;\r\n partLoadsLoadedWithinStatedTime!: number;\r\n partLoadsDelivered!: number;\r\n partLoadsDeliveredUsingApp!: number;\r\n numLoadsTotal!: number;\r\n numLoadsOffered!: number;\r\n numLoadsRejected!: number;\r\n numLoadsLoaded!: number;\r\n numLoadsDelivered!: number;\r\n numLoadsDeliveredUsingApp!: number;\r\n numLoadsLoadedWithinRequestedTime!: number;\r\n numLoadsLoadedWithinStatedTime!: number;\r\n numLoadsLoadedWithStatedTime!: number;\r\n\r\n constructor(data?: IQualityPointsRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierName = _data[\"supplierName\"];\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.unit = _data[\"unit\"];\r\n this.pointsLoadsLoaded = _data[\"pointsLoadsLoaded\"];\r\n this.pointsLoadsRejected = _data[\"pointsLoadsRejected\"];\r\n this.pointsLoadsLoadedWithinRequestedTime = _data[\"pointsLoadsLoadedWithinRequestedTime\"];\r\n this.pointsLoadsLoadedWithStatedTime = _data[\"pointsLoadsLoadedWithStatedTime\"];\r\n this.pointsLoadsLoadedWithinStatedTime = _data[\"pointsLoadsLoadedWithinStatedTime\"];\r\n this.pointsLoadsDelivered = _data[\"pointsLoadsDelivered\"];\r\n this.pointsLoadsDeliveredUsingApp = _data[\"pointsLoadsDeliveredUsingApp\"];\r\n this.pointsPerformance = _data[\"pointsPerformance\"];\r\n this.pointsSubjective = _data[\"pointsSubjective\"];\r\n this.pointsTotal = _data[\"pointsTotal\"];\r\n this.partLoadsLoaded = _data[\"partLoadsLoaded\"];\r\n this.partLoadsRejected = _data[\"partLoadsRejected\"];\r\n this.partLoadsLoadedWithinRequestedTime = _data[\"partLoadsLoadedWithinRequestedTime\"];\r\n this.partLoadsLoadedWithStatedTime = _data[\"partLoadsLoadedWithStatedTime\"];\r\n this.partLoadsLoadedWithinStatedTime = _data[\"partLoadsLoadedWithinStatedTime\"];\r\n this.partLoadsDelivered = _data[\"partLoadsDelivered\"];\r\n this.partLoadsDeliveredUsingApp = _data[\"partLoadsDeliveredUsingApp\"];\r\n this.numLoadsTotal = _data[\"numLoadsTotal\"];\r\n this.numLoadsOffered = _data[\"numLoadsOffered\"];\r\n this.numLoadsRejected = _data[\"numLoadsRejected\"];\r\n this.numLoadsLoaded = _data[\"numLoadsLoaded\"];\r\n this.numLoadsDelivered = _data[\"numLoadsDelivered\"];\r\n this.numLoadsDeliveredUsingApp = _data[\"numLoadsDeliveredUsingApp\"];\r\n this.numLoadsLoadedWithinRequestedTime = _data[\"numLoadsLoadedWithinRequestedTime\"];\r\n this.numLoadsLoadedWithinStatedTime = _data[\"numLoadsLoadedWithinStatedTime\"];\r\n this.numLoadsLoadedWithStatedTime = _data[\"numLoadsLoadedWithStatedTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"unit\"] = this.unit;\r\n data[\"pointsLoadsLoaded\"] = this.pointsLoadsLoaded;\r\n data[\"pointsLoadsRejected\"] = this.pointsLoadsRejected;\r\n data[\"pointsLoadsLoadedWithinRequestedTime\"] = this.pointsLoadsLoadedWithinRequestedTime;\r\n data[\"pointsLoadsLoadedWithStatedTime\"] = this.pointsLoadsLoadedWithStatedTime;\r\n data[\"pointsLoadsLoadedWithinStatedTime\"] = this.pointsLoadsLoadedWithinStatedTime;\r\n data[\"pointsLoadsDelivered\"] = this.pointsLoadsDelivered;\r\n data[\"pointsLoadsDeliveredUsingApp\"] = this.pointsLoadsDeliveredUsingApp;\r\n data[\"pointsPerformance\"] = this.pointsPerformance;\r\n data[\"pointsSubjective\"] = this.pointsSubjective;\r\n data[\"pointsTotal\"] = this.pointsTotal;\r\n data[\"partLoadsLoaded\"] = this.partLoadsLoaded;\r\n data[\"partLoadsRejected\"] = this.partLoadsRejected;\r\n data[\"partLoadsLoadedWithinRequestedTime\"] = this.partLoadsLoadedWithinRequestedTime;\r\n data[\"partLoadsLoadedWithStatedTime\"] = this.partLoadsLoadedWithStatedTime;\r\n data[\"partLoadsLoadedWithinStatedTime\"] = this.partLoadsLoadedWithinStatedTime;\r\n data[\"partLoadsDelivered\"] = this.partLoadsDelivered;\r\n data[\"partLoadsDeliveredUsingApp\"] = this.partLoadsDeliveredUsingApp;\r\n data[\"numLoadsTotal\"] = this.numLoadsTotal;\r\n data[\"numLoadsOffered\"] = this.numLoadsOffered;\r\n data[\"numLoadsRejected\"] = this.numLoadsRejected;\r\n data[\"numLoadsLoaded\"] = this.numLoadsLoaded;\r\n data[\"numLoadsDelivered\"] = this.numLoadsDelivered;\r\n data[\"numLoadsDeliveredUsingApp\"] = this.numLoadsDeliveredUsingApp;\r\n data[\"numLoadsLoadedWithinRequestedTime\"] = this.numLoadsLoadedWithinRequestedTime;\r\n data[\"numLoadsLoadedWithinStatedTime\"] = this.numLoadsLoadedWithinStatedTime;\r\n data[\"numLoadsLoadedWithStatedTime\"] = this.numLoadsLoadedWithStatedTime;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsRowDto {\r\n supplierName: string | undefined;\r\n agreementRouteId: number;\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: Country | undefined;\r\n clientName: string | undefined;\r\n truckType: TruckType | undefined;\r\n unit: string | undefined;\r\n pointsLoadsLoaded: number;\r\n pointsLoadsRejected: number;\r\n pointsLoadsLoadedWithinRequestedTime: number;\r\n pointsLoadsLoadedWithStatedTime: number;\r\n pointsLoadsLoadedWithinStatedTime: number;\r\n pointsLoadsDelivered: number;\r\n pointsLoadsDeliveredUsingApp: number;\r\n pointsPerformance: number;\r\n pointsSubjective: number;\r\n pointsTotal: number;\r\n partLoadsLoaded: number;\r\n partLoadsRejected: number;\r\n partLoadsLoadedWithinRequestedTime: number;\r\n partLoadsLoadedWithStatedTime: number;\r\n partLoadsLoadedWithinStatedTime: number;\r\n partLoadsDelivered: number;\r\n partLoadsDeliveredUsingApp: number;\r\n numLoadsTotal: number;\r\n numLoadsOffered: number;\r\n numLoadsRejected: number;\r\n numLoadsLoaded: number;\r\n numLoadsDelivered: number;\r\n numLoadsDeliveredUsingApp: number;\r\n numLoadsLoadedWithinRequestedTime: number;\r\n numLoadsLoadedWithinStatedTime: number;\r\n numLoadsLoadedWithStatedTime: number;\r\n}\r\n\r\nexport class QualityPointsSearchCriteriaContainer implements IQualityPointsSearchCriteriaContainer {\r\n searchCriteria!: QualityPointsSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: QualityPointsOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IQualityPointsSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? QualityPointsSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsSearchCriteriaContainer {\r\n searchCriteria: QualityPointsSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: QualityPointsOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class QualityPointsSearchCriteria implements IQualityPointsSearchCriteria {\r\n cargoType!: CargoType;\r\n truckType!: TruckType | undefined;\r\n fromDate!: moment.Moment | undefined;\r\n toDate!: moment.Moment | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n actorId!: number | undefined;\r\n unit!: string | undefined;\r\n split!: QualityPointsReportSplit;\r\n\r\n constructor(data?: IQualityPointsSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.actorId = _data[\"actorId\"];\r\n this.unit = _data[\"unit\"];\r\n this.split = _data[\"split\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"actorId\"] = this.actorId;\r\n data[\"unit\"] = this.unit;\r\n data[\"split\"] = this.split;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsSearchCriteria {\r\n cargoType: CargoType;\r\n truckType: TruckType | undefined;\r\n fromDate: moment.Moment | undefined;\r\n toDate: moment.Moment | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n actorId: number | undefined;\r\n unit: string | undefined;\r\n split: QualityPointsReportSplit;\r\n}\r\n\r\nexport enum QualityPointsReportSplit {\r\n Route = 1,\r\n Actor = 2,\r\n ActorAndUnit = 3,\r\n}\r\n\r\nexport enum QualityPointsOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n TruckType = 3,\r\n Supplier = 4,\r\n Client = 5,\r\n}\r\n\r\nexport class QualityPointsPastYearDto implements IQualityPointsPastYearDto {\r\n supplierId!: number;\r\n rankingType!: RankingType;\r\n numLoadsLoaded!: number;\r\n numLoadsOffered!: number;\r\n numLoadsTotal!: number;\r\n baseParameterPoints!: number;\r\n factoredParameterPoints!: number;\r\n factor!: number;\r\n subjectivePoints!: number;\r\n surveyPoints!: number;\r\n fairTransportPoints!: number;\r\n totalPoints!: number;\r\n\r\n constructor(data?: IQualityPointsPastYearDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierId = _data[\"supplierId\"];\r\n this.rankingType = _data[\"rankingType\"];\r\n this.numLoadsLoaded = _data[\"numLoadsLoaded\"];\r\n this.numLoadsOffered = _data[\"numLoadsOffered\"];\r\n this.numLoadsTotal = _data[\"numLoadsTotal\"];\r\n this.baseParameterPoints = _data[\"baseParameterPoints\"];\r\n this.factoredParameterPoints = _data[\"factoredParameterPoints\"];\r\n this.factor = _data[\"factor\"];\r\n this.subjectivePoints = _data[\"subjectivePoints\"];\r\n this.surveyPoints = _data[\"surveyPoints\"];\r\n this.fairTransportPoints = _data[\"fairTransportPoints\"];\r\n this.totalPoints = _data[\"totalPoints\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsPastYearDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsPastYearDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"rankingType\"] = this.rankingType;\r\n data[\"numLoadsLoaded\"] = this.numLoadsLoaded;\r\n data[\"numLoadsOffered\"] = this.numLoadsOffered;\r\n data[\"numLoadsTotal\"] = this.numLoadsTotal;\r\n data[\"baseParameterPoints\"] = this.baseParameterPoints;\r\n data[\"factoredParameterPoints\"] = this.factoredParameterPoints;\r\n data[\"factor\"] = this.factor;\r\n data[\"subjectivePoints\"] = this.subjectivePoints;\r\n data[\"surveyPoints\"] = this.surveyPoints;\r\n data[\"fairTransportPoints\"] = this.fairTransportPoints;\r\n data[\"totalPoints\"] = this.totalPoints;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsPastYearDto {\r\n supplierId: number;\r\n rankingType: RankingType;\r\n numLoadsLoaded: number;\r\n numLoadsOffered: number;\r\n numLoadsTotal: number;\r\n baseParameterPoints: number;\r\n factoredParameterPoints: number;\r\n factor: number;\r\n subjectivePoints: number;\r\n surveyPoints: number;\r\n fairTransportPoints: number;\r\n totalPoints: number;\r\n}\r\n\r\nexport class QualityPointsAgreementDto implements IQualityPointsAgreementDto {\r\n supplierId!: number;\r\n truckType!: TruckType;\r\n rankingType!: RankingType;\r\n numLoadsLoaded!: number;\r\n numLoadsOffered!: number;\r\n numLoadsTotal!: number;\r\n baseParameterPoints!: number;\r\n factoredParameterPoints!: number;\r\n factor!: number;\r\n subjectivePoints!: number;\r\n pricePoints!: number;\r\n totalPoints!: number;\r\n\r\n constructor(data?: IQualityPointsAgreementDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierId = _data[\"supplierId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.rankingType = _data[\"rankingType\"];\r\n this.numLoadsLoaded = _data[\"numLoadsLoaded\"];\r\n this.numLoadsOffered = _data[\"numLoadsOffered\"];\r\n this.numLoadsTotal = _data[\"numLoadsTotal\"];\r\n this.baseParameterPoints = _data[\"baseParameterPoints\"];\r\n this.factoredParameterPoints = _data[\"factoredParameterPoints\"];\r\n this.factor = _data[\"factor\"];\r\n this.subjectivePoints = _data[\"subjectivePoints\"];\r\n this.pricePoints = _data[\"pricePoints\"];\r\n this.totalPoints = _data[\"totalPoints\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QualityPointsAgreementDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsAgreementDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"rankingType\"] = this.rankingType;\r\n data[\"numLoadsLoaded\"] = this.numLoadsLoaded;\r\n data[\"numLoadsOffered\"] = this.numLoadsOffered;\r\n data[\"numLoadsTotal\"] = this.numLoadsTotal;\r\n data[\"baseParameterPoints\"] = this.baseParameterPoints;\r\n data[\"factoredParameterPoints\"] = this.factoredParameterPoints;\r\n data[\"factor\"] = this.factor;\r\n data[\"subjectivePoints\"] = this.subjectivePoints;\r\n data[\"pricePoints\"] = this.pricePoints;\r\n data[\"totalPoints\"] = this.totalPoints;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQualityPointsAgreementDto {\r\n supplierId: number;\r\n truckType: TruckType;\r\n rankingType: RankingType;\r\n numLoadsLoaded: number;\r\n numLoadsOffered: number;\r\n numLoadsTotal: number;\r\n baseParameterPoints: number;\r\n factoredParameterPoints: number;\r\n factor: number;\r\n subjectivePoints: number;\r\n pricePoints: number;\r\n totalPoints: number;\r\n}\r\n\r\nexport class SubjectiveQPDto implements ISubjectiveQPDto {\r\n parameter!: SubjectiveQPParameter;\r\n supplierId!: number;\r\n name!: string | undefined;\r\n minValue!: number;\r\n maxValue!: number;\r\n points!: number;\r\n\r\n constructor(data?: ISubjectiveQPDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.parameter = _data[\"parameter\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.name = _data[\"name\"];\r\n this.minValue = _data[\"minValue\"];\r\n this.maxValue = _data[\"maxValue\"];\r\n this.points = _data[\"points\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SubjectiveQPDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SubjectiveQPDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"parameter\"] = this.parameter;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"name\"] = this.name;\r\n data[\"minValue\"] = this.minValue;\r\n data[\"maxValue\"] = this.maxValue;\r\n data[\"points\"] = this.points;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISubjectiveQPDto {\r\n parameter: SubjectiveQPParameter;\r\n supplierId: number;\r\n name: string | undefined;\r\n minValue: number;\r\n maxValue: number;\r\n points: number;\r\n}\r\n\r\nexport enum SubjectiveQPParameter {\r\n GeneralCooperation = 1,\r\n Service = 2,\r\n Refutation = 3,\r\n QualityOfVehicles = 4,\r\n DevationsFromTermsAndAgreement = 5,\r\n HandlingOfDeviations = 6,\r\n IncorrectInvoices = 7,\r\n CanceledLoads = 8,\r\n SelfBilling = 9,\r\n SustainabilityEvaluation = 10,\r\n SustainabilitySurvey = 11,\r\n FairTransport = 12,\r\n}\r\n\r\nexport class SubjectiveQualityPointsHistoryDto implements ISubjectiveQualityPointsHistoryDto {\r\n date!: moment.Moment;\r\n name!: string | undefined;\r\n description!: string | undefined;\r\n\r\n constructor(data?: ISubjectiveQualityPointsHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SubjectiveQualityPointsHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SubjectiveQualityPointsHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISubjectiveQualityPointsHistoryDto {\r\n date: moment.Moment;\r\n name: string | undefined;\r\n description: string | undefined;\r\n}\r\n\r\nexport class AgreementDataDto implements IAgreementDataDto {\r\n id!: number;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n procurementFromDate!: moment.Moment;\r\n procurementToDate!: moment.Moment;\r\n pickupCounty!: string | undefined;\r\n pickupCountry!: string | undefined;\r\n pickupCountryAsEnum!: Country;\r\n deliveryCounty!: string | undefined;\r\n deliveryCountry!: string | undefined;\r\n deliveryCountryAsEnum!: Country;\r\n deliveryZipcode!: string | undefined;\r\n pickupZipcode!: string | undefined;\r\n tag!: string | undefined;\r\n currency!: Currency;\r\n currencyName!: string | undefined;\r\n specialRequirements!: string | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n baseIndexDate!: moment.Moment;\r\n baseIndexName!: string | undefined;\r\n indexFactor!: number;\r\n truckTypes!: RankingTruckTypesDto[] | undefined;\r\n alteredDate!: moment.Moment | undefined;\r\n alteredBy!: string | undefined;\r\n alteredType!: AgreementHistoryType | undefined;\r\n\r\n constructor(data?: IAgreementDataDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.procurementFromDate = _data[\"procurementFromDate\"] ? moment.parseZone(_data[\"procurementFromDate\"].toString()) : undefined;\r\n this.procurementToDate = _data[\"procurementToDate\"] ? moment.parseZone(_data[\"procurementToDate\"].toString()) : undefined;\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.pickupCountryAsEnum = _data[\"pickupCountryAsEnum\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.deliveryCountryAsEnum = _data[\"deliveryCountryAsEnum\"];\r\n this.deliveryZipcode = _data[\"deliveryZipcode\"];\r\n this.pickupZipcode = _data[\"pickupZipcode\"];\r\n this.tag = _data[\"tag\"];\r\n this.currency = _data[\"currency\"];\r\n this.currencyName = _data[\"currencyName\"];\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(RankingTruckTypesDto.fromJS(item));\r\n }\r\n this.alteredDate = _data[\"alteredDate\"] ? moment.parseZone(_data[\"alteredDate\"].toString()) : undefined;\r\n this.alteredBy = _data[\"alteredBy\"];\r\n this.alteredType = _data[\"alteredType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementDataDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementDataDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"procurementFromDate\"] = this.procurementFromDate ? this.procurementFromDate.toISOString(true) : undefined;\r\n data[\"procurementToDate\"] = this.procurementToDate ? this.procurementToDate.toISOString(true) : undefined;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"pickupCountryAsEnum\"] = this.pickupCountryAsEnum;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"deliveryCountryAsEnum\"] = this.deliveryCountryAsEnum;\r\n data[\"deliveryZipcode\"] = this.deliveryZipcode;\r\n data[\"pickupZipcode\"] = this.pickupZipcode;\r\n data[\"tag\"] = this.tag;\r\n data[\"currency\"] = this.currency;\r\n data[\"currencyName\"] = this.currencyName;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item.toJSON());\r\n }\r\n data[\"alteredDate\"] = this.alteredDate ? this.alteredDate.toISOString(true) : undefined;\r\n data[\"alteredBy\"] = this.alteredBy;\r\n data[\"alteredType\"] = this.alteredType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementDataDto {\r\n id: number;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n procurementFromDate: moment.Moment;\r\n procurementToDate: moment.Moment;\r\n pickupCounty: string | undefined;\r\n pickupCountry: string | undefined;\r\n pickupCountryAsEnum: Country;\r\n deliveryCounty: string | undefined;\r\n deliveryCountry: string | undefined;\r\n deliveryCountryAsEnum: Country;\r\n deliveryZipcode: string | undefined;\r\n pickupZipcode: string | undefined;\r\n tag: string | undefined;\r\n currency: Currency;\r\n currencyName: string | undefined;\r\n specialRequirements: string | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n baseIndexDate: moment.Moment;\r\n baseIndexName: string | undefined;\r\n indexFactor: number;\r\n truckTypes: RankingTruckTypesDto[] | undefined;\r\n alteredDate: moment.Moment | undefined;\r\n alteredBy: string | undefined;\r\n alteredType: AgreementHistoryType | undefined;\r\n}\r\n\r\nexport class RankingTruckTypesDto implements IRankingTruckTypesDto {\r\n id!: TruckType;\r\n name!: string | undefined;\r\n agreementRows!: RankingAgreementRowDto[] | undefined;\r\n\r\n constructor(data?: IRankingTruckTypesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"agreementRows\"])) {\r\n this.agreementRows = [] as any;\r\n for (let item of _data[\"agreementRows\"])\r\n this.agreementRows!.push(RankingAgreementRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankingTruckTypesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankingTruckTypesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.agreementRows)) {\r\n data[\"agreementRows\"] = [];\r\n for (let item of this.agreementRows)\r\n data[\"agreementRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankingTruckTypesDto {\r\n id: TruckType;\r\n name: string | undefined;\r\n agreementRows: RankingAgreementRowDto[] | undefined;\r\n}\r\n\r\nexport class RankingAgreementRowDto implements IRankingAgreementRowDto {\r\n truckType!: TruckType;\r\n supplierId!: number;\r\n supplierName!: string | undefined;\r\n basePrice!: number | undefined;\r\n unitBasePrice!: number | undefined;\r\n freightPrice!: number | undefined;\r\n stopPrice!: number | undefined;\r\n initialFee!: number | undefined;\r\n share!: number;\r\n note!: string | undefined;\r\n ranking!: number;\r\n serviceFee!: number | undefined;\r\n currentRankingType!: RankingType;\r\n qualityPointsRankingType!: RankingType;\r\n indexFactor!: number;\r\n baseIndexName!: string | undefined;\r\n numLoadsLoaded!: number;\r\n numLoadsOffered!: number;\r\n parameterFactor!: number | undefined;\r\n baseParameterPoints!: number | undefined;\r\n factoredParameterPoints!: number | undefined;\r\n subjectivePoints!: number | undefined;\r\n pricePoints!: number | undefined;\r\n totalPoints!: number | undefined;\r\n\r\n constructor(data?: IRankingAgreementRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckType = _data[\"truckType\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.unitBasePrice = _data[\"unitBasePrice\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.share = _data[\"share\"];\r\n this.note = _data[\"note\"];\r\n this.ranking = _data[\"ranking\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.currentRankingType = _data[\"currentRankingType\"];\r\n this.qualityPointsRankingType = _data[\"qualityPointsRankingType\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.numLoadsLoaded = _data[\"numLoadsLoaded\"];\r\n this.numLoadsOffered = _data[\"numLoadsOffered\"];\r\n this.parameterFactor = _data[\"parameterFactor\"];\r\n this.baseParameterPoints = _data[\"baseParameterPoints\"];\r\n this.factoredParameterPoints = _data[\"factoredParameterPoints\"];\r\n this.subjectivePoints = _data[\"subjectivePoints\"];\r\n this.pricePoints = _data[\"pricePoints\"];\r\n this.totalPoints = _data[\"totalPoints\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankingAgreementRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankingAgreementRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckType\"] = this.truckType;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"unitBasePrice\"] = this.unitBasePrice;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"share\"] = this.share;\r\n data[\"note\"] = this.note;\r\n data[\"ranking\"] = this.ranking;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"currentRankingType\"] = this.currentRankingType;\r\n data[\"qualityPointsRankingType\"] = this.qualityPointsRankingType;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"numLoadsLoaded\"] = this.numLoadsLoaded;\r\n data[\"numLoadsOffered\"] = this.numLoadsOffered;\r\n data[\"parameterFactor\"] = this.parameterFactor;\r\n data[\"baseParameterPoints\"] = this.baseParameterPoints;\r\n data[\"factoredParameterPoints\"] = this.factoredParameterPoints;\r\n data[\"subjectivePoints\"] = this.subjectivePoints;\r\n data[\"pricePoints\"] = this.pricePoints;\r\n data[\"totalPoints\"] = this.totalPoints;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankingAgreementRowDto {\r\n truckType: TruckType;\r\n supplierId: number;\r\n supplierName: string | undefined;\r\n basePrice: number | undefined;\r\n unitBasePrice: number | undefined;\r\n freightPrice: number | undefined;\r\n stopPrice: number | undefined;\r\n initialFee: number | undefined;\r\n share: number;\r\n note: string | undefined;\r\n ranking: number;\r\n serviceFee: number | undefined;\r\n currentRankingType: RankingType;\r\n qualityPointsRankingType: RankingType;\r\n indexFactor: number;\r\n baseIndexName: string | undefined;\r\n numLoadsLoaded: number;\r\n numLoadsOffered: number;\r\n parameterFactor: number | undefined;\r\n baseParameterPoints: number | undefined;\r\n factoredParameterPoints: number | undefined;\r\n subjectivePoints: number | undefined;\r\n pricePoints: number | undefined;\r\n totalPoints: number | undefined;\r\n}\r\n\r\nexport enum AgreementHistoryType {\r\n PriceRemoved = 1,\r\n FromToEstimateChanged = 2,\r\n ProcurementCreated = 3,\r\n ProcurementPeriodAdded = 4,\r\n RankedByEndUser = 5,\r\n RankedByBackgroundService = 6,\r\n AgreementCreated = 7,\r\n PriceUpdated = 8,\r\n}\r\n\r\nexport class ClientAgreementSearchCriteria implements IClientAgreementSearchCriteria {\r\n cargoType!: CargoType;\r\n currencyType!: Currency | undefined;\r\n truckType!: TruckType | undefined;\r\n supplierId!: number | undefined;\r\n priceFilter!: PriceFilter | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupLocationCounty!: string | undefined;\r\n deliveryLocationCounty!: string | undefined;\r\n pickupLocationZipCode!: string | undefined;\r\n deliveryLocationZipCode!: string | undefined;\r\n tag!: string | undefined;\r\n date!: moment.Moment | undefined;\r\n unitBasePrice!: boolean;\r\n unitBasePriceDate!: moment.Moment | undefined;\r\n baseIndexDate!: moment.Moment | undefined;\r\n noOfItemsInAverage!: number;\r\n\r\n constructor(data?: IClientAgreementSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.currencyType = _data[\"currencyType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.priceFilter = _data[\"priceFilter\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupLocationCounty = _data[\"pickupLocationCounty\"];\r\n this.deliveryLocationCounty = _data[\"deliveryLocationCounty\"];\r\n this.pickupLocationZipCode = _data[\"pickupLocationZipCode\"];\r\n this.deliveryLocationZipCode = _data[\"deliveryLocationZipCode\"];\r\n this.tag = _data[\"tag\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.unitBasePrice = _data[\"unitBasePrice\"];\r\n this.unitBasePriceDate = _data[\"unitBasePriceDate\"] ? moment.parseZone(_data[\"unitBasePriceDate\"].toString()) : undefined;\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.noOfItemsInAverage = _data[\"noOfItemsInAverage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientAgreementSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientAgreementSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"currencyType\"] = this.currencyType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"priceFilter\"] = this.priceFilter;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupLocationCounty\"] = this.pickupLocationCounty;\r\n data[\"deliveryLocationCounty\"] = this.deliveryLocationCounty;\r\n data[\"pickupLocationZipCode\"] = this.pickupLocationZipCode;\r\n data[\"deliveryLocationZipCode\"] = this.deliveryLocationZipCode;\r\n data[\"tag\"] = this.tag;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"unitBasePrice\"] = this.unitBasePrice;\r\n data[\"unitBasePriceDate\"] = this.unitBasePriceDate ? this.unitBasePriceDate.toISOString(true) : undefined;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"noOfItemsInAverage\"] = this.noOfItemsInAverage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientAgreementSearchCriteria {\r\n cargoType: CargoType;\r\n currencyType: Currency | undefined;\r\n truckType: TruckType | undefined;\r\n supplierId: number | undefined;\r\n priceFilter: PriceFilter | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupLocationCounty: string | undefined;\r\n deliveryLocationCounty: string | undefined;\r\n pickupLocationZipCode: string | undefined;\r\n deliveryLocationZipCode: string | undefined;\r\n tag: string | undefined;\r\n date: moment.Moment | undefined;\r\n unitBasePrice: boolean;\r\n unitBasePriceDate: moment.Moment | undefined;\r\n baseIndexDate: moment.Moment | undefined;\r\n noOfItemsInAverage: number;\r\n}\r\n\r\nexport enum PriceFilter {\r\n WithPrices = 1,\r\n WithoutPrices = 2,\r\n}\r\n\r\nexport class ClientAgreementContainerDto implements IClientAgreementContainerDto {\r\n count!: number;\r\n agreementRows!: ClientAgreementRowDto[] | undefined;\r\n\r\n constructor(data?: IClientAgreementContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"agreementRows\"])) {\r\n this.agreementRows = [] as any;\r\n for (let item of _data[\"agreementRows\"])\r\n this.agreementRows!.push(ClientAgreementRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientAgreementContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientAgreementContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.agreementRows)) {\r\n data[\"agreementRows\"] = [];\r\n for (let item of this.agreementRows)\r\n data[\"agreementRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientAgreementContainerDto {\r\n count: number;\r\n agreementRows: ClientAgreementRowDto[] | undefined;\r\n}\r\n\r\nexport class ClientAgreementRowDto implements IClientAgreementRowDto {\r\n id!: number;\r\n agreementId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupCountryISO!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n deliveryCountryISO!: string | undefined;\r\n deliveryZipcode!: string | undefined;\r\n pickupZipcode!: string | undefined;\r\n tag!: string | undefined;\r\n agreementFromDate!: moment.Moment;\r\n agreementToDate!: moment.Moment;\r\n procurementFromDate!: moment.Moment;\r\n procurementToDate!: moment.Moment;\r\n specialRequirements!: string | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n truckTypeName!: string | undefined;\r\n currency!: Currency;\r\n supplierName!: string | undefined;\r\n basePrice!: number | undefined;\r\n freightPrice!: number | undefined;\r\n unitBasePrice!: number | undefined;\r\n stopPrice!: number | undefined;\r\n initialFee!: number | undefined;\r\n serviceFee!: number | undefined;\r\n indexFactor!: number;\r\n baseIndexName!: string | undefined;\r\n baseIndexDate!: moment.Moment;\r\n share!: number;\r\n note!: string | undefined;\r\n ranking!: number;\r\n averageFreigtPriceAll!: number | undefined;\r\n averageFreigtPriceTop!: number | undefined;\r\n\r\n constructor(data?: IClientAgreementRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupCountryISO = _data[\"pickupCountryISO\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryCountryISO = _data[\"deliveryCountryISO\"];\r\n this.deliveryZipcode = _data[\"deliveryZipcode\"];\r\n this.pickupZipcode = _data[\"pickupZipcode\"];\r\n this.tag = _data[\"tag\"];\r\n this.agreementFromDate = _data[\"agreementFromDate\"] ? moment.parseZone(_data[\"agreementFromDate\"].toString()) : undefined;\r\n this.agreementToDate = _data[\"agreementToDate\"] ? moment.parseZone(_data[\"agreementToDate\"].toString()) : undefined;\r\n this.procurementFromDate = _data[\"procurementFromDate\"] ? moment.parseZone(_data[\"procurementFromDate\"].toString()) : undefined;\r\n this.procurementToDate = _data[\"procurementToDate\"] ? moment.parseZone(_data[\"procurementToDate\"].toString()) : undefined;\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.truckTypeName = _data[\"truckTypeName\"];\r\n this.currency = _data[\"currency\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.unitBasePrice = _data[\"unitBasePrice\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.share = _data[\"share\"];\r\n this.note = _data[\"note\"];\r\n this.ranking = _data[\"ranking\"];\r\n this.averageFreigtPriceAll = _data[\"averageFreigtPriceAll\"];\r\n this.averageFreigtPriceTop = _data[\"averageFreigtPriceTop\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientAgreementRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientAgreementRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupCountryISO\"] = this.pickupCountryISO;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryCountryISO\"] = this.deliveryCountryISO;\r\n data[\"deliveryZipcode\"] = this.deliveryZipcode;\r\n data[\"pickupZipcode\"] = this.pickupZipcode;\r\n data[\"tag\"] = this.tag;\r\n data[\"agreementFromDate\"] = this.agreementFromDate ? this.agreementFromDate.toISOString(true) : undefined;\r\n data[\"agreementToDate\"] = this.agreementToDate ? this.agreementToDate.toISOString(true) : undefined;\r\n data[\"procurementFromDate\"] = this.procurementFromDate ? this.procurementFromDate.toISOString(true) : undefined;\r\n data[\"procurementToDate\"] = this.procurementToDate ? this.procurementToDate.toISOString(true) : undefined;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"truckTypeName\"] = this.truckTypeName;\r\n data[\"currency\"] = this.currency;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"unitBasePrice\"] = this.unitBasePrice;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"share\"] = this.share;\r\n data[\"note\"] = this.note;\r\n data[\"ranking\"] = this.ranking;\r\n data[\"averageFreigtPriceAll\"] = this.averageFreigtPriceAll;\r\n data[\"averageFreigtPriceTop\"] = this.averageFreigtPriceTop;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientAgreementRowDto {\r\n id: number;\r\n agreementId: number;\r\n pickupCounty: string | undefined;\r\n pickupCountryISO: string | undefined;\r\n deliveryCounty: string | undefined;\r\n deliveryCountryISO: string | undefined;\r\n deliveryZipcode: string | undefined;\r\n pickupZipcode: string | undefined;\r\n tag: string | undefined;\r\n agreementFromDate: moment.Moment;\r\n agreementToDate: moment.Moment;\r\n procurementFromDate: moment.Moment;\r\n procurementToDate: moment.Moment;\r\n specialRequirements: string | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n truckTypeName: string | undefined;\r\n currency: Currency;\r\n supplierName: string | undefined;\r\n basePrice: number | undefined;\r\n freightPrice: number | undefined;\r\n unitBasePrice: number | undefined;\r\n stopPrice: number | undefined;\r\n initialFee: number | undefined;\r\n serviceFee: number | undefined;\r\n indexFactor: number;\r\n baseIndexName: string | undefined;\r\n baseIndexDate: moment.Moment;\r\n share: number;\r\n note: string | undefined;\r\n ranking: number;\r\n averageFreigtPriceAll: number | undefined;\r\n averageFreigtPriceTop: number | undefined;\r\n}\r\n\r\nexport class ClientAgreementSearchCriteriaContainer implements IClientAgreementSearchCriteriaContainer {\r\n agreementSearchCriteria!: ClientAgreementSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: AgreementClientOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: IClientAgreementSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementSearchCriteria = _data[\"agreementSearchCriteria\"] ? ClientAgreementSearchCriteria.fromJS(_data[\"agreementSearchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientAgreementSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientAgreementSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementSearchCriteria\"] = this.agreementSearchCriteria ? this.agreementSearchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientAgreementSearchCriteriaContainer {\r\n agreementSearchCriteria: ClientAgreementSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: AgreementClientOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport enum AgreementClientOrderBy {\r\n SupplierName = 1,\r\n Ranking = 2,\r\n Price = 3,\r\n StopPrice = 4,\r\n ServiceFee = 5,\r\n InitialFee = 6,\r\n Note = 7,\r\n Share = 8,\r\n BaseIndexDate = 9,\r\n}\r\n\r\nexport class RankRequest implements IRankRequest {\r\n agreementIds!: number[] | undefined;\r\n\r\n constructor(data?: IRankRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"agreementIds\"])) {\r\n this.agreementIds = [] as any;\r\n for (let item of _data[\"agreementIds\"])\r\n this.agreementIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.agreementIds)) {\r\n data[\"agreementIds\"] = [];\r\n for (let item of this.agreementIds)\r\n data[\"agreementIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankRequest {\r\n agreementIds: number[] | undefined;\r\n}\r\n\r\nexport class AddProcurementPeriodDto implements IAddProcurementPeriodDto {\r\n agreementIds!: number[] | undefined;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n qualityPointsFromDate!: moment.Moment;\r\n qualityPointsToDate!: moment.Moment;\r\n rankingMethod!: RankingMethod;\r\n messageToSupplier!: string | undefined;\r\n sendEmails!: boolean;\r\n\r\n constructor(data?: IAddProcurementPeriodDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"agreementIds\"])) {\r\n this.agreementIds = [] as any;\r\n for (let item of _data[\"agreementIds\"])\r\n this.agreementIds!.push(item);\r\n }\r\n this.fromDate = _data[\"fromDate\"] ? moment.parseZone(_data[\"fromDate\"].toString()) : undefined;\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.qualityPointsFromDate = _data[\"qualityPointsFromDate\"] ? moment.parseZone(_data[\"qualityPointsFromDate\"].toString()) : undefined;\r\n this.qualityPointsToDate = _data[\"qualityPointsToDate\"] ? moment.parseZone(_data[\"qualityPointsToDate\"].toString()) : undefined;\r\n this.rankingMethod = _data[\"rankingMethod\"];\r\n this.messageToSupplier = _data[\"messageToSupplier\"];\r\n this.sendEmails = _data[\"sendEmails\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddProcurementPeriodDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddProcurementPeriodDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.agreementIds)) {\r\n data[\"agreementIds\"] = [];\r\n for (let item of this.agreementIds)\r\n data[\"agreementIds\"].push(item);\r\n }\r\n data[\"fromDate\"] = this.fromDate ? this.fromDate.toISOString(true) : undefined;\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"qualityPointsFromDate\"] = this.qualityPointsFromDate ? this.qualityPointsFromDate.toISOString(true) : undefined;\r\n data[\"qualityPointsToDate\"] = this.qualityPointsToDate ? this.qualityPointsToDate.toISOString(true) : undefined;\r\n data[\"rankingMethod\"] = this.rankingMethod;\r\n data[\"messageToSupplier\"] = this.messageToSupplier;\r\n data[\"sendEmails\"] = this.sendEmails;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddProcurementPeriodDto {\r\n agreementIds: number[] | undefined;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\r\n qualityPointsFromDate: moment.Moment;\r\n qualityPointsToDate: moment.Moment;\r\n rankingMethod: RankingMethod;\r\n messageToSupplier: string | undefined;\r\n sendEmails: boolean;\r\n}\r\n\r\nexport enum RankingMethod {\r\n NoAutomaticRanking = 0,\r\n Price = 1,\r\n QualityPoints = 2,\r\n}\r\n\r\nexport class ProcurementSupplierRemoveDto implements IProcurementSupplierRemoveDto {\r\n supplierId!: number;\r\n agreementId!: number[] | undefined;\r\n\r\n constructor(data?: IProcurementSupplierRemoveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierId = _data[\"supplierId\"];\r\n if (Array.isArray(_data[\"agreementId\"])) {\r\n this.agreementId = [] as any;\r\n for (let item of _data[\"agreementId\"])\r\n this.agreementId!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementSupplierRemoveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementSupplierRemoveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierId\"] = this.supplierId;\r\n if (Array.isArray(this.agreementId)) {\r\n data[\"agreementId\"] = [];\r\n for (let item of this.agreementId)\r\n data[\"agreementId\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementSupplierRemoveDto {\r\n supplierId: number;\r\n agreementId: number[] | undefined;\r\n}\r\n\r\nexport class SaveProcurementDto implements ISaveProcurementDto {\r\n cargoType!: CargoType;\r\n message!: string | undefined;\r\n documentGroupId!: number;\r\n agreementRouteIds!: number[] | undefined;\r\n supplierIds!: number[] | undefined;\r\n agreementPeriod!: AgreementPeriodDto | undefined;\r\n procurementPeriods!: ProcurementPeriodDto[] | undefined;\r\n timeZone!: TimeZone;\r\n country!: Country;\r\n\r\n constructor(data?: ISaveProcurementDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.message = _data[\"message\"];\r\n this.documentGroupId = _data[\"documentGroupId\"];\r\n if (Array.isArray(_data[\"agreementRouteIds\"])) {\r\n this.agreementRouteIds = [] as any;\r\n for (let item of _data[\"agreementRouteIds\"])\r\n this.agreementRouteIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"supplierIds\"])) {\r\n this.supplierIds = [] as any;\r\n for (let item of _data[\"supplierIds\"])\r\n this.supplierIds!.push(item);\r\n }\r\n this.agreementPeriod = _data[\"agreementPeriod\"] ? AgreementPeriodDto.fromJS(_data[\"agreementPeriod\"]) : undefined;\r\n if (Array.isArray(_data[\"procurementPeriods\"])) {\r\n this.procurementPeriods = [] as any;\r\n for (let item of _data[\"procurementPeriods\"])\r\n this.procurementPeriods!.push(ProcurementPeriodDto.fromJS(item));\r\n }\r\n this.timeZone = _data[\"timeZone\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveProcurementDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveProcurementDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"message\"] = this.message;\r\n data[\"documentGroupId\"] = this.documentGroupId;\r\n if (Array.isArray(this.agreementRouteIds)) {\r\n data[\"agreementRouteIds\"] = [];\r\n for (let item of this.agreementRouteIds)\r\n data[\"agreementRouteIds\"].push(item);\r\n }\r\n if (Array.isArray(this.supplierIds)) {\r\n data[\"supplierIds\"] = [];\r\n for (let item of this.supplierIds)\r\n data[\"supplierIds\"].push(item);\r\n }\r\n data[\"agreementPeriod\"] = this.agreementPeriod ? this.agreementPeriod.toJSON() : undefined;\r\n if (Array.isArray(this.procurementPeriods)) {\r\n data[\"procurementPeriods\"] = [];\r\n for (let item of this.procurementPeriods)\r\n data[\"procurementPeriods\"].push(item.toJSON());\r\n }\r\n data[\"timeZone\"] = this.timeZone;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveProcurementDto {\r\n cargoType: CargoType;\r\n message: string | undefined;\r\n documentGroupId: number;\r\n agreementRouteIds: number[] | undefined;\r\n supplierIds: number[] | undefined;\r\n agreementPeriod: AgreementPeriodDto | undefined;\r\n procurementPeriods: ProcurementPeriodDto[] | undefined;\r\n timeZone: TimeZone;\r\n country: Country;\r\n}\r\n\r\nexport class AgreementPeriodDto implements IAgreementPeriodDto {\r\n from!: moment.Moment | undefined;\r\n to!: moment.Moment | undefined;\r\n\r\n constructor(data?: IAgreementPeriodDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementPeriodDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementPeriodDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementPeriodDto {\r\n from: moment.Moment | undefined;\r\n to: moment.Moment | undefined;\r\n}\r\n\r\nexport class ProcurementPeriodDto implements IProcurementPeriodDto {\r\n number!: number;\r\n from!: moment.Moment;\r\n to!: moment.Moment;\r\n rankingMethod!: RankingMethod;\r\n qualityPointsFrom!: moment.Moment;\r\n qualityPointsTo!: moment.Moment;\r\n\r\n constructor(data?: IProcurementPeriodDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.number = _data[\"number\"];\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n this.rankingMethod = _data[\"rankingMethod\"];\r\n this.qualityPointsFrom = _data[\"qualityPointsFrom\"] ? moment.parseZone(_data[\"qualityPointsFrom\"].toString()) : undefined;\r\n this.qualityPointsTo = _data[\"qualityPointsTo\"] ? moment.parseZone(_data[\"qualityPointsTo\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementPeriodDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementPeriodDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"number\"] = this.number;\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n data[\"rankingMethod\"] = this.rankingMethod;\r\n data[\"qualityPointsFrom\"] = this.qualityPointsFrom ? this.qualityPointsFrom.toISOString(true) : undefined;\r\n data[\"qualityPointsTo\"] = this.qualityPointsTo ? this.qualityPointsTo.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementPeriodDto {\r\n number: number;\r\n from: moment.Moment;\r\n to: moment.Moment;\r\n rankingMethod: RankingMethod;\r\n qualityPointsFrom: moment.Moment;\r\n qualityPointsTo: moment.Moment;\r\n}\r\n\r\nexport class SupplierValidationResultDto implements ISupplierValidationResultDto {\r\n supplierId!: number;\r\n valid!: boolean;\r\n name!: string | undefined;\r\n\r\n constructor(data?: ISupplierValidationResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierId = _data[\"supplierId\"];\r\n this.valid = _data[\"valid\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierValidationResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierValidationResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"valid\"] = this.valid;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierValidationResultDto {\r\n supplierId: number;\r\n valid: boolean;\r\n name: string | undefined;\r\n}\r\n\r\nexport class AgreementRouteValidationResultDto implements IAgreementRouteValidationResultDto {\r\n agreementRouteId!: number;\r\n valid!: boolean;\r\n name!: string | undefined;\r\n reason!: string | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n\r\n constructor(data?: IAgreementRouteValidationResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.valid = _data[\"valid\"];\r\n this.name = _data[\"name\"];\r\n this.reason = _data[\"reason\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteValidationResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteValidationResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"valid\"] = this.valid;\r\n data[\"name\"] = this.name;\r\n data[\"reason\"] = this.reason;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteValidationResultDto {\r\n agreementRouteId: number;\r\n valid: boolean;\r\n name: string | undefined;\r\n reason: string | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n}\r\n\r\nexport class ValidateAgreementRoutesSearchCriteria implements IValidateAgreementRoutesSearchCriteria {\r\n agreementRouteIds!: number[] | undefined;\r\n agreementRouteForProcurementSearchCriteria!: AgreementRouteForProcurementSearchCriteria | undefined;\r\n\r\n constructor(data?: IValidateAgreementRoutesSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"agreementRouteIds\"])) {\r\n this.agreementRouteIds = [] as any;\r\n for (let item of _data[\"agreementRouteIds\"])\r\n this.agreementRouteIds!.push(item);\r\n }\r\n this.agreementRouteForProcurementSearchCriteria = _data[\"agreementRouteForProcurementSearchCriteria\"] ? AgreementRouteForProcurementSearchCriteria.fromJS(_data[\"agreementRouteForProcurementSearchCriteria\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ValidateAgreementRoutesSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ValidateAgreementRoutesSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.agreementRouteIds)) {\r\n data[\"agreementRouteIds\"] = [];\r\n for (let item of this.agreementRouteIds)\r\n data[\"agreementRouteIds\"].push(item);\r\n }\r\n data[\"agreementRouteForProcurementSearchCriteria\"] = this.agreementRouteForProcurementSearchCriteria ? this.agreementRouteForProcurementSearchCriteria.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IValidateAgreementRoutesSearchCriteria {\r\n agreementRouteIds: number[] | undefined;\r\n agreementRouteForProcurementSearchCriteria: AgreementRouteForProcurementSearchCriteria | undefined;\r\n}\r\n\r\nexport class AgreementRouteForProcurementSearchCriteria implements IAgreementRouteForProcurementSearchCriteria {\r\n cargoType!: CargoType;\r\n agreementStart!: moment.Moment | undefined;\r\n country!: Country;\r\n timeZone!: TimeZone;\r\n\r\n constructor(data?: IAgreementRouteForProcurementSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.agreementStart = _data[\"agreementStart\"] ? moment.parseZone(_data[\"agreementStart\"].toString()) : undefined;\r\n this.country = _data[\"country\"];\r\n this.timeZone = _data[\"timeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteForProcurementSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteForProcurementSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"agreementStart\"] = this.agreementStart ? this.agreementStart.toISOString(true) : undefined;\r\n data[\"country\"] = this.country;\r\n data[\"timeZone\"] = this.timeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteForProcurementSearchCriteria {\r\n cargoType: CargoType;\r\n agreementStart: moment.Moment | undefined;\r\n country: Country;\r\n timeZone: TimeZone;\r\n}\r\n\r\nexport class SupplierProcurementContainerDto implements ISupplierProcurementContainerDto {\r\n rows!: SupplierProcurementRowDto[] | undefined;\r\n count!: number;\r\n importInfo!: ImportInfoDto | undefined;\r\n\r\n constructor(data?: ISupplierProcurementContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rows\"])) {\r\n this.rows = [] as any;\r\n for (let item of _data[\"rows\"])\r\n this.rows!.push(SupplierProcurementRowDto.fromJS(item));\r\n }\r\n this.count = _data[\"count\"];\r\n this.importInfo = _data[\"importInfo\"] ? ImportInfoDto.fromJS(_data[\"importInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierProcurementContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierProcurementContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rows)) {\r\n data[\"rows\"] = [];\r\n for (let item of this.rows)\r\n data[\"rows\"].push(item.toJSON());\r\n }\r\n data[\"count\"] = this.count;\r\n data[\"importInfo\"] = this.importInfo ? this.importInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierProcurementContainerDto {\r\n rows: SupplierProcurementRowDto[] | undefined;\r\n count: number;\r\n importInfo: ImportInfoDto | undefined;\r\n}\r\n\r\nexport class SupplierProcurementRowDto implements ISupplierProcurementRowDto {\r\n agreementId!: number;\r\n agreementRouteId!: number;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n specialRequirements!: string | undefined;\r\n currency!: Currency;\r\n clientName!: string | undefined;\r\n distance!: number | undefined;\r\n estimate!: number | undefined;\r\n indexFactor!: number;\r\n share!: number;\r\n stopPrice!: number | undefined;\r\n serviceFee!: number | undefined;\r\n note!: string | undefined;\r\n originalShare!: number;\r\n originalStopPrice!: number | undefined;\r\n originalServiceFee!: number | undefined;\r\n originalNote!: string | undefined;\r\n prevShare!: number;\r\n prevStopPrice!: number | undefined;\r\n prevNote!: string | undefined;\r\n messageToSuppliers!: string | undefined;\r\n documentGroupId!: number;\r\n documentGroup!: DocumentGroupDto | undefined;\r\n baseIndexName!: string | undefined;\r\n agreementPeriod!: AgreementPeriodDto | undefined;\r\n procurementPeriods!: AgreementPeriodDto[] | undefined;\r\n priceRows!: SupplierProcurementPriceRowDto[] | undefined;\r\n prevPriceRows!: SupplierProcurementPriceRowDto[] | undefined;\r\n\r\n constructor(data?: ISupplierProcurementRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.currency = _data[\"currency\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.distance = _data[\"distance\"];\r\n this.estimate = _data[\"estimate\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.share = _data[\"share\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.note = _data[\"note\"];\r\n this.originalShare = _data[\"originalShare\"];\r\n this.originalStopPrice = _data[\"originalStopPrice\"];\r\n this.originalServiceFee = _data[\"originalServiceFee\"];\r\n this.originalNote = _data[\"originalNote\"];\r\n this.prevShare = _data[\"prevShare\"];\r\n this.prevStopPrice = _data[\"prevStopPrice\"];\r\n this.prevNote = _data[\"prevNote\"];\r\n this.messageToSuppliers = _data[\"messageToSuppliers\"];\r\n this.documentGroupId = _data[\"documentGroupId\"];\r\n this.documentGroup = _data[\"documentGroup\"] ? DocumentGroupDto.fromJS(_data[\"documentGroup\"]) : undefined;\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.agreementPeriod = _data[\"agreementPeriod\"] ? AgreementPeriodDto.fromJS(_data[\"agreementPeriod\"]) : undefined;\r\n if (Array.isArray(_data[\"procurementPeriods\"])) {\r\n this.procurementPeriods = [] as any;\r\n for (let item of _data[\"procurementPeriods\"])\r\n this.procurementPeriods!.push(AgreementPeriodDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"priceRows\"])) {\r\n this.priceRows = [] as any;\r\n for (let item of _data[\"priceRows\"])\r\n this.priceRows!.push(SupplierProcurementPriceRowDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"prevPriceRows\"])) {\r\n this.prevPriceRows = [] as any;\r\n for (let item of _data[\"prevPriceRows\"])\r\n this.prevPriceRows!.push(SupplierProcurementPriceRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierProcurementRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierProcurementRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"currency\"] = this.currency;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"distance\"] = this.distance;\r\n data[\"estimate\"] = this.estimate;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"share\"] = this.share;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"note\"] = this.note;\r\n data[\"originalShare\"] = this.originalShare;\r\n data[\"originalStopPrice\"] = this.originalStopPrice;\r\n data[\"originalServiceFee\"] = this.originalServiceFee;\r\n data[\"originalNote\"] = this.originalNote;\r\n data[\"prevShare\"] = this.prevShare;\r\n data[\"prevStopPrice\"] = this.prevStopPrice;\r\n data[\"prevNote\"] = this.prevNote;\r\n data[\"messageToSuppliers\"] = this.messageToSuppliers;\r\n data[\"documentGroupId\"] = this.documentGroupId;\r\n data[\"documentGroup\"] = this.documentGroup ? this.documentGroup.toJSON() : undefined;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"agreementPeriod\"] = this.agreementPeriod ? this.agreementPeriod.toJSON() : undefined;\r\n if (Array.isArray(this.procurementPeriods)) {\r\n data[\"procurementPeriods\"] = [];\r\n for (let item of this.procurementPeriods)\r\n data[\"procurementPeriods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.priceRows)) {\r\n data[\"priceRows\"] = [];\r\n for (let item of this.priceRows)\r\n data[\"priceRows\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.prevPriceRows)) {\r\n data[\"prevPriceRows\"] = [];\r\n for (let item of this.prevPriceRows)\r\n data[\"prevPriceRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierProcurementRowDto {\r\n agreementId: number;\r\n agreementRouteId: number;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n specialRequirements: string | undefined;\r\n currency: Currency;\r\n clientName: string | undefined;\r\n distance: number | undefined;\r\n estimate: number | undefined;\r\n indexFactor: number;\r\n share: number;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n note: string | undefined;\r\n originalShare: number;\r\n originalStopPrice: number | undefined;\r\n originalServiceFee: number | undefined;\r\n originalNote: string | undefined;\r\n prevShare: number;\r\n prevStopPrice: number | undefined;\r\n prevNote: string | undefined;\r\n messageToSuppliers: string | undefined;\r\n documentGroupId: number;\r\n documentGroup: DocumentGroupDto | undefined;\r\n baseIndexName: string | undefined;\r\n agreementPeriod: AgreementPeriodDto | undefined;\r\n procurementPeriods: AgreementPeriodDto[] | undefined;\r\n priceRows: SupplierProcurementPriceRowDto[] | undefined;\r\n prevPriceRows: SupplierProcurementPriceRowDto[] | undefined;\r\n}\r\n\r\nexport class SupplierProcurementPriceRowDto implements ISupplierProcurementPriceRowDto {\r\n truckType!: TruckType;\r\n basePrice!: number | undefined;\r\n freightPrice!: number | undefined;\r\n initialFee!: number | undefined;\r\n originalBasePrice!: number | undefined;\r\n originalInitialFee!: number | undefined;\r\n rank!: number | undefined;\r\n\r\n constructor(data?: ISupplierProcurementPriceRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckType = _data[\"truckType\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.originalBasePrice = _data[\"originalBasePrice\"];\r\n this.originalInitialFee = _data[\"originalInitialFee\"];\r\n this.rank = _data[\"rank\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierProcurementPriceRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierProcurementPriceRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckType\"] = this.truckType;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"originalBasePrice\"] = this.originalBasePrice;\r\n data[\"originalInitialFee\"] = this.originalInitialFee;\r\n data[\"rank\"] = this.rank;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierProcurementPriceRowDto {\r\n truckType: TruckType;\r\n basePrice: number | undefined;\r\n freightPrice: number | undefined;\r\n initialFee: number | undefined;\r\n originalBasePrice: number | undefined;\r\n originalInitialFee: number | undefined;\r\n rank: number | undefined;\r\n}\r\n\r\nexport class ImportInfoDto implements IImportInfoDto {\r\n cargoType!: CargoType | undefined;\r\n errors!: SupplierExcelImportErrorMessage[] | undefined;\r\n\r\n constructor(data?: IImportInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n if (Array.isArray(_data[\"errors\"])) {\r\n this.errors = [] as any;\r\n for (let item of _data[\"errors\"])\r\n this.errors!.push(SupplierExcelImportErrorMessage.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n if (Array.isArray(this.errors)) {\r\n data[\"errors\"] = [];\r\n for (let item of this.errors)\r\n data[\"errors\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportInfoDto {\r\n cargoType: CargoType | undefined;\r\n errors: SupplierExcelImportErrorMessage[] | undefined;\r\n}\r\n\r\nexport class SupplierExcelImportErrorMessage implements ISupplierExcelImportErrorMessage {\r\n errorMessage!: string | undefined;\r\n subMessages!: string[] | undefined;\r\n\r\n constructor(data?: ISupplierExcelImportErrorMessage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.errorMessage = _data[\"errorMessage\"];\r\n if (Array.isArray(_data[\"subMessages\"])) {\r\n this.subMessages = [] as any;\r\n for (let item of _data[\"subMessages\"])\r\n this.subMessages!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierExcelImportErrorMessage {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierExcelImportErrorMessage();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"errorMessage\"] = this.errorMessage;\r\n if (Array.isArray(this.subMessages)) {\r\n data[\"subMessages\"] = [];\r\n for (let item of this.subMessages)\r\n data[\"subMessages\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierExcelImportErrorMessage {\r\n errorMessage: string | undefined;\r\n subMessages: string[] | undefined;\r\n}\r\n\r\nexport class SupplierProcurementSearchCriteriaContainer implements ISupplierProcurementSearchCriteriaContainer {\r\n searchCriteria!: SupplierProcurementSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: SupplierProcurementOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: ISupplierProcurementSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchCriteria = _data[\"searchCriteria\"] ? SupplierProcurementSearchCriteria.fromJS(_data[\"searchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierProcurementSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierProcurementSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchCriteria\"] = this.searchCriteria ? this.searchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierProcurementSearchCriteriaContainer {\r\n searchCriteria: SupplierProcurementSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: SupplierProcurementOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class SupplierProcurementSearchCriteria implements ISupplierProcurementSearchCriteria {\r\n cargoType!: CargoType;\r\n clientId!: number | undefined;\r\n priceFilter!: PriceFilter | undefined;\r\n currency!: Currency | undefined;\r\n daysForward!: number | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n pickupCountries!: Country[] | undefined;\r\n deliveryCountries!: Country[] | undefined;\r\n pickupCounty!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n closedProcurements!: boolean;\r\n\r\n constructor(data?: ISupplierProcurementSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.priceFilter = _data[\"priceFilter\"];\r\n this.currency = _data[\"currency\"];\r\n this.daysForward = _data[\"daysForward\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"pickupCountries\"])) {\r\n this.pickupCountries = [] as any;\r\n for (let item of _data[\"pickupCountries\"])\r\n this.pickupCountries!.push(item);\r\n }\r\n if (Array.isArray(_data[\"deliveryCountries\"])) {\r\n this.deliveryCountries = [] as any;\r\n for (let item of _data[\"deliveryCountries\"])\r\n this.deliveryCountries!.push(item);\r\n }\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.closedProcurements = _data[\"closedProcurements\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierProcurementSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierProcurementSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"priceFilter\"] = this.priceFilter;\r\n data[\"currency\"] = this.currency;\r\n data[\"daysForward\"] = this.daysForward;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.pickupCountries)) {\r\n data[\"pickupCountries\"] = [];\r\n for (let item of this.pickupCountries)\r\n data[\"pickupCountries\"].push(item);\r\n }\r\n if (Array.isArray(this.deliveryCountries)) {\r\n data[\"deliveryCountries\"] = [];\r\n for (let item of this.deliveryCountries)\r\n data[\"deliveryCountries\"].push(item);\r\n }\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"closedProcurements\"] = this.closedProcurements;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierProcurementSearchCriteria {\r\n cargoType: CargoType;\r\n clientId: number | undefined;\r\n priceFilter: PriceFilter | undefined;\r\n currency: Currency | undefined;\r\n daysForward: number | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n pickupCountries: Country[] | undefined;\r\n deliveryCountries: Country[] | undefined;\r\n pickupCounty: string | undefined;\r\n deliveryCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n closedProcurements: boolean;\r\n}\r\n\r\nexport enum SupplierProcurementOrderBy {\r\n Client = 1,\r\n CurrencyType = 2,\r\n Distance = 3,\r\n}\r\n\r\nexport class SupplierProcurementPriceDto implements ISupplierProcurementPriceDto {\r\n agreementId!: number;\r\n stopPrice!: number | undefined;\r\n serviceFee!: number | undefined;\r\n note!: string | undefined;\r\n estimatedShareOfLoads!: number;\r\n prices!: SupplierGivenPriceDto[] | undefined;\r\n\r\n constructor(data?: ISupplierProcurementPriceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.note = _data[\"note\"];\r\n this.estimatedShareOfLoads = _data[\"estimatedShareOfLoads\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(SupplierGivenPriceDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierProcurementPriceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierProcurementPriceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"note\"] = this.note;\r\n data[\"estimatedShareOfLoads\"] = this.estimatedShareOfLoads;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierProcurementPriceDto {\r\n agreementId: number;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n note: string | undefined;\r\n estimatedShareOfLoads: number;\r\n prices: SupplierGivenPriceDto[] | undefined;\r\n}\r\n\r\nexport class SupplierGivenPriceDto implements ISupplierGivenPriceDto {\r\n truckType!: TruckType;\r\n price!: number | undefined;\r\n initialFee!: number | undefined;\r\n\r\n constructor(data?: ISupplierGivenPriceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckType = _data[\"truckType\"];\r\n this.price = _data[\"price\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierGivenPriceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierGivenPriceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckType\"] = this.truckType;\r\n data[\"price\"] = this.price;\r\n data[\"initialFee\"] = this.initialFee;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierGivenPriceDto {\r\n truckType: TruckType;\r\n price: number | undefined;\r\n initialFee: number | undefined;\r\n}\r\n\r\nexport class PreSpotTenderDto implements IPreSpotTenderDto {\r\n rankedSupplierIds!: number[] | undefined;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n pickupZone!: TimeZone;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n deliveryZone!: TimeZone;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n\r\n constructor(data?: IPreSpotTenderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"rankedSupplierIds\"])) {\r\n this.rankedSupplierIds = [] as any;\r\n for (let item of _data[\"rankedSupplierIds\"])\r\n this.rankedSupplierIds!.push(item);\r\n }\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.deliveryZone = _data[\"deliveryZone\"];\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreSpotTenderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreSpotTenderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.rankedSupplierIds)) {\r\n data[\"rankedSupplierIds\"] = [];\r\n for (let item of this.rankedSupplierIds)\r\n data[\"rankedSupplierIds\"].push(item);\r\n }\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"deliveryZone\"] = this.deliveryZone;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreSpotTenderDto {\r\n rankedSupplierIds: number[] | undefined;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n pickupZone: TimeZone;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n deliveryZone: TimeZone;\r\n mandatoryBookedDeliveryDate: boolean;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n}\r\n\r\nexport class LoadActionResponse implements ILoadActionResponse {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n routeName!: string | undefined;\r\n\r\n constructor(data?: ILoadActionResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.routeName = _data[\"routeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadActionResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadActionResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"routeName\"] = this.routeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadActionResponse {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n routeName: string | undefined;\r\n}\r\n\r\nexport class CreateSpotTenderDto implements ICreateSpotTenderDto {\r\n loadId!: number;\r\n endDate!: moment.Moment;\r\n supplierIds!: number[] | undefined;\r\n dates!: LoadClientEditDatesDto | undefined;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n mandatoryBookedPickupDate!: boolean;\r\n note!: string | undefined;\r\n documentGroupId!: number | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n\r\n constructor(data?: ICreateSpotTenderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"supplierIds\"])) {\r\n this.supplierIds = [] as any;\r\n for (let item of _data[\"supplierIds\"])\r\n this.supplierIds!.push(item);\r\n }\r\n this.dates = _data[\"dates\"] ? LoadClientEditDatesDto.fromJS(_data[\"dates\"]) : undefined;\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.note = _data[\"note\"];\r\n this.documentGroupId = _data[\"documentGroupId\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateSpotTenderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateSpotTenderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.supplierIds)) {\r\n data[\"supplierIds\"] = [];\r\n for (let item of this.supplierIds)\r\n data[\"supplierIds\"].push(item);\r\n }\r\n data[\"dates\"] = this.dates ? this.dates.toJSON() : undefined;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"note\"] = this.note;\r\n data[\"documentGroupId\"] = this.documentGroupId;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateSpotTenderDto {\r\n loadId: number;\r\n endDate: moment.Moment;\r\n supplierIds: number[] | undefined;\r\n dates: LoadClientEditDatesDto | undefined;\r\n mandatoryBookedDeliveryDate: boolean;\r\n mandatoryBookedPickupDate: boolean;\r\n note: string | undefined;\r\n documentGroupId: number | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n}\r\n\r\nexport class LoadClientEditDatesDto implements ILoadClientEditDatesDto {\r\n pickupEarliest!: moment.Moment | undefined;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment | undefined;\r\n pickupZone!: TimeZone;\r\n deliverZone!: TimeZone;\r\n\r\n constructor(data?: ILoadClientEditDatesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliverEarliest = _data[\"deliverEarliest\"] ? moment.parseZone(_data[\"deliverEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliverZone = _data[\"deliverZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditDatesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditDatesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliverEarliest\"] = this.deliverEarliest ? this.deliverEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliverZone\"] = this.deliverZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditDatesDto {\r\n pickupEarliest: moment.Moment | undefined;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment | undefined;\r\n pickupZone: TimeZone;\r\n deliverZone: TimeZone;\r\n}\r\n\r\nexport class PreClientEditSpotTenderDto implements IPreClientEditSpotTenderDto {\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment;\r\n mandatoryBookedPickup!: boolean;\r\n mandatoryBookedDelivery!: boolean;\r\n messageToSupplier!: string | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n loadTruckType!: TruckType;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n numExtraStops!: number;\r\n currency!: Currency;\r\n ongoing!: boolean;\r\n endDate!: moment.Moment;\r\n prices!: PreEditSpotTenderPriceDto[] | undefined;\r\n suppliers!: RepositoryDto[] | undefined;\r\n spotTenderId!: number;\r\n\r\n constructor(data?: IPreClientEditSpotTenderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliverEarliest = _data[\"deliverEarliest\"] ? moment.parseZone(_data[\"deliverEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.mandatoryBookedPickup = _data[\"mandatoryBookedPickup\"];\r\n this.mandatoryBookedDelivery = _data[\"mandatoryBookedDelivery\"];\r\n this.messageToSupplier = _data[\"messageToSupplier\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n this.loadTruckType = _data[\"loadTruckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.currency = _data[\"currency\"];\r\n this.ongoing = _data[\"ongoing\"];\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(PreEditSpotTenderPriceDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"suppliers\"])) {\r\n this.suppliers = [] as any;\r\n for (let item of _data[\"suppliers\"])\r\n this.suppliers!.push(RepositoryDto.fromJS(item));\r\n }\r\n this.spotTenderId = _data[\"spotTenderId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreClientEditSpotTenderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreClientEditSpotTenderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliverEarliest\"] = this.deliverEarliest ? this.deliverEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"mandatoryBookedPickup\"] = this.mandatoryBookedPickup;\r\n data[\"mandatoryBookedDelivery\"] = this.mandatoryBookedDelivery;\r\n data[\"messageToSupplier\"] = this.messageToSupplier;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n data[\"loadTruckType\"] = this.loadTruckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"currency\"] = this.currency;\r\n data[\"ongoing\"] = this.ongoing;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.suppliers)) {\r\n data[\"suppliers\"] = [];\r\n for (let item of this.suppliers)\r\n data[\"suppliers\"].push(item.toJSON());\r\n }\r\n data[\"spotTenderId\"] = this.spotTenderId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreClientEditSpotTenderDto {\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment;\r\n mandatoryBookedPickup: boolean;\r\n mandatoryBookedDelivery: boolean;\r\n messageToSupplier: string | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n loadTruckType: TruckType;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n numExtraStops: number;\r\n currency: Currency;\r\n ongoing: boolean;\r\n endDate: moment.Moment;\r\n prices: PreEditSpotTenderPriceDto[] | undefined;\r\n suppliers: RepositoryDto[] | undefined;\r\n spotTenderId: number;\r\n}\r\n\r\nexport class PreEditSpotTenderPriceDto implements IPreEditSpotTenderPriceDto {\r\n spotTenderPriceRowId!: number;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n note!: string | undefined;\r\n truckType!: TruckType;\r\n price!: number;\r\n supplierName!: string | undefined;\r\n supplierId!: number;\r\n\r\n constructor(data?: IPreEditSpotTenderPriceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.spotTenderPriceRowId = _data[\"spotTenderPriceRowId\"];\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.note = _data[\"note\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.price = _data[\"price\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreEditSpotTenderPriceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreEditSpotTenderPriceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"spotTenderPriceRowId\"] = this.spotTenderPriceRowId;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"note\"] = this.note;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"price\"] = this.price;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"supplierId\"] = this.supplierId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreEditSpotTenderPriceDto {\r\n spotTenderPriceRowId: number;\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n note: string | undefined;\r\n truckType: TruckType;\r\n price: number;\r\n supplierName: string | undefined;\r\n supplierId: number;\r\n}\r\n\r\nexport class FinishSpotTenderDto implements IFinishSpotTenderDto {\r\n spotTenderPriceRowId!: number;\r\n\r\n constructor(data?: IFinishSpotTenderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.spotTenderPriceRowId = _data[\"spotTenderPriceRowId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FinishSpotTenderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FinishSpotTenderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"spotTenderPriceRowId\"] = this.spotTenderPriceRowId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFinishSpotTenderDto {\r\n spotTenderPriceRowId: number;\r\n}\r\n\r\nexport class SpotTenderAccordionDto implements ISpotTenderAccordionDto {\r\n regDate!: moment.Moment;\r\n endDate!: moment.Moment;\r\n messageToSupplier!: string | undefined;\r\n currency!: Currency;\r\n truckType!: TruckType;\r\n supplierId!: number | undefined;\r\n documentGroupId!: number | undefined;\r\n prices!: PreEditSpotTenderPriceDto[] | undefined;\r\n\r\n constructor(data?: ISpotTenderAccordionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n this.messageToSupplier = _data[\"messageToSupplier\"];\r\n this.currency = _data[\"currency\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.documentGroupId = _data[\"documentGroupId\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(PreEditSpotTenderPriceDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SpotTenderAccordionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SpotTenderAccordionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n data[\"messageToSupplier\"] = this.messageToSupplier;\r\n data[\"currency\"] = this.currency;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"documentGroupId\"] = this.documentGroupId;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISpotTenderAccordionDto {\r\n regDate: moment.Moment;\r\n endDate: moment.Moment;\r\n messageToSupplier: string | undefined;\r\n currency: Currency;\r\n truckType: TruckType;\r\n supplierId: number | undefined;\r\n documentGroupId: number | undefined;\r\n prices: PreEditSpotTenderPriceDto[] | undefined;\r\n}\r\n\r\nexport class SupplierEditSpotTenderDto implements ISupplierEditSpotTenderDto {\r\n loadId!: number;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n note!: string | undefined;\r\n prices!: SupplierEditSpotTenderPriceDto[] | undefined;\r\n\r\n constructor(data?: ISupplierEditSpotTenderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.note = _data[\"note\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(SupplierEditSpotTenderPriceDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierEditSpotTenderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierEditSpotTenderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"note\"] = this.note;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierEditSpotTenderDto {\r\n loadId: number;\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n note: string | undefined;\r\n prices: SupplierEditSpotTenderPriceDto[] | undefined;\r\n}\r\n\r\nexport class SupplierEditSpotTenderPriceDto implements ISupplierEditSpotTenderPriceDto {\r\n truckType!: TruckType;\r\n price!: number;\r\n\r\n constructor(data?: ISupplierEditSpotTenderPriceDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckType = _data[\"truckType\"];\r\n this.price = _data[\"price\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierEditSpotTenderPriceDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierEditSpotTenderPriceDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckType\"] = this.truckType;\r\n data[\"price\"] = this.price;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierEditSpotTenderPriceDto {\r\n truckType: TruckType;\r\n price: number;\r\n}\r\n\r\nexport class PreSupplierEditSpotTenderDto implements IPreSupplierEditSpotTenderDto {\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment;\r\n pickupZone!: TimeZone;\r\n deliverZone!: TimeZone;\r\n mandatoryBookedPickup!: boolean;\r\n mandatoryBookedDelivery!: boolean;\r\n messageToSupplier!: string | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n routeName!: string | undefined;\r\n numExtraStops!: number;\r\n currency!: Currency;\r\n ongoing!: boolean;\r\n endDate!: moment.Moment;\r\n prices!: PreEditSpotTenderPriceDto[] | undefined;\r\n spotTenderId!: number;\r\n clientName!: string | undefined;\r\n\r\n constructor(data?: IPreSupplierEditSpotTenderDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliverEarliest = _data[\"deliverEarliest\"] ? moment.parseZone(_data[\"deliverEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliverZone = _data[\"deliverZone\"];\r\n this.mandatoryBookedPickup = _data[\"mandatoryBookedPickup\"];\r\n this.mandatoryBookedDelivery = _data[\"mandatoryBookedDelivery\"];\r\n this.messageToSupplier = _data[\"messageToSupplier\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n this.routeName = _data[\"routeName\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.currency = _data[\"currency\"];\r\n this.ongoing = _data[\"ongoing\"];\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(PreEditSpotTenderPriceDto.fromJS(item));\r\n }\r\n this.spotTenderId = _data[\"spotTenderId\"];\r\n this.clientName = _data[\"clientName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreSupplierEditSpotTenderDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreSupplierEditSpotTenderDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliverEarliest\"] = this.deliverEarliest ? this.deliverEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliverZone\"] = this.deliverZone;\r\n data[\"mandatoryBookedPickup\"] = this.mandatoryBookedPickup;\r\n data[\"mandatoryBookedDelivery\"] = this.mandatoryBookedDelivery;\r\n data[\"messageToSupplier\"] = this.messageToSupplier;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n data[\"routeName\"] = this.routeName;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"currency\"] = this.currency;\r\n data[\"ongoing\"] = this.ongoing;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n data[\"spotTenderId\"] = this.spotTenderId;\r\n data[\"clientName\"] = this.clientName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreSupplierEditSpotTenderDto {\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment;\r\n pickupZone: TimeZone;\r\n deliverZone: TimeZone;\r\n mandatoryBookedPickup: boolean;\r\n mandatoryBookedDelivery: boolean;\r\n messageToSupplier: string | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n routeName: string | undefined;\r\n numExtraStops: number;\r\n currency: Currency;\r\n ongoing: boolean;\r\n endDate: moment.Moment;\r\n prices: PreEditSpotTenderPriceDto[] | undefined;\r\n spotTenderId: number;\r\n clientName: string | undefined;\r\n}\r\n\r\nexport class NewsDto implements INewsDto {\r\n summary!: string | undefined;\r\n body!: string | undefined;\r\n displayDate!: moment.Moment;\r\n read!: boolean;\r\n\r\n constructor(data?: INewsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.summary = _data[\"summary\"];\r\n this.body = _data[\"body\"];\r\n this.displayDate = _data[\"displayDate\"] ? moment.parseZone(_data[\"displayDate\"].toString()) : undefined;\r\n this.read = _data[\"read\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"summary\"] = this.summary;\r\n data[\"body\"] = this.body;\r\n data[\"displayDate\"] = this.displayDate ? this.displayDate.toISOString(true) : undefined;\r\n data[\"read\"] = this.read;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewsDto {\r\n summary: string | undefined;\r\n body: string | undefined;\r\n displayDate: moment.Moment;\r\n read: boolean;\r\n}\r\n\r\nexport class DeliverLoadMobileDto implements IDeliverLoadMobileDto {\r\n transportNo!: string | undefined;\r\n consigneeNote!: string | undefined;\r\n packageNo!: string | undefined;\r\n deliveryLocationLng!: string | undefined;\r\n deliveryLocationLat!: string | undefined;\r\n\r\n constructor(data?: IDeliverLoadMobileDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.transportNo = _data[\"transportNo\"];\r\n this.consigneeNote = _data[\"consigneeNote\"];\r\n this.packageNo = _data[\"packageNo\"];\r\n this.deliveryLocationLng = _data[\"deliveryLocationLng\"];\r\n this.deliveryLocationLat = _data[\"deliveryLocationLat\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliverLoadMobileDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliverLoadMobileDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"consigneeNote\"] = this.consigneeNote;\r\n data[\"packageNo\"] = this.packageNo;\r\n data[\"deliveryLocationLng\"] = this.deliveryLocationLng;\r\n data[\"deliveryLocationLat\"] = this.deliveryLocationLat;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliverLoadMobileDto {\r\n transportNo: string | undefined;\r\n consigneeNote: string | undefined;\r\n packageNo: string | undefined;\r\n deliveryLocationLng: string | undefined;\r\n deliveryLocationLat: string | undefined;\r\n}\r\n\r\nexport class AnonymousLoadDetailsDto implements IAnonymousLoadDetailsDto {\r\n loadStatus!: LoadStatus;\r\n transportNo!: string | undefined;\r\n pickupAddress!: string | undefined;\r\n deliveryAddress!: string | undefined;\r\n note!: string | undefined;\r\n pickupInfo!: string | undefined;\r\n deliveryInfo!: string | undefined;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment;\r\n slotTimeBooking!: boolean;\r\n\r\n constructor(data?: IAnonymousLoadDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.pickupAddress = _data[\"pickupAddress\"];\r\n this.deliveryAddress = _data[\"deliveryAddress\"];\r\n this.note = _data[\"note\"];\r\n this.pickupInfo = _data[\"pickupInfo\"];\r\n this.deliveryInfo = _data[\"deliveryInfo\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliverEarliest = _data[\"deliverEarliest\"] ? moment.parseZone(_data[\"deliverEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.slotTimeBooking = _data[\"slotTimeBooking\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnonymousLoadDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnonymousLoadDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"pickupAddress\"] = this.pickupAddress;\r\n data[\"deliveryAddress\"] = this.deliveryAddress;\r\n data[\"note\"] = this.note;\r\n data[\"pickupInfo\"] = this.pickupInfo;\r\n data[\"deliveryInfo\"] = this.deliveryInfo;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliverEarliest\"] = this.deliverEarliest ? this.deliverEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"slotTimeBooking\"] = this.slotTimeBooking;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnonymousLoadDetailsDto {\r\n loadStatus: LoadStatus;\r\n transportNo: string | undefined;\r\n pickupAddress: string | undefined;\r\n deliveryAddress: string | undefined;\r\n note: string | undefined;\r\n pickupInfo: string | undefined;\r\n deliveryInfo: string | undefined;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment;\r\n slotTimeBooking: boolean;\r\n}\r\n\r\nexport class MobileLoadListDto implements IMobileLoadListDto {\r\n loadId!: number;\r\n clientName!: string | undefined;\r\n supplierName!: string | undefined;\r\n route!: string | undefined;\r\n deliveryLatest!: moment.Moment | undefined;\r\n pickupEarliest!: moment.Moment | undefined;\r\n transportNo!: string | undefined;\r\n stops!: number | undefined;\r\n containers!: number | undefined;\r\n truckType!: TruckType;\r\n cargoType!: CargoType;\r\n status!: LoadStatus;\r\n\r\n constructor(data?: IMobileLoadListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.route = _data[\"route\"];\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.transportNo = _data[\"transportNo\"];\r\n this.stops = _data[\"stops\"];\r\n this.containers = _data[\"containers\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MobileLoadListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MobileLoadListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"route\"] = this.route;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"stops\"] = this.stops;\r\n data[\"containers\"] = this.containers;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMobileLoadListDto {\r\n loadId: number;\r\n clientName: string | undefined;\r\n supplierName: string | undefined;\r\n route: string | undefined;\r\n deliveryLatest: moment.Moment | undefined;\r\n pickupEarliest: moment.Moment | undefined;\r\n transportNo: string | undefined;\r\n stops: number | undefined;\r\n containers: number | undefined;\r\n truckType: TruckType;\r\n cargoType: CargoType;\r\n status: LoadStatus;\r\n}\r\n\r\nexport class LoadClientLoadBaseModel implements ILoadClientLoadBaseModel {\r\n dates!: LoadClientEditDatesDto | undefined;\r\n dateRequirements!: LoadClientEditDateRequirementsDto | undefined;\r\n location!: LoadClientEditLocationDto | undefined;\r\n infoTexts!: LoadClientEditInfoTextsDto | undefined;\r\n assortedValues!: LoadClientEditAssortedValuesDto | undefined;\r\n subLocations!: LoadClientEditSubLocations | undefined;\r\n relatedLoads!: LoadClientEditRelatedLoadsSaveDto | undefined;\r\n containerValues!: LoadClientEditContainersDto | undefined;\r\n documents!: LoadClientEditDocumentsDto | undefined;\r\n\r\n constructor(data?: ILoadClientLoadBaseModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dates = _data[\"dates\"] ? LoadClientEditDatesDto.fromJS(_data[\"dates\"]) : undefined;\r\n this.dateRequirements = _data[\"dateRequirements\"] ? LoadClientEditDateRequirementsDto.fromJS(_data[\"dateRequirements\"]) : undefined;\r\n this.location = _data[\"location\"] ? LoadClientEditLocationDto.fromJS(_data[\"location\"]) : undefined;\r\n this.infoTexts = _data[\"infoTexts\"] ? LoadClientEditInfoTextsDto.fromJS(_data[\"infoTexts\"]) : undefined;\r\n this.assortedValues = _data[\"assortedValues\"] ? LoadClientEditAssortedValuesDto.fromJS(_data[\"assortedValues\"]) : undefined;\r\n this.subLocations = _data[\"subLocations\"] ? LoadClientEditSubLocations.fromJS(_data[\"subLocations\"]) : undefined;\r\n this.relatedLoads = _data[\"relatedLoads\"] ? LoadClientEditRelatedLoadsSaveDto.fromJS(_data[\"relatedLoads\"]) : undefined;\r\n this.containerValues = _data[\"containerValues\"] ? LoadClientEditContainersDto.fromJS(_data[\"containerValues\"]) : undefined;\r\n this.documents = _data[\"documents\"] ? LoadClientEditDocumentsDto.fromJS(_data[\"documents\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientLoadBaseModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientLoadBaseModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dates\"] = this.dates ? this.dates.toJSON() : undefined;\r\n data[\"dateRequirements\"] = this.dateRequirements ? this.dateRequirements.toJSON() : undefined;\r\n data[\"location\"] = this.location ? this.location.toJSON() : undefined;\r\n data[\"infoTexts\"] = this.infoTexts ? this.infoTexts.toJSON() : undefined;\r\n data[\"assortedValues\"] = this.assortedValues ? this.assortedValues.toJSON() : undefined;\r\n data[\"subLocations\"] = this.subLocations ? this.subLocations.toJSON() : undefined;\r\n data[\"relatedLoads\"] = this.relatedLoads ? this.relatedLoads.toJSON() : undefined;\r\n data[\"containerValues\"] = this.containerValues ? this.containerValues.toJSON() : undefined;\r\n data[\"documents\"] = this.documents ? this.documents.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientLoadBaseModel {\r\n dates: LoadClientEditDatesDto | undefined;\r\n dateRequirements: LoadClientEditDateRequirementsDto | undefined;\r\n location: LoadClientEditLocationDto | undefined;\r\n infoTexts: LoadClientEditInfoTextsDto | undefined;\r\n assortedValues: LoadClientEditAssortedValuesDto | undefined;\r\n subLocations: LoadClientEditSubLocations | undefined;\r\n relatedLoads: LoadClientEditRelatedLoadsSaveDto | undefined;\r\n containerValues: LoadClientEditContainersDto | undefined;\r\n documents: LoadClientEditDocumentsDto | undefined;\r\n}\r\n\r\nexport class LoadClientCreateDto extends LoadClientLoadBaseModel implements ILoadClientCreateDto {\r\n publishValues!: LoadClientPublishValues | undefined;\r\n\r\n constructor(data?: ILoadClientCreateDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.publishValues = _data[\"publishValues\"] ? LoadClientPublishValues.fromJS(_data[\"publishValues\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientCreateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientCreateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"publishValues\"] = this.publishValues ? this.publishValues.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientCreateDto extends ILoadClientLoadBaseModel {\r\n publishValues: LoadClientPublishValues | undefined;\r\n}\r\n\r\nexport class LoadClientPublishValues implements ILoadClientPublishValues {\r\n agreementRouteId!: number;\r\n publishSpeed!: PublishSpeed;\r\n truckType!: TruckType;\r\n cargoType!: CargoType;\r\n\r\n constructor(data?: ILoadClientPublishValues) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientPublishValues {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientPublishValues();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"cargoType\"] = this.cargoType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientPublishValues {\r\n agreementRouteId: number;\r\n publishSpeed: PublishSpeed;\r\n truckType: TruckType;\r\n cargoType: CargoType;\r\n}\r\n\r\nexport class LoadClientEditDateRequirementsDto implements ILoadClientEditDateRequirementsDto {\r\n bookedPickup!: boolean;\r\n bookedDelivery!: boolean;\r\n\r\n constructor(data?: ILoadClientEditDateRequirementsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bookedPickup = _data[\"bookedPickup\"];\r\n this.bookedDelivery = _data[\"bookedDelivery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditDateRequirementsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditDateRequirementsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bookedPickup\"] = this.bookedPickup;\r\n data[\"bookedDelivery\"] = this.bookedDelivery;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditDateRequirementsDto {\r\n bookedPickup: boolean;\r\n bookedDelivery: boolean;\r\n}\r\n\r\nexport class LoadClientEditLocationDto implements ILoadClientEditLocationDto {\r\n pickupLocationId!: number;\r\n pickupStreetAddress!: string | undefined;\r\n deliveryLocationId!: number;\r\n deliveryStreetAddress!: string | undefined;\r\n\r\n constructor(data?: ILoadClientEditLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupLocationId = _data[\"pickupLocationId\"];\r\n this.pickupStreetAddress = _data[\"pickupStreetAddress\"];\r\n this.deliveryLocationId = _data[\"deliveryLocationId\"];\r\n this.deliveryStreetAddress = _data[\"deliveryStreetAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupLocationId\"] = this.pickupLocationId;\r\n data[\"pickupStreetAddress\"] = this.pickupStreetAddress;\r\n data[\"deliveryLocationId\"] = this.deliveryLocationId;\r\n data[\"deliveryStreetAddress\"] = this.deliveryStreetAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditLocationDto {\r\n pickupLocationId: number;\r\n pickupStreetAddress: string | undefined;\r\n deliveryLocationId: number;\r\n deliveryStreetAddress: string | undefined;\r\n}\r\n\r\nexport class LoadClientEditInfoTextsDto implements ILoadClientEditInfoTextsDto {\r\n note!: string | undefined;\r\n pickupInfo!: string | undefined;\r\n destinationInfo!: string | undefined;\r\n contentInfo!: string | undefined;\r\n\r\n constructor(data?: ILoadClientEditInfoTextsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.note = _data[\"note\"];\r\n this.pickupInfo = _data[\"pickupInfo\"];\r\n this.destinationInfo = _data[\"destinationInfo\"];\r\n this.contentInfo = _data[\"contentInfo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditInfoTextsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditInfoTextsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"note\"] = this.note;\r\n data[\"pickupInfo\"] = this.pickupInfo;\r\n data[\"destinationInfo\"] = this.destinationInfo;\r\n data[\"contentInfo\"] = this.contentInfo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditInfoTextsDto {\r\n note: string | undefined;\r\n pickupInfo: string | undefined;\r\n destinationInfo: string | undefined;\r\n contentInfo: string | undefined;\r\n}\r\n\r\nexport class LoadClientEditAssortedValuesDto implements ILoadClientEditAssortedValuesDto {\r\n truckNo!: string | undefined;\r\n loadOrderNo!: string | undefined;\r\n blNo!: string | undefined;\r\n transportNo!: string | undefined;\r\n consignmentNote!: string | undefined;\r\n volume!: number | undefined;\r\n weight!: number | undefined;\r\n packages!: number | undefined;\r\n unit!: string | undefined;\r\n referenceNo!: string | undefined;\r\n terminalId!: number | undefined;\r\n customerId!: number | undefined;\r\n distance!: number | undefined;\r\n vtlPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n bookingNo!: string | undefined;\r\n\r\n constructor(data?: ILoadClientEditAssortedValuesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.truckNo = _data[\"truckNo\"];\r\n this.loadOrderNo = _data[\"loadOrderNo\"];\r\n this.blNo = _data[\"blNo\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.consignmentNote = _data[\"consignmentNote\"];\r\n this.volume = _data[\"volume\"];\r\n this.weight = _data[\"weight\"];\r\n this.packages = _data[\"packages\"];\r\n this.unit = _data[\"unit\"];\r\n this.referenceNo = _data[\"referenceNo\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.distance = _data[\"distance\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditAssortedValuesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditAssortedValuesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"loadOrderNo\"] = this.loadOrderNo;\r\n data[\"blNo\"] = this.blNo;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"consignmentNote\"] = this.consignmentNote;\r\n data[\"volume\"] = this.volume;\r\n data[\"weight\"] = this.weight;\r\n data[\"packages\"] = this.packages;\r\n data[\"unit\"] = this.unit;\r\n data[\"referenceNo\"] = this.referenceNo;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"distance\"] = this.distance;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditAssortedValuesDto {\r\n truckNo: string | undefined;\r\n loadOrderNo: string | undefined;\r\n blNo: string | undefined;\r\n transportNo: string | undefined;\r\n consignmentNote: string | undefined;\r\n volume: number | undefined;\r\n weight: number | undefined;\r\n packages: number | undefined;\r\n unit: string | undefined;\r\n referenceNo: string | undefined;\r\n terminalId: number | undefined;\r\n customerId: number | undefined;\r\n distance: number | undefined;\r\n vtlPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n bookingNo: string | undefined;\r\n}\r\n\r\nexport class LoadClientEditSubLocations implements ILoadClientEditSubLocations {\r\n subPickupLocations!: SubLocationDto[] | undefined;\r\n subDeliveryLocations!: SubLocationDto[] | undefined;\r\n\r\n constructor(data?: ILoadClientEditSubLocations) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"subPickupLocations\"])) {\r\n this.subPickupLocations = [] as any;\r\n for (let item of _data[\"subPickupLocations\"])\r\n this.subPickupLocations!.push(SubLocationDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"subDeliveryLocations\"])) {\r\n this.subDeliveryLocations = [] as any;\r\n for (let item of _data[\"subDeliveryLocations\"])\r\n this.subDeliveryLocations!.push(SubLocationDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditSubLocations {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditSubLocations();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.subPickupLocations)) {\r\n data[\"subPickupLocations\"] = [];\r\n for (let item of this.subPickupLocations)\r\n data[\"subPickupLocations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.subDeliveryLocations)) {\r\n data[\"subDeliveryLocations\"] = [];\r\n for (let item of this.subDeliveryLocations)\r\n data[\"subDeliveryLocations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditSubLocations {\r\n subPickupLocations: SubLocationDto[] | undefined;\r\n subDeliveryLocations: SubLocationDto[] | undefined;\r\n}\r\n\r\nexport class SubLocationDto implements ISubLocationDto {\r\n locationId!: number;\r\n country!: Country;\r\n address!: string | undefined;\r\n locationDisplayNameReadOnly!: string | undefined;\r\n\r\n constructor(data?: ISubLocationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationId = _data[\"locationId\"];\r\n this.country = _data[\"country\"];\r\n this.address = _data[\"address\"];\r\n this.locationDisplayNameReadOnly = _data[\"locationDisplayNameReadOnly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SubLocationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SubLocationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationId\"] = this.locationId;\r\n data[\"country\"] = this.country;\r\n data[\"address\"] = this.address;\r\n data[\"locationDisplayNameReadOnly\"] = this.locationDisplayNameReadOnly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISubLocationDto {\r\n locationId: number;\r\n country: Country;\r\n address: string | undefined;\r\n locationDisplayNameReadOnly: string | undefined;\r\n}\r\n\r\nexport class LoadClientEditRelatedLoadsSaveDto implements ILoadClientEditRelatedLoadsSaveDto {\r\n parents!: number[] | undefined;\r\n children!: number[] | undefined;\r\n\r\n constructor(data?: ILoadClientEditRelatedLoadsSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parents\"])) {\r\n this.parents = [] as any;\r\n for (let item of _data[\"parents\"])\r\n this.parents!.push(item);\r\n }\r\n if (Array.isArray(_data[\"children\"])) {\r\n this.children = [] as any;\r\n for (let item of _data[\"children\"])\r\n this.children!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditRelatedLoadsSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditRelatedLoadsSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parents)) {\r\n data[\"parents\"] = [];\r\n for (let item of this.parents)\r\n data[\"parents\"].push(item);\r\n }\r\n if (Array.isArray(this.children)) {\r\n data[\"children\"] = [];\r\n for (let item of this.children)\r\n data[\"children\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditRelatedLoadsSaveDto {\r\n parents: number[] | undefined;\r\n children: number[] | undefined;\r\n}\r\n\r\nexport class LoadClientEditContainersDto implements ILoadClientEditContainersDto {\r\n incoterms!: string | undefined;\r\n knCurrency!: string | undefined;\r\n knValue!: number | undefined;\r\n knProductCode!: number | undefined;\r\n eta!: moment.Moment | undefined;\r\n etd!: moment.Moment | undefined;\r\n dateForClosing!: moment.Moment | undefined;\r\n stuffingLocation!: string | undefined;\r\n shipName!: string | undefined;\r\n containers!: ContainerDto[] | undefined;\r\n sumPackages!: number | undefined;\r\n sumVolume!: number | undefined;\r\n sumWeight!: number | undefined;\r\n thcValue!: number | undefined;\r\n thcCurrency!: string | undefined;\r\n\r\n constructor(data?: ILoadClientEditContainersDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.incoterms = _data[\"incoterms\"];\r\n this.knCurrency = _data[\"knCurrency\"];\r\n this.knValue = _data[\"knValue\"];\r\n this.knProductCode = _data[\"knProductCode\"];\r\n this.eta = _data[\"eta\"] ? moment.parseZone(_data[\"eta\"].toString()) : undefined;\r\n this.etd = _data[\"etd\"] ? moment.parseZone(_data[\"etd\"].toString()) : undefined;\r\n this.dateForClosing = _data[\"dateForClosing\"] ? moment.parseZone(_data[\"dateForClosing\"].toString()) : undefined;\r\n this.stuffingLocation = _data[\"stuffingLocation\"];\r\n this.shipName = _data[\"shipName\"];\r\n if (Array.isArray(_data[\"containers\"])) {\r\n this.containers = [] as any;\r\n for (let item of _data[\"containers\"])\r\n this.containers!.push(ContainerDto.fromJS(item));\r\n }\r\n this.sumPackages = _data[\"sumPackages\"];\r\n this.sumVolume = _data[\"sumVolume\"];\r\n this.sumWeight = _data[\"sumWeight\"];\r\n this.thcValue = _data[\"thcValue\"];\r\n this.thcCurrency = _data[\"thcCurrency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditContainersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditContainersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"incoterms\"] = this.incoterms;\r\n data[\"knCurrency\"] = this.knCurrency;\r\n data[\"knValue\"] = this.knValue;\r\n data[\"knProductCode\"] = this.knProductCode;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString(true) : undefined;\r\n data[\"etd\"] = this.etd ? this.etd.toISOString(true) : undefined;\r\n data[\"dateForClosing\"] = this.dateForClosing ? this.dateForClosing.toISOString(true) : undefined;\r\n data[\"stuffingLocation\"] = this.stuffingLocation;\r\n data[\"shipName\"] = this.shipName;\r\n if (Array.isArray(this.containers)) {\r\n data[\"containers\"] = [];\r\n for (let item of this.containers)\r\n data[\"containers\"].push(item.toJSON());\r\n }\r\n data[\"sumPackages\"] = this.sumPackages;\r\n data[\"sumVolume\"] = this.sumVolume;\r\n data[\"sumWeight\"] = this.sumWeight;\r\n data[\"thcValue\"] = this.thcValue;\r\n data[\"thcCurrency\"] = this.thcCurrency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditContainersDto {\r\n incoterms: string | undefined;\r\n knCurrency: string | undefined;\r\n knValue: number | undefined;\r\n knProductCode: number | undefined;\r\n eta: moment.Moment | undefined;\r\n etd: moment.Moment | undefined;\r\n dateForClosing: moment.Moment | undefined;\r\n stuffingLocation: string | undefined;\r\n shipName: string | undefined;\r\n containers: ContainerDto[] | undefined;\r\n sumPackages: number | undefined;\r\n sumVolume: number | undefined;\r\n sumWeight: number | undefined;\r\n thcValue: number | undefined;\r\n thcCurrency: string | undefined;\r\n}\r\n\r\nexport class ContainerDto implements IContainerDto {\r\n id!: number;\r\n containerNo!: string | undefined;\r\n sealNo!: string | undefined;\r\n weight!: number | undefined;\r\n volume!: number | undefined;\r\n packages!: number | undefined;\r\n blMark!: string | undefined;\r\n externalContainerId!: number | undefined;\r\n\r\n constructor(data?: IContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.containerNo = _data[\"containerNo\"];\r\n this.sealNo = _data[\"sealNo\"];\r\n this.weight = _data[\"weight\"];\r\n this.volume = _data[\"volume\"];\r\n this.packages = _data[\"packages\"];\r\n this.blMark = _data[\"blMark\"];\r\n this.externalContainerId = _data[\"externalContainerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"containerNo\"] = this.containerNo;\r\n data[\"sealNo\"] = this.sealNo;\r\n data[\"weight\"] = this.weight;\r\n data[\"volume\"] = this.volume;\r\n data[\"packages\"] = this.packages;\r\n data[\"blMark\"] = this.blMark;\r\n data[\"externalContainerId\"] = this.externalContainerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContainerDto {\r\n id: number;\r\n containerNo: string | undefined;\r\n sealNo: string | undefined;\r\n weight: number | undefined;\r\n volume: number | undefined;\r\n packages: number | undefined;\r\n blMark: string | undefined;\r\n externalContainerId: number | undefined;\r\n}\r\n\r\nexport class LoadClientEditDocumentsDto implements ILoadClientEditDocumentsDto {\r\n documentIds!: number[] | undefined;\r\n\r\n constructor(data?: ILoadClientEditDocumentsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"documentIds\"])) {\r\n this.documentIds = [] as any;\r\n for (let item of _data[\"documentIds\"])\r\n this.documentIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditDocumentsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditDocumentsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.documentIds)) {\r\n data[\"documentIds\"] = [];\r\n for (let item of this.documentIds)\r\n data[\"documentIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditDocumentsDto {\r\n documentIds: number[] | undefined;\r\n}\r\n\r\nexport class LoadPreAnnulDetailsDto implements ILoadPreAnnulDetailsDto {\r\n loadId!: number;\r\n truckType!: TruckType;\r\n pickupEarliest!: moment.Moment;\r\n deliverLatest!: moment.Moment;\r\n transportNo!: string | undefined;\r\n routeName!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n\r\n constructor(data?: ILoadPreAnnulDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.transportNo = _data[\"transportNo\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreAnnulDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreAnnulDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreAnnulDetailsDto {\r\n loadId: number;\r\n truckType: TruckType;\r\n pickupEarliest: moment.Moment;\r\n deliverLatest: moment.Moment;\r\n transportNo: string | undefined;\r\n routeName: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n}\r\n\r\nexport class AnnulLoadDetailsDto implements IAnnulLoadDetailsDto {\r\n loadId!: number;\r\n reason!: string | undefined;\r\n\r\n constructor(data?: IAnnulLoadDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.reason = _data[\"reason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnnulLoadDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnnulLoadDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"reason\"] = this.reason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnnulLoadDetailsDto {\r\n loadId: number;\r\n reason: string | undefined;\r\n}\r\n\r\nexport class LoadPreLoadLoadDetailsDto implements ILoadPreLoadLoadDetailsDto {\r\n loadId!: number;\r\n truckType!: TruckType;\r\n pickupEarliest!: moment.Moment;\r\n deliverLatest!: moment.Moment;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n truckNo!: string | undefined;\r\n pickupTimeZone!: TimeZone;\r\n deliveryTimeZone!: TimeZone;\r\n\r\n constructor(data?: ILoadPreLoadLoadDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.pickupTimeZone = _data[\"pickupTimeZone\"];\r\n this.deliveryTimeZone = _data[\"deliveryTimeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreLoadLoadDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreLoadLoadDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"pickupTimeZone\"] = this.pickupTimeZone;\r\n data[\"deliveryTimeZone\"] = this.deliveryTimeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreLoadLoadDetailsDto {\r\n loadId: number;\r\n truckType: TruckType;\r\n pickupEarliest: moment.Moment;\r\n deliverLatest: moment.Moment;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n truckNo: string | undefined;\r\n pickupTimeZone: TimeZone;\r\n deliveryTimeZone: TimeZone;\r\n}\r\n\r\nexport class LoadPreLoadDeviationDto implements ILoadPreLoadDeviationDto {\r\n otherPrice!: number | undefined;\r\n otherPriceCauseId!: number | undefined;\r\n deviationCauseId!: number | undefined;\r\n noteOtherPrice!: string | undefined;\r\n noteDeviation!: string | undefined;\r\n currency!: Currency;\r\n supplierAndPrice!: string | undefined;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n\r\n constructor(data?: ILoadPreLoadDeviationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.otherPriceCauseId = _data[\"otherPriceCauseId\"];\r\n this.deviationCauseId = _data[\"deviationCauseId\"];\r\n this.noteOtherPrice = _data[\"noteOtherPrice\"];\r\n this.noteDeviation = _data[\"noteDeviation\"];\r\n this.currency = _data[\"currency\"];\r\n this.supplierAndPrice = _data[\"supplierAndPrice\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreLoadDeviationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreLoadDeviationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"otherPriceCauseId\"] = this.otherPriceCauseId;\r\n data[\"deviationCauseId\"] = this.deviationCauseId;\r\n data[\"noteOtherPrice\"] = this.noteOtherPrice;\r\n data[\"noteDeviation\"] = this.noteDeviation;\r\n data[\"currency\"] = this.currency;\r\n data[\"supplierAndPrice\"] = this.supplierAndPrice;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreLoadDeviationDto {\r\n otherPrice: number | undefined;\r\n otherPriceCauseId: number | undefined;\r\n deviationCauseId: number | undefined;\r\n noteOtherPrice: string | undefined;\r\n noteDeviation: string | undefined;\r\n currency: Currency;\r\n supplierAndPrice: string | undefined;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n}\r\n\r\nexport class SaveDeviationDto implements ISaveDeviationDto {\r\n otherPrice!: number | undefined;\r\n otherPriceCauseId!: number | undefined;\r\n deviationCauseId!: number | undefined;\r\n noteOtherPrice!: string | undefined;\r\n noteDeviation!: string | undefined;\r\n\r\n constructor(data?: ISaveDeviationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.otherPriceCauseId = _data[\"otherPriceCauseId\"];\r\n this.deviationCauseId = _data[\"deviationCauseId\"];\r\n this.noteOtherPrice = _data[\"noteOtherPrice\"];\r\n this.noteDeviation = _data[\"noteDeviation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveDeviationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveDeviationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"otherPriceCauseId\"] = this.otherPriceCauseId;\r\n data[\"deviationCauseId\"] = this.deviationCauseId;\r\n data[\"noteOtherPrice\"] = this.noteOtherPrice;\r\n data[\"noteDeviation\"] = this.noteDeviation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveDeviationDto {\r\n otherPrice: number | undefined;\r\n otherPriceCauseId: number | undefined;\r\n deviationCauseId: number | undefined;\r\n noteOtherPrice: string | undefined;\r\n noteDeviation: string | undefined;\r\n}\r\n\r\nexport class LoadLoadDto implements ILoadLoadDto {\r\n loadId!: number;\r\n loadedDate!: moment.Moment | undefined;\r\n regNo!: string | undefined;\r\n\r\n constructor(data?: ILoadLoadDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n this.regNo = _data[\"regNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadLoadDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadLoadDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n data[\"regNo\"] = this.regNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadLoadDto {\r\n loadId: number;\r\n loadedDate: moment.Moment | undefined;\r\n regNo: string | undefined;\r\n}\r\n\r\nexport class PreUnbookLoadDetailsDto implements IPreUnbookLoadDetailsDto {\r\n loadId!: number;\r\n truckType!: TruckType;\r\n pickupEarliest!: moment.Moment;\r\n deliverLatest!: moment.Moment;\r\n transportNo!: string | undefined;\r\n routeName!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n\r\n constructor(data?: IPreUnbookLoadDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.transportNo = _data[\"transportNo\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreUnbookLoadDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreUnbookLoadDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreUnbookLoadDetailsDto {\r\n loadId: number;\r\n truckType: TruckType;\r\n pickupEarliest: moment.Moment;\r\n deliverLatest: moment.Moment;\r\n transportNo: string | undefined;\r\n routeName: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n}\r\n\r\nexport class UnbookDto implements IUnbookDto {\r\n loadId!: number;\r\n reason!: string | undefined;\r\n\r\n constructor(data?: IUnbookDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.reason = _data[\"reason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UnbookDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UnbookDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"reason\"] = this.reason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUnbookDto {\r\n loadId: number;\r\n reason: string | undefined;\r\n}\r\n\r\nexport class LoadPreReorderDetailsDto implements ILoadPreReorderDetailsDto {\r\n loadId!: number;\r\n publishSpeed!: PublishSpeed;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n pickupZone!: TimeZone;\r\n deliverZone!: TimeZone;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n\r\n constructor(data?: ILoadPreReorderDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliverZone = _data[\"deliverZone\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreReorderDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreReorderDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliverZone\"] = this.deliverZone;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreReorderDetailsDto {\r\n loadId: number;\r\n publishSpeed: PublishSpeed;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n pickupZone: TimeZone;\r\n deliverZone: TimeZone;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n}\r\n\r\nexport class ReorderLoadDto implements IReorderLoadDto {\r\n loadId!: number;\r\n publishSpeed!: PublishSpeed;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n\r\n constructor(data?: IReorderLoadDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReorderLoadDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReorderLoadDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReorderLoadDto {\r\n loadId: number;\r\n publishSpeed: PublishSpeed;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n}\r\n\r\nexport class LoadClientPreEditDto implements ILoadClientPreEditDto {\r\n loadId!: number;\r\n loadStatus!: LoadStatus;\r\n supplierBookingInfo!: LoadClientEditSupplierBookingInfoDto | undefined;\r\n dates!: LoadClientEditDatesDto | undefined;\r\n dateRequirements!: LoadClientEditDateRequirementsDto | undefined;\r\n location!: LoadClientEditLocationDto | undefined;\r\n infoTexts!: LoadClientEditInfoTextsDto | undefined;\r\n assortedValues!: LoadClientEditAssortedValuesDto | undefined;\r\n publishValues!: LoadClientPublishValues | undefined;\r\n permissions!: LoadValuePermissionDto[] | undefined;\r\n deviation!: LoadDetailsDeviationDto | undefined;\r\n customsInfoRequired!: boolean;\r\n\r\n constructor(data?: ILoadClientPreEditDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.supplierBookingInfo = _data[\"supplierBookingInfo\"] ? LoadClientEditSupplierBookingInfoDto.fromJS(_data[\"supplierBookingInfo\"]) : undefined;\r\n this.dates = _data[\"dates\"] ? LoadClientEditDatesDto.fromJS(_data[\"dates\"]) : undefined;\r\n this.dateRequirements = _data[\"dateRequirements\"] ? LoadClientEditDateRequirementsDto.fromJS(_data[\"dateRequirements\"]) : undefined;\r\n this.location = _data[\"location\"] ? LoadClientEditLocationDto.fromJS(_data[\"location\"]) : undefined;\r\n this.infoTexts = _data[\"infoTexts\"] ? LoadClientEditInfoTextsDto.fromJS(_data[\"infoTexts\"]) : undefined;\r\n this.assortedValues = _data[\"assortedValues\"] ? LoadClientEditAssortedValuesDto.fromJS(_data[\"assortedValues\"]) : undefined;\r\n this.publishValues = _data[\"publishValues\"] ? LoadClientPublishValues.fromJS(_data[\"publishValues\"]) : undefined;\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(LoadValuePermissionDto.fromJS(item));\r\n }\r\n this.deviation = _data[\"deviation\"] ? LoadDetailsDeviationDto.fromJS(_data[\"deviation\"]) : undefined;\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientPreEditDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientPreEditDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"supplierBookingInfo\"] = this.supplierBookingInfo ? this.supplierBookingInfo.toJSON() : undefined;\r\n data[\"dates\"] = this.dates ? this.dates.toJSON() : undefined;\r\n data[\"dateRequirements\"] = this.dateRequirements ? this.dateRequirements.toJSON() : undefined;\r\n data[\"location\"] = this.location ? this.location.toJSON() : undefined;\r\n data[\"infoTexts\"] = this.infoTexts ? this.infoTexts.toJSON() : undefined;\r\n data[\"assortedValues\"] = this.assortedValues ? this.assortedValues.toJSON() : undefined;\r\n data[\"publishValues\"] = this.publishValues ? this.publishValues.toJSON() : undefined;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item.toJSON());\r\n }\r\n data[\"deviation\"] = this.deviation ? this.deviation.toJSON() : undefined;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientPreEditDto {\r\n loadId: number;\r\n loadStatus: LoadStatus;\r\n supplierBookingInfo: LoadClientEditSupplierBookingInfoDto | undefined;\r\n dates: LoadClientEditDatesDto | undefined;\r\n dateRequirements: LoadClientEditDateRequirementsDto | undefined;\r\n location: LoadClientEditLocationDto | undefined;\r\n infoTexts: LoadClientEditInfoTextsDto | undefined;\r\n assortedValues: LoadClientEditAssortedValuesDto | undefined;\r\n publishValues: LoadClientPublishValues | undefined;\r\n permissions: LoadValuePermissionDto[] | undefined;\r\n deviation: LoadDetailsDeviationDto | undefined;\r\n customsInfoRequired: boolean;\r\n}\r\n\r\nexport class LoadClientEditSupplierBookingInfoDto implements ILoadClientEditSupplierBookingInfoDto {\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n bookedPickupInfo!: string | undefined;\r\n bookedDeliveryInfo!: string | undefined;\r\n pickupZone!: TimeZone;\r\n deliverZone!: TimeZone;\r\n\r\n constructor(data?: ILoadClientEditSupplierBookingInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n this.bookedDeliveryInfo = _data[\"bookedDeliveryInfo\"];\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliverZone = _data[\"deliverZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditSupplierBookingInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditSupplierBookingInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n data[\"bookedDeliveryInfo\"] = this.bookedDeliveryInfo;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliverZone\"] = this.deliverZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditSupplierBookingInfoDto {\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n bookedPickupInfo: string | undefined;\r\n bookedDeliveryInfo: string | undefined;\r\n pickupZone: TimeZone;\r\n deliverZone: TimeZone;\r\n}\r\n\r\nexport class LoadValuePermissionDto implements ILoadValuePermissionDto {\r\n loadId!: number;\r\n permissionType!: LoadValuePermission;\r\n enabled!: boolean;\r\n visible!: boolean;\r\n\r\n constructor(data?: ILoadValuePermissionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.permissionType = _data[\"permissionType\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.visible = _data[\"visible\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadValuePermissionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadValuePermissionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"permissionType\"] = this.permissionType;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"visible\"] = this.visible;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadValuePermissionDto {\r\n loadId: number;\r\n permissionType: LoadValuePermission;\r\n enabled: boolean;\r\n visible: boolean;\r\n}\r\n\r\nexport enum LoadValuePermission {\r\n BookedPickupDate = 1,\r\n BookedPickupTime = 2,\r\n BookedDeliveryDate = 3,\r\n BookedDeliveryTime = 4,\r\n VtlAndEscort = 5,\r\n Distance = 6,\r\n Terminal = 7,\r\n PickupEarliest = 8,\r\n RegNo = 9,\r\n}\r\n\r\nexport class LoadDetailsDeviationDto implements ILoadDetailsDeviationDto {\r\n otherPriceCause!: OtherPriceCause | undefined;\r\n deviationCause!: DeviationCause | undefined;\r\n otherPrice!: number | undefined;\r\n currencyName!: string | undefined;\r\n otherPriceDesc!: string | undefined;\r\n deviationDesc!: string | undefined;\r\n\r\n constructor(data?: ILoadDetailsDeviationDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.otherPriceCause = _data[\"otherPriceCause\"];\r\n this.deviationCause = _data[\"deviationCause\"];\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.currencyName = _data[\"currencyName\"];\r\n this.otherPriceDesc = _data[\"otherPriceDesc\"];\r\n this.deviationDesc = _data[\"deviationDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsDeviationDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsDeviationDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"otherPriceCause\"] = this.otherPriceCause;\r\n data[\"deviationCause\"] = this.deviationCause;\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"currencyName\"] = this.currencyName;\r\n data[\"otherPriceDesc\"] = this.otherPriceDesc;\r\n data[\"deviationDesc\"] = this.deviationDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsDeviationDto {\r\n otherPriceCause: OtherPriceCause | undefined;\r\n deviationCause: DeviationCause | undefined;\r\n otherPrice: number | undefined;\r\n currencyName: string | undefined;\r\n otherPriceDesc: string | undefined;\r\n deviationDesc: string | undefined;\r\n}\r\n\r\nexport class LoadClientEditDto extends LoadClientLoadBaseModel implements ILoadClientEditDto {\r\n loadId!: number;\r\n supplierBookingInfo!: LoadClientEditSupplierBookingInfoDto | undefined;\r\n\r\n constructor(data?: ILoadClientEditDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.supplierBookingInfo = _data[\"supplierBookingInfo\"] ? LoadClientEditSupplierBookingInfoDto.fromJS(_data[\"supplierBookingInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadClientEditDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadClientEditDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"supplierBookingInfo\"] = this.supplierBookingInfo ? this.supplierBookingInfo.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditDto extends ILoadClientLoadBaseModel {\r\n loadId: number;\r\n supplierBookingInfo: LoadClientEditSupplierBookingInfoDto | undefined;\r\n}\r\n\r\nexport class RelatedLoadSummaryDto implements IRelatedLoadSummaryDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n truckType!: TruckType;\r\n pickupEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment | undefined;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n locations!: string | undefined;\r\n loadStatus!: LoadStatus;\r\n deliveryAddress!: string | undefined;\r\n supplierName!: string | undefined;\r\n clientName!: string | undefined;\r\n loadedDate!: moment.Moment | undefined;\r\n deliveryDate!: moment.Moment | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n pickupLatest!: moment.Moment | undefined;\r\n regNo!: string | undefined;\r\n\r\n constructor(data?: IRelatedLoadSummaryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.locations = _data[\"locations\"];\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.deliveryAddress = _data[\"deliveryAddress\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n this.deliveryDate = _data[\"deliveryDate\"] ? moment.parseZone(_data[\"deliveryDate\"].toString()) : undefined;\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.regNo = _data[\"regNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RelatedLoadSummaryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RelatedLoadSummaryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"locations\"] = this.locations;\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"deliveryAddress\"] = this.deliveryAddress;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n data[\"deliveryDate\"] = this.deliveryDate ? this.deliveryDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"regNo\"] = this.regNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRelatedLoadSummaryDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n truckType: TruckType;\r\n pickupEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment | undefined;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n locations: string | undefined;\r\n loadStatus: LoadStatus;\r\n deliveryAddress: string | undefined;\r\n supplierName: string | undefined;\r\n clientName: string | undefined;\r\n loadedDate: moment.Moment | undefined;\r\n deliveryDate: moment.Moment | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n bookedPickupDate: moment.Moment | undefined;\r\n pickupLatest: moment.Moment | undefined;\r\n regNo: string | undefined;\r\n}\r\n\r\nexport class LoadListContainerDto implements ILoadListContainerDto {\r\n count!: number;\r\n loads!: LoadListDto[] | undefined;\r\n\r\n constructor(data?: ILoadListContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"loads\"])) {\r\n this.loads = [] as any;\r\n for (let item of _data[\"loads\"])\r\n this.loads!.push(LoadListDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadListContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadListContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.loads)) {\r\n data[\"loads\"] = [];\r\n for (let item of this.loads)\r\n data[\"loads\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadListContainerDto {\r\n count: number;\r\n loads: LoadListDto[] | undefined;\r\n}\r\n\r\nexport class LoadListDto implements ILoadListDto {\r\n id!: number;\r\n transportNo!: string | undefined;\r\n status!: LoadStatus;\r\n truckType!: TruckType;\r\n cargoType!: CargoType;\r\n clientName!: string | undefined;\r\n clientId!: number;\r\n supplierName!: string | undefined;\r\n supplierId!: number | undefined;\r\n customerName!: string | undefined;\r\n customerId!: number | undefined;\r\n terminalName!: string | undefined;\r\n terminalId!: number | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n numRelatedLoads!: number;\r\n publishSpeed!: PublishSpeed;\r\n noSupplierLeftToNotify!: boolean;\r\n resigned!: boolean;\r\n deviationCause!: DeviationCause | undefined;\r\n otherPriceCause!: OtherPriceCause | undefined;\r\n regDate!: moment.Moment | undefined;\r\n pickupEarliest!: moment.Moment | undefined;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment | undefined;\r\n bookingDate!: moment.Moment | undefined;\r\n loadedDate!: moment.Moment | undefined;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n deliveryDate!: moment.Moment | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n spotTenderEndDate!: moment.Moment | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n visibleToNextSupplier!: moment.Moment | undefined;\r\n unit!: string | undefined;\r\n referenceNo!: string | undefined;\r\n bookingNo!: string | undefined;\r\n regNo!: string | undefined;\r\n pickupCounty!: string | undefined;\r\n pickupZipCode!: string | undefined;\r\n pickupCountry!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n deliveryZipCode!: string | undefined;\r\n deliveryCountry!: string | undefined;\r\n pickupLocationFormatted!: string | undefined;\r\n deliveryLocationFormatted!: string | undefined;\r\n bookedPickupInfo!: string | undefined;\r\n spotTenderPriceTooltipDtos!: SpotTenderPriceTooltipDto[] | undefined;\r\n\r\n constructor(data?: ILoadListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.status = _data[\"status\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.terminalName = _data[\"terminalName\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.numRelatedLoads = _data[\"numRelatedLoads\"];\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.noSupplierLeftToNotify = _data[\"noSupplierLeftToNotify\"];\r\n this.resigned = _data[\"resigned\"];\r\n this.deviationCause = _data[\"deviationCause\"];\r\n this.otherPriceCause = _data[\"otherPriceCause\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.bookingDate = _data[\"bookingDate\"] ? moment.parseZone(_data[\"bookingDate\"].toString()) : undefined;\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.deliveryDate = _data[\"deliveryDate\"] ? moment.parseZone(_data[\"deliveryDate\"].toString()) : undefined;\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.spotTenderEndDate = _data[\"spotTenderEndDate\"] ? moment.parseZone(_data[\"spotTenderEndDate\"].toString()) : undefined;\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.visibleToNextSupplier = _data[\"visibleToNextSupplier\"] ? moment.parseZone(_data[\"visibleToNextSupplier\"].toString()) : undefined;\r\n this.unit = _data[\"unit\"];\r\n this.referenceNo = _data[\"referenceNo\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.regNo = _data[\"regNo\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipCode = _data[\"pickupZipCode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryZipCode = _data[\"deliveryZipCode\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupLocationFormatted = _data[\"pickupLocationFormatted\"];\r\n this.deliveryLocationFormatted = _data[\"deliveryLocationFormatted\"];\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n if (Array.isArray(_data[\"spotTenderPriceTooltipDtos\"])) {\r\n this.spotTenderPriceTooltipDtos = [] as any;\r\n for (let item of _data[\"spotTenderPriceTooltipDtos\"])\r\n this.spotTenderPriceTooltipDtos!.push(SpotTenderPriceTooltipDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"status\"] = this.status;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"terminalName\"] = this.terminalName;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"numRelatedLoads\"] = this.numRelatedLoads;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"noSupplierLeftToNotify\"] = this.noSupplierLeftToNotify;\r\n data[\"resigned\"] = this.resigned;\r\n data[\"deviationCause\"] = this.deviationCause;\r\n data[\"otherPriceCause\"] = this.otherPriceCause;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"bookingDate\"] = this.bookingDate ? this.bookingDate.toISOString(true) : undefined;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"deliveryDate\"] = this.deliveryDate ? this.deliveryDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"spotTenderEndDate\"] = this.spotTenderEndDate ? this.spotTenderEndDate.toISOString(true) : undefined;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"visibleToNextSupplier\"] = this.visibleToNextSupplier ? this.visibleToNextSupplier.toISOString(true) : undefined;\r\n data[\"unit\"] = this.unit;\r\n data[\"referenceNo\"] = this.referenceNo;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"regNo\"] = this.regNo;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipCode\"] = this.pickupZipCode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryZipCode\"] = this.deliveryZipCode;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupLocationFormatted\"] = this.pickupLocationFormatted;\r\n data[\"deliveryLocationFormatted\"] = this.deliveryLocationFormatted;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n if (Array.isArray(this.spotTenderPriceTooltipDtos)) {\r\n data[\"spotTenderPriceTooltipDtos\"] = [];\r\n for (let item of this.spotTenderPriceTooltipDtos)\r\n data[\"spotTenderPriceTooltipDtos\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadListDto {\r\n id: number;\r\n transportNo: string | undefined;\r\n status: LoadStatus;\r\n truckType: TruckType;\r\n cargoType: CargoType;\r\n clientName: string | undefined;\r\n clientId: number;\r\n supplierName: string | undefined;\r\n supplierId: number | undefined;\r\n customerName: string | undefined;\r\n customerId: number | undefined;\r\n terminalName: string | undefined;\r\n terminalId: number | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n numRelatedLoads: number;\r\n publishSpeed: PublishSpeed;\r\n noSupplierLeftToNotify: boolean;\r\n resigned: boolean;\r\n deviationCause: DeviationCause | undefined;\r\n otherPriceCause: OtherPriceCause | undefined;\r\n regDate: moment.Moment | undefined;\r\n pickupEarliest: moment.Moment | undefined;\r\n pickupLatest: moment.Moment | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment | undefined;\r\n bookingDate: moment.Moment | undefined;\r\n loadedDate: moment.Moment | undefined;\r\n bookedPickupDate: moment.Moment | undefined;\r\n deliveryDate: moment.Moment | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n spotTenderEndDate: moment.Moment | undefined;\r\n alterDate: moment.Moment | undefined;\r\n visibleToNextSupplier: moment.Moment | undefined;\r\n unit: string | undefined;\r\n referenceNo: string | undefined;\r\n bookingNo: string | undefined;\r\n regNo: string | undefined;\r\n pickupCounty: string | undefined;\r\n pickupZipCode: string | undefined;\r\n pickupCountry: string | undefined;\r\n deliveryCounty: string | undefined;\r\n deliveryZipCode: string | undefined;\r\n deliveryCountry: string | undefined;\r\n pickupLocationFormatted: string | undefined;\r\n deliveryLocationFormatted: string | undefined;\r\n bookedPickupInfo: string | undefined;\r\n spotTenderPriceTooltipDtos: SpotTenderPriceTooltipDto[] | undefined;\r\n}\r\n\r\nexport class SpotTenderPriceTooltipDto implements ISpotTenderPriceTooltipDto {\r\n loadId!: number;\r\n price!: number;\r\n truckType!: TruckType;\r\n\r\n constructor(data?: ISpotTenderPriceTooltipDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.price = _data[\"price\"];\r\n this.truckType = _data[\"truckType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SpotTenderPriceTooltipDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SpotTenderPriceTooltipDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"price\"] = this.price;\r\n data[\"truckType\"] = this.truckType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISpotTenderPriceTooltipDto {\r\n loadId: number;\r\n price: number;\r\n truckType: TruckType;\r\n}\r\n\r\nexport class LoadSearchCriteriaContainerDto implements ILoadSearchCriteriaContainerDto {\r\n loadSearchCriteria!: LoadSearchCriteriaDto | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: LoadOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: ILoadSearchCriteriaContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadSearchCriteria = _data[\"loadSearchCriteria\"] ? LoadSearchCriteriaDto.fromJS(_data[\"loadSearchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadSearchCriteriaContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadSearchCriteriaContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadSearchCriteria\"] = this.loadSearchCriteria ? this.loadSearchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadSearchCriteriaContainerDto {\r\n loadSearchCriteria: LoadSearchCriteriaDto | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: LoadOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class LoadSearchCriteriaDto implements ILoadSearchCriteriaDto {\r\n loadId!: string | undefined;\r\n transportNo!: string | undefined;\r\n unit!: string | undefined;\r\n referenceNo!: string | undefined;\r\n regNo!: string | undefined;\r\n statuses!: LoadStatus[] | undefined;\r\n loadVisibilityFilter!: LoadVisibilityFilter;\r\n supplierId!: number | undefined;\r\n terminalId!: number | undefined;\r\n customerId!: number | undefined;\r\n truckType!: TruckType[] | undefined;\r\n pickupLocationCounty!: string | undefined;\r\n pickupLocationZipCode!: string | undefined;\r\n pickupLocationCountryId!: number | undefined;\r\n deliveryLocationCounty!: string | undefined;\r\n deliveryLocationZipCode!: string | undefined;\r\n deliveryLocationCountryId!: number | undefined;\r\n filterDateType!: LoadFilterDateType;\r\n filterDateDaysBack!: number;\r\n filterDateDaysForward!: number;\r\n hasExtraStops!: boolean | undefined;\r\n resignedLoads!: boolean;\r\n\r\n constructor(data?: ILoadSearchCriteriaDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.unit = _data[\"unit\"];\r\n this.referenceNo = _data[\"referenceNo\"];\r\n this.regNo = _data[\"regNo\"];\r\n if (Array.isArray(_data[\"statuses\"])) {\r\n this.statuses = [] as any;\r\n for (let item of _data[\"statuses\"])\r\n this.statuses!.push(item);\r\n }\r\n this.loadVisibilityFilter = _data[\"loadVisibilityFilter\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.customerId = _data[\"customerId\"];\r\n if (Array.isArray(_data[\"truckType\"])) {\r\n this.truckType = [] as any;\r\n for (let item of _data[\"truckType\"])\r\n this.truckType!.push(item);\r\n }\r\n this.pickupLocationCounty = _data[\"pickupLocationCounty\"];\r\n this.pickupLocationZipCode = _data[\"pickupLocationZipCode\"];\r\n this.pickupLocationCountryId = _data[\"pickupLocationCountryId\"];\r\n this.deliveryLocationCounty = _data[\"deliveryLocationCounty\"];\r\n this.deliveryLocationZipCode = _data[\"deliveryLocationZipCode\"];\r\n this.deliveryLocationCountryId = _data[\"deliveryLocationCountryId\"];\r\n this.filterDateType = _data[\"filterDateType\"];\r\n this.filterDateDaysBack = _data[\"filterDateDaysBack\"];\r\n this.filterDateDaysForward = _data[\"filterDateDaysForward\"];\r\n this.hasExtraStops = _data[\"hasExtraStops\"];\r\n this.resignedLoads = _data[\"resignedLoads\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadSearchCriteriaDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadSearchCriteriaDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"unit\"] = this.unit;\r\n data[\"referenceNo\"] = this.referenceNo;\r\n data[\"regNo\"] = this.regNo;\r\n if (Array.isArray(this.statuses)) {\r\n data[\"statuses\"] = [];\r\n for (let item of this.statuses)\r\n data[\"statuses\"].push(item);\r\n }\r\n data[\"loadVisibilityFilter\"] = this.loadVisibilityFilter;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"customerId\"] = this.customerId;\r\n if (Array.isArray(this.truckType)) {\r\n data[\"truckType\"] = [];\r\n for (let item of this.truckType)\r\n data[\"truckType\"].push(item);\r\n }\r\n data[\"pickupLocationCounty\"] = this.pickupLocationCounty;\r\n data[\"pickupLocationZipCode\"] = this.pickupLocationZipCode;\r\n data[\"pickupLocationCountryId\"] = this.pickupLocationCountryId;\r\n data[\"deliveryLocationCounty\"] = this.deliveryLocationCounty;\r\n data[\"deliveryLocationZipCode\"] = this.deliveryLocationZipCode;\r\n data[\"deliveryLocationCountryId\"] = this.deliveryLocationCountryId;\r\n data[\"filterDateType\"] = this.filterDateType;\r\n data[\"filterDateDaysBack\"] = this.filterDateDaysBack;\r\n data[\"filterDateDaysForward\"] = this.filterDateDaysForward;\r\n data[\"hasExtraStops\"] = this.hasExtraStops;\r\n data[\"resignedLoads\"] = this.resignedLoads;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadSearchCriteriaDto {\r\n loadId: string | undefined;\r\n transportNo: string | undefined;\r\n unit: string | undefined;\r\n referenceNo: string | undefined;\r\n regNo: string | undefined;\r\n statuses: LoadStatus[] | undefined;\r\n loadVisibilityFilter: LoadVisibilityFilter;\r\n supplierId: number | undefined;\r\n terminalId: number | undefined;\r\n customerId: number | undefined;\r\n truckType: TruckType[] | undefined;\r\n pickupLocationCounty: string | undefined;\r\n pickupLocationZipCode: string | undefined;\r\n pickupLocationCountryId: number | undefined;\r\n deliveryLocationCounty: string | undefined;\r\n deliveryLocationZipCode: string | undefined;\r\n deliveryLocationCountryId: number | undefined;\r\n filterDateType: LoadFilterDateType;\r\n filterDateDaysBack: number;\r\n filterDateDaysForward: number;\r\n hasExtraStops: boolean | undefined;\r\n resignedLoads: boolean;\r\n}\r\n\r\nexport enum LoadVisibilityFilter {\r\n OnlyPublished = 0,\r\n OnlySpotTenders = 1,\r\n NoFilter = 2,\r\n}\r\n\r\nexport enum LoadFilterDateType {\r\n RegDate = 1,\r\n PickupEarliest = 2,\r\n BookedDate = 3,\r\n LoadedDate = 4,\r\n DeliverDate = 5,\r\n PickupLatest = 6,\r\n DeliveryEarliest = 7,\r\n DeliveryLatest = 8,\r\n BookedPickupDate = 9,\r\n BookedDeliveryDate = 10,\r\n SpotTenderEndDate = 11,\r\n AlterDate = 12,\r\n}\r\n\r\nexport enum LoadOrderBy {\r\n Id = 1,\r\n TransportNo = 2,\r\n StatusName = 3,\r\n TruckTypeName = 4,\r\n ClientName = 5,\r\n SupplierName = 6,\r\n CustomerName = 7,\r\n TerminalName = 8,\r\n Unit = 9,\r\n ReferenceNo = 10,\r\n NumExtraStops = 11,\r\n DeviationCause = 12,\r\n OtherPriceCause = 13,\r\n BookingNo = 14,\r\n RegNo = 15,\r\n AlterDate = 16,\r\n AlterDateWithZone = 17,\r\n SpotTenderEndDate = 18,\r\n SpotTenderEndDateWithZone = 19,\r\n PickupLocationCounty = 38,\r\n PickupLocationZipCode = 39,\r\n PickupLocationCountry = 40,\r\n PickupLocationFormatted = 41,\r\n DeliveryLocationCounty = 42,\r\n DeliveryLocationZipCode = 43,\r\n DeliveryLocationCountry = 44,\r\n DeliveryLocationFormatted = 45,\r\n RegDate = 66,\r\n RegDateWithZone = 67,\r\n PickupEarliest = 68,\r\n PickupEarliestWithZone = 69,\r\n PickupLatest = 70,\r\n PickupLatestWithZone = 71,\r\n DeliveryEarliest = 72,\r\n DeliveryEarliestWithZone = 73,\r\n DeliveryLatest = 74,\r\n DeliveryLatestWithZone = 75,\r\n BookingDate = 76,\r\n BookingDateWithZone = 77,\r\n LoadedDate = 78,\r\n LoadedDateWithZone = 79,\r\n BookedPickupDate = 80,\r\n BookedPickupDateWithZone = 81,\r\n DeliveryDate = 82,\r\n DeliveryDateWithZone = 83,\r\n BookedDeliveryDate = 84,\r\n BookedDeliveryDateWithZone = 85,\r\n BookedPickupInfo = -3,\r\n VisibleToNextSupplier = -2,\r\n NumRelatedLoads = -1,\r\n}\r\n\r\nexport class LoadActionPermissionContainerDto implements ILoadActionPermissionContainerDto {\r\n loadId!: number;\r\n allowedActions!: LoadActionPermissionDto[] | undefined;\r\n\r\n constructor(data?: ILoadActionPermissionContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n if (Array.isArray(_data[\"allowedActions\"])) {\r\n this.allowedActions = [] as any;\r\n for (let item of _data[\"allowedActions\"])\r\n this.allowedActions!.push(LoadActionPermissionDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadActionPermissionContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadActionPermissionContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n if (Array.isArray(this.allowedActions)) {\r\n data[\"allowedActions\"] = [];\r\n for (let item of this.allowedActions)\r\n data[\"allowedActions\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadActionPermissionContainerDto {\r\n loadId: number;\r\n allowedActions: LoadActionPermissionDto[] | undefined;\r\n}\r\n\r\nexport class LoadActionPermissionDto implements ILoadActionPermissionDto {\r\n allowed!: boolean;\r\n lockNeeded!: boolean;\r\n action!: LoadActionPermission;\r\n\r\n constructor(data?: ILoadActionPermissionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.allowed = _data[\"allowed\"];\r\n this.lockNeeded = _data[\"lockNeeded\"];\r\n this.action = _data[\"action\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadActionPermissionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadActionPermissionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"allowed\"] = this.allowed;\r\n data[\"lockNeeded\"] = this.lockNeeded;\r\n data[\"action\"] = this.action;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadActionPermissionDto {\r\n allowed: boolean;\r\n lockNeeded: boolean;\r\n action: LoadActionPermission;\r\n}\r\n\r\nexport enum LoadActionPermission {\r\n ClientEdit = 1,\r\n Book = 2,\r\n Load = 3,\r\n Deliver = 4,\r\n Unbook = 5,\r\n Annul = 6,\r\n Reorder = 7,\r\n CreateSpotTender = 8,\r\n EditSpotTender = 9,\r\n FinishSpotTender = 10,\r\n SupplierSpotTender = 11,\r\n Resign = 12,\r\n SupplierEdit = 13,\r\n Lock = 14,\r\n Details = 15,\r\n Deviation = 16,\r\n ContainerExport = 17,\r\n ContainerEdit = 18,\r\n LoadingSlotEdit = 19,\r\n AddLoadPosition = 20,\r\n SupplierEditDocuments = 21,\r\n}\r\n\r\nexport class LoadLockDto implements ILoadLockDto {\r\n loadId!: number;\r\n lockStatus!: LockStatus;\r\n secondsLeft!: number;\r\n\r\n constructor(data?: ILoadLockDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.lockStatus = _data[\"lockStatus\"];\r\n this.secondsLeft = _data[\"secondsLeft\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadLockDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadLockDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"lockStatus\"] = this.lockStatus;\r\n data[\"secondsLeft\"] = this.secondsLeft;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadLockDto {\r\n loadId: number;\r\n lockStatus: LockStatus;\r\n secondsLeft: number;\r\n}\r\n\r\nexport enum LockStatus {\r\n Unlocked = 1,\r\n LockedByMe = 2,\r\n LockedBySomeoneElse = 3,\r\n}\r\n\r\nexport class BookLoadDto implements IBookLoadDto {\r\n loadId!: number;\r\n supplierId!: number | undefined;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedPickupInfo!: string | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n bookedDeliveryInfo!: string | undefined;\r\n escortCarPrice!: number | undefined;\r\n vtlPrice!: number | undefined;\r\n distance!: number | undefined;\r\n terminalId!: number | undefined;\r\n bookingNo!: string | undefined;\r\n deviation!: SaveDeviationDto | undefined;\r\n truckNo!: string | undefined;\r\n\r\n constructor(data?: IBookLoadDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.bookedDeliveryInfo = _data[\"bookedDeliveryInfo\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.distance = _data[\"distance\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.deviation = _data[\"deviation\"] ? SaveDeviationDto.fromJS(_data[\"deviation\"]) : undefined;\r\n this.truckNo = _data[\"truckNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookLoadDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookLoadDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryInfo\"] = this.bookedDeliveryInfo;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"distance\"] = this.distance;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"deviation\"] = this.deviation ? this.deviation.toJSON() : undefined;\r\n data[\"truckNo\"] = this.truckNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookLoadDto {\r\n loadId: number;\r\n supplierId: number | undefined;\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedPickupInfo: string | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n bookedDeliveryInfo: string | undefined;\r\n escortCarPrice: number | undefined;\r\n vtlPrice: number | undefined;\r\n distance: number | undefined;\r\n terminalId: number | undefined;\r\n bookingNo: string | undefined;\r\n deviation: SaveDeviationDto | undefined;\r\n truckNo: string | undefined;\r\n}\r\n\r\nexport class LoadPreBookDetailsDto implements ILoadPreBookDetailsDto {\r\n loadId!: number;\r\n clientName!: string | undefined;\r\n currency!: Currency;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n terminalId!: number | undefined;\r\n distance!: number | undefined;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n pickupTimeZone!: TimeZone;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n deliveryTimeZone!: TimeZone;\r\n mandatoryBookedPickupDate!: boolean;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n suppliers!: SupplierToBookDto[] | undefined;\r\n permissions!: LoadValuePermissionDto[] | undefined;\r\n specialRequirements!: string | undefined;\r\n transportNo!: string | undefined;\r\n vtlPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n truckNo!: string | undefined;\r\n customsInfoRequired!: boolean;\r\n bookingNo!: string | undefined;\r\n\r\n constructor(data?: ILoadPreBookDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.currency = _data[\"currency\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.distance = _data[\"distance\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.pickupTimeZone = _data[\"pickupTimeZone\"];\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.deliveryTimeZone = _data[\"deliveryTimeZone\"];\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n if (Array.isArray(_data[\"suppliers\"])) {\r\n this.suppliers = [] as any;\r\n for (let item of _data[\"suppliers\"])\r\n this.suppliers!.push(SupplierToBookDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(LoadValuePermissionDto.fromJS(item));\r\n }\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreBookDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreBookDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"currency\"] = this.currency;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"distance\"] = this.distance;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"pickupTimeZone\"] = this.pickupTimeZone;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"deliveryTimeZone\"] = this.deliveryTimeZone;\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n if (Array.isArray(this.suppliers)) {\r\n data[\"suppliers\"] = [];\r\n for (let item of this.suppliers)\r\n data[\"suppliers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item.toJSON());\r\n }\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreBookDetailsDto {\r\n loadId: number;\r\n clientName: string | undefined;\r\n currency: Currency;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n terminalId: number | undefined;\r\n distance: number | undefined;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n pickupTimeZone: TimeZone;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n deliveryTimeZone: TimeZone;\r\n mandatoryBookedPickupDate: boolean;\r\n mandatoryBookedDeliveryDate: boolean;\r\n suppliers: SupplierToBookDto[] | undefined;\r\n permissions: LoadValuePermissionDto[] | undefined;\r\n specialRequirements: string | undefined;\r\n transportNo: string | undefined;\r\n vtlPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n truckNo: string | undefined;\r\n customsInfoRequired: boolean;\r\n bookingNo: string | undefined;\r\n}\r\n\r\nexport class SupplierToBookDto implements ISupplierToBookDto {\r\n id!: number;\r\n supplierDisplayValue!: string | undefined;\r\n hasValidAgreement!: boolean;\r\n hasBeenOfferedLoad!: boolean;\r\n\r\n constructor(data?: ISupplierToBookDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.supplierDisplayValue = _data[\"supplierDisplayValue\"];\r\n this.hasValidAgreement = _data[\"hasValidAgreement\"];\r\n this.hasBeenOfferedLoad = _data[\"hasBeenOfferedLoad\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierToBookDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierToBookDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"supplierDisplayValue\"] = this.supplierDisplayValue;\r\n data[\"hasValidAgreement\"] = this.hasValidAgreement;\r\n data[\"hasBeenOfferedLoad\"] = this.hasBeenOfferedLoad;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierToBookDto {\r\n id: number;\r\n supplierDisplayValue: string | undefined;\r\n hasValidAgreement: boolean;\r\n hasBeenOfferedLoad: boolean;\r\n}\r\n\r\nexport class DeliverLoadDto implements IDeliverLoadDto {\r\n loadId!: number;\r\n deliverDate!: moment.Moment | undefined;\r\n distance!: number | undefined;\r\n\r\n constructor(data?: IDeliverLoadDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.deliverDate = _data[\"deliverDate\"] ? moment.parseZone(_data[\"deliverDate\"].toString()) : undefined;\r\n this.distance = _data[\"distance\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeliverLoadDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeliverLoadDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"deliverDate\"] = this.deliverDate ? this.deliverDate.toISOString(true) : undefined;\r\n data[\"distance\"] = this.distance;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeliverLoadDto {\r\n loadId: number;\r\n deliverDate: moment.Moment | undefined;\r\n distance: number | undefined;\r\n}\r\n\r\nexport class LoadPreDeliverDetailsDto implements ILoadPreDeliverDetailsDto {\r\n distance!: number | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n loadedDate!: moment.Moment | undefined;\r\n permissions!: LoadValuePermissionDto[] | undefined;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n deliveryTimeZone!: TimeZone;\r\n\r\n constructor(data?: ILoadPreDeliverDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.distance = _data[\"distance\"];\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.loadedDate = _data[\"loadedDate\"] ? moment.parseZone(_data[\"loadedDate\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"permissions\"])) {\r\n this.permissions = [] as any;\r\n for (let item of _data[\"permissions\"])\r\n this.permissions!.push(LoadValuePermissionDto.fromJS(item));\r\n }\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.deliveryTimeZone = _data[\"deliveryTimeZone\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreDeliverDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreDeliverDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"distance\"] = this.distance;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"loadedDate\"] = this.loadedDate ? this.loadedDate.toISOString(true) : undefined;\r\n if (Array.isArray(this.permissions)) {\r\n data[\"permissions\"] = [];\r\n for (let item of this.permissions)\r\n data[\"permissions\"].push(item.toJSON());\r\n }\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"deliveryTimeZone\"] = this.deliveryTimeZone;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreDeliverDetailsDto {\r\n distance: number | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n loadedDate: moment.Moment | undefined;\r\n permissions: LoadValuePermissionDto[] | undefined;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n deliveryTimeZone: TimeZone;\r\n}\r\n\r\nexport class AdditionalDeliveryInfoDto implements IAdditionalDeliveryInfoDto {\r\n deliveryDate!: moment.Moment | undefined;\r\n packageNo!: string | undefined;\r\n lat!: string | undefined;\r\n lon!: string | undefined;\r\n\r\n constructor(data?: IAdditionalDeliveryInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.deliveryDate = _data[\"deliveryDate\"] ? moment.parseZone(_data[\"deliveryDate\"].toString()) : undefined;\r\n this.packageNo = _data[\"packageNo\"];\r\n this.lat = _data[\"lat\"];\r\n this.lon = _data[\"lon\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AdditionalDeliveryInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AdditionalDeliveryInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"deliveryDate\"] = this.deliveryDate ? this.deliveryDate.toISOString(true) : undefined;\r\n data[\"packageNo\"] = this.packageNo;\r\n data[\"lat\"] = this.lat;\r\n data[\"lon\"] = this.lon;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAdditionalDeliveryInfoDto {\r\n deliveryDate: moment.Moment | undefined;\r\n packageNo: string | undefined;\r\n lat: string | undefined;\r\n lon: string | undefined;\r\n}\r\n\r\nexport class RelatedLoadsDto implements IRelatedLoadsDto {\r\n parentLoads!: RelatedLoadSummaryDto[] | undefined;\r\n childLoads!: RelatedLoadSummaryDto[] | undefined;\r\n\r\n constructor(data?: IRelatedLoadsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"parentLoads\"])) {\r\n this.parentLoads = [] as any;\r\n for (let item of _data[\"parentLoads\"])\r\n this.parentLoads!.push(RelatedLoadSummaryDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"childLoads\"])) {\r\n this.childLoads = [] as any;\r\n for (let item of _data[\"childLoads\"])\r\n this.childLoads!.push(RelatedLoadSummaryDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RelatedLoadsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RelatedLoadsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.parentLoads)) {\r\n data[\"parentLoads\"] = [];\r\n for (let item of this.parentLoads)\r\n data[\"parentLoads\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.childLoads)) {\r\n data[\"childLoads\"] = [];\r\n for (let item of this.childLoads)\r\n data[\"childLoads\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRelatedLoadsDto {\r\n parentLoads: RelatedLoadSummaryDto[] | undefined;\r\n childLoads: RelatedLoadSummaryDto[] | undefined;\r\n}\r\n\r\nexport class AppendixListItemDto implements IAppendixListItemDto {\r\n id!: number;\r\n type!: LoadAppendixType;\r\n\r\n constructor(data?: IAppendixListItemDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppendixListItemDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppendixListItemDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppendixListItemDto {\r\n id: number;\r\n type: LoadAppendixType;\r\n}\r\n\r\nexport enum LoadAppendixType {\r\n PackageSpec = 1,\r\n ConsigneeInfo = 2,\r\n}\r\n\r\nexport class AppendixDto extends AppendixListItemDto implements IAppendixDto {\r\n loadId!: number;\r\n json!: string | undefined;\r\n\r\n constructor(data?: IAppendixDto) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.json = _data[\"json\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AppendixDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AppendixDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"json\"] = this.json;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAppendixDto extends IAppendixListItemDto {\r\n loadId: number;\r\n json: string | undefined;\r\n}\r\n\r\nexport enum FileExportType {\r\n PDF = 1,\r\n Excel = 2,\r\n XML = 3,\r\n}\r\n\r\nexport class LoadSearchResultDto implements ILoadSearchResultDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n status!: LoadStatus;\r\n locations!: string | undefined;\r\n pickupEarliest!: moment.Moment;\r\n truckType!: TruckType;\r\n bookingNo!: string | undefined;\r\n\r\n constructor(data?: ILoadSearchResultDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.status = _data[\"status\"];\r\n this.locations = _data[\"locations\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.truckType = _data[\"truckType\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadSearchResultDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadSearchResultDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"status\"] = this.status;\r\n data[\"locations\"] = this.locations;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadSearchResultDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n status: LoadStatus;\r\n locations: string | undefined;\r\n pickupEarliest: moment.Moment;\r\n truckType: TruckType;\r\n bookingNo: string | undefined;\r\n}\r\n\r\nexport class LoadDetailsHistoryDto implements ILoadDetailsHistoryDto {\r\n id!: number;\r\n user!: string | undefined;\r\n userName!: string | undefined;\r\n userEmail!: string | undefined;\r\n actorName!: string | undefined;\r\n action!: string | undefined;\r\n timeStamp!: moment.Moment | undefined;\r\n description!: string | undefined;\r\n why!: string | undefined;\r\n\r\n constructor(data?: ILoadDetailsHistoryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.user = _data[\"user\"];\r\n this.userName = _data[\"userName\"];\r\n this.userEmail = _data[\"userEmail\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.action = _data[\"action\"];\r\n this.timeStamp = _data[\"timeStamp\"] ? moment.parseZone(_data[\"timeStamp\"].toString()) : undefined;\r\n this.description = _data[\"description\"];\r\n this.why = _data[\"why\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsHistoryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsHistoryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"user\"] = this.user;\r\n data[\"userName\"] = this.userName;\r\n data[\"userEmail\"] = this.userEmail;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"action\"] = this.action;\r\n data[\"timeStamp\"] = this.timeStamp ? this.timeStamp.toISOString(true) : undefined;\r\n data[\"description\"] = this.description;\r\n data[\"why\"] = this.why;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsHistoryDto {\r\n id: number;\r\n user: string | undefined;\r\n userName: string | undefined;\r\n userEmail: string | undefined;\r\n actorName: string | undefined;\r\n action: string | undefined;\r\n timeStamp: moment.Moment | undefined;\r\n description: string | undefined;\r\n why: string | undefined;\r\n}\r\n\r\nexport class CustomsInfoDto implements ICustomsInfoDto {\r\n permitNo!: string | undefined;\r\n driverPhone!: string | undefined;\r\n truckCountry!: Country | undefined;\r\n passageId!: number | undefined;\r\n passageDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ICustomsInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.permitNo = _data[\"permitNo\"];\r\n this.driverPhone = _data[\"driverPhone\"];\r\n this.truckCountry = _data[\"truckCountry\"];\r\n this.passageId = _data[\"passageId\"];\r\n this.passageDate = _data[\"passageDate\"] ? moment.parseZone(_data[\"passageDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomsInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomsInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"permitNo\"] = this.permitNo;\r\n data[\"driverPhone\"] = this.driverPhone;\r\n data[\"truckCountry\"] = this.truckCountry;\r\n data[\"passageId\"] = this.passageId;\r\n data[\"passageDate\"] = this.passageDate ? this.passageDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomsInfoDto {\r\n permitNo: string | undefined;\r\n driverPhone: string | undefined;\r\n truckCountry: Country | undefined;\r\n passageId: number | undefined;\r\n passageDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class LoadDetailsDto implements ILoadDetailsDto {\r\n loadId!: number;\r\n loadStatus!: LoadStatus;\r\n baseValues!: LoadDetailsBaseValuesDto | undefined;\r\n dates!: LoadDetailsDatesDto | undefined;\r\n shippingInfo!: LoadDetailsShippingInfoDto | undefined;\r\n content!: LoadDetailsContentDto | undefined;\r\n deviation!: LoadDetailsDeviationDto | undefined;\r\n customsInfoRequired!: boolean;\r\n\r\n constructor(data?: ILoadDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.baseValues = _data[\"baseValues\"] ? LoadDetailsBaseValuesDto.fromJS(_data[\"baseValues\"]) : undefined;\r\n this.dates = _data[\"dates\"] ? LoadDetailsDatesDto.fromJS(_data[\"dates\"]) : undefined;\r\n this.shippingInfo = _data[\"shippingInfo\"] ? LoadDetailsShippingInfoDto.fromJS(_data[\"shippingInfo\"]) : undefined;\r\n this.content = _data[\"content\"] ? LoadDetailsContentDto.fromJS(_data[\"content\"]) : undefined;\r\n this.deviation = _data[\"deviation\"] ? LoadDetailsDeviationDto.fromJS(_data[\"deviation\"]) : undefined;\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"baseValues\"] = this.baseValues ? this.baseValues.toJSON() : undefined;\r\n data[\"dates\"] = this.dates ? this.dates.toJSON() : undefined;\r\n data[\"shippingInfo\"] = this.shippingInfo ? this.shippingInfo.toJSON() : undefined;\r\n data[\"content\"] = this.content ? this.content.toJSON() : undefined;\r\n data[\"deviation\"] = this.deviation ? this.deviation.toJSON() : undefined;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsDto {\r\n loadId: number;\r\n loadStatus: LoadStatus;\r\n baseValues: LoadDetailsBaseValuesDto | undefined;\r\n dates: LoadDetailsDatesDto | undefined;\r\n shippingInfo: LoadDetailsShippingInfoDto | undefined;\r\n content: LoadDetailsContentDto | undefined;\r\n deviation: LoadDetailsDeviationDto | undefined;\r\n customsInfoRequired: boolean;\r\n}\r\n\r\nexport class LoadDetailsBaseValuesDto implements ILoadDetailsBaseValuesDto {\r\n agreementRouteId!: number;\r\n agreementRoute!: string | undefined;\r\n truckType!: TruckType;\r\n truckTypeName!: string | undefined;\r\n pickupLocation!: string | undefined;\r\n pickupAddress!: string | undefined;\r\n pickupInfo!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n deliveryAddress!: string | undefined;\r\n deliveryInfo!: string | undefined;\r\n distance!: number | undefined;\r\n emission!: number | undefined;\r\n publishSpeed!: PublishSpeed;\r\n cargoType!: CargoType;\r\n consigneeAppendixId!: number | undefined;\r\n invoicePrice!: number | undefined;\r\n currencyName!: string | undefined;\r\n\r\n constructor(data?: ILoadDetailsBaseValuesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.agreementRoute = _data[\"agreementRoute\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.truckTypeName = _data[\"truckTypeName\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.pickupAddress = _data[\"pickupAddress\"];\r\n this.pickupInfo = _data[\"pickupInfo\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.deliveryAddress = _data[\"deliveryAddress\"];\r\n this.deliveryInfo = _data[\"deliveryInfo\"];\r\n this.distance = _data[\"distance\"];\r\n this.emission = _data[\"emission\"];\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.consigneeAppendixId = _data[\"consigneeAppendixId\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n this.currencyName = _data[\"currencyName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsBaseValuesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsBaseValuesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"agreementRoute\"] = this.agreementRoute;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"truckTypeName\"] = this.truckTypeName;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"pickupAddress\"] = this.pickupAddress;\r\n data[\"pickupInfo\"] = this.pickupInfo;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"deliveryAddress\"] = this.deliveryAddress;\r\n data[\"deliveryInfo\"] = this.deliveryInfo;\r\n data[\"distance\"] = this.distance;\r\n data[\"emission\"] = this.emission;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"consigneeAppendixId\"] = this.consigneeAppendixId;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n data[\"currencyName\"] = this.currencyName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsBaseValuesDto {\r\n agreementRouteId: number;\r\n agreementRoute: string | undefined;\r\n truckType: TruckType;\r\n truckTypeName: string | undefined;\r\n pickupLocation: string | undefined;\r\n pickupAddress: string | undefined;\r\n pickupInfo: string | undefined;\r\n deliveryLocation: string | undefined;\r\n deliveryAddress: string | undefined;\r\n deliveryInfo: string | undefined;\r\n distance: number | undefined;\r\n emission: number | undefined;\r\n publishSpeed: PublishSpeed;\r\n cargoType: CargoType;\r\n consigneeAppendixId: number | undefined;\r\n invoicePrice: number | undefined;\r\n currencyName: string | undefined;\r\n}\r\n\r\nexport class LoadDetailsDatesDto implements ILoadDetailsDatesDto {\r\n pickupEarliest!: moment.Moment | undefined;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment | undefined;\r\n regDate!: moment.Moment | undefined;\r\n bookingDate!: moment.Moment | undefined;\r\n loaded!: moment.Moment | undefined;\r\n delivered!: moment.Moment | undefined;\r\n bookedPickup!: moment.Moment | undefined;\r\n bookedDelivery!: moment.Moment | undefined;\r\n mandatoryBookedPickup!: boolean;\r\n mandatoryBookedDelivery!: boolean;\r\n bookedPickupInfo!: string | undefined;\r\n bookedDeliveryInfo!: string | undefined;\r\n visibleToNextSupplier!: moment.Moment | undefined;\r\n loadingSlots!: LoadDetailsLoadingSlotDto[] | undefined;\r\n\r\n constructor(data?: ILoadDetailsDatesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliverEarliest = _data[\"deliverEarliest\"] ? moment.parseZone(_data[\"deliverEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.bookingDate = _data[\"bookingDate\"] ? moment.parseZone(_data[\"bookingDate\"].toString()) : undefined;\r\n this.loaded = _data[\"loaded\"] ? moment.parseZone(_data[\"loaded\"].toString()) : undefined;\r\n this.delivered = _data[\"delivered\"] ? moment.parseZone(_data[\"delivered\"].toString()) : undefined;\r\n this.bookedPickup = _data[\"bookedPickup\"] ? moment.parseZone(_data[\"bookedPickup\"].toString()) : undefined;\r\n this.bookedDelivery = _data[\"bookedDelivery\"] ? moment.parseZone(_data[\"bookedDelivery\"].toString()) : undefined;\r\n this.mandatoryBookedPickup = _data[\"mandatoryBookedPickup\"];\r\n this.mandatoryBookedDelivery = _data[\"mandatoryBookedDelivery\"];\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n this.bookedDeliveryInfo = _data[\"bookedDeliveryInfo\"];\r\n this.visibleToNextSupplier = _data[\"visibleToNextSupplier\"] ? moment.parseZone(_data[\"visibleToNextSupplier\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"loadingSlots\"])) {\r\n this.loadingSlots = [] as any;\r\n for (let item of _data[\"loadingSlots\"])\r\n this.loadingSlots!.push(LoadDetailsLoadingSlotDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsDatesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsDatesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliverEarliest\"] = this.deliverEarliest ? this.deliverEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"bookingDate\"] = this.bookingDate ? this.bookingDate.toISOString(true) : undefined;\r\n data[\"loaded\"] = this.loaded ? this.loaded.toISOString(true) : undefined;\r\n data[\"delivered\"] = this.delivered ? this.delivered.toISOString(true) : undefined;\r\n data[\"bookedPickup\"] = this.bookedPickup ? this.bookedPickup.toISOString(true) : undefined;\r\n data[\"bookedDelivery\"] = this.bookedDelivery ? this.bookedDelivery.toISOString(true) : undefined;\r\n data[\"mandatoryBookedPickup\"] = this.mandatoryBookedPickup;\r\n data[\"mandatoryBookedDelivery\"] = this.mandatoryBookedDelivery;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n data[\"bookedDeliveryInfo\"] = this.bookedDeliveryInfo;\r\n data[\"visibleToNextSupplier\"] = this.visibleToNextSupplier ? this.visibleToNextSupplier.toISOString(true) : undefined;\r\n if (Array.isArray(this.loadingSlots)) {\r\n data[\"loadingSlots\"] = [];\r\n for (let item of this.loadingSlots)\r\n data[\"loadingSlots\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsDatesDto {\r\n pickupEarliest: moment.Moment | undefined;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment | undefined;\r\n regDate: moment.Moment | undefined;\r\n bookingDate: moment.Moment | undefined;\r\n loaded: moment.Moment | undefined;\r\n delivered: moment.Moment | undefined;\r\n bookedPickup: moment.Moment | undefined;\r\n bookedDelivery: moment.Moment | undefined;\r\n mandatoryBookedPickup: boolean;\r\n mandatoryBookedDelivery: boolean;\r\n bookedPickupInfo: string | undefined;\r\n bookedDeliveryInfo: string | undefined;\r\n visibleToNextSupplier: moment.Moment | undefined;\r\n loadingSlots: LoadDetailsLoadingSlotDto[] | undefined;\r\n}\r\n\r\nexport class LoadDetailsLoadingSlotDto implements ILoadDetailsLoadingSlotDto {\r\n startTime!: moment.Moment;\r\n endTime!: moment.Moment;\r\n loadingDockName!: string | undefined;\r\n\r\n constructor(data?: ILoadDetailsLoadingSlotDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startTime = _data[\"startTime\"] ? moment.parseZone(_data[\"startTime\"].toString()) : undefined;\r\n this.endTime = _data[\"endTime\"] ? moment.parseZone(_data[\"endTime\"].toString()) : undefined;\r\n this.loadingDockName = _data[\"loadingDockName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsLoadingSlotDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsLoadingSlotDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startTime\"] = this.startTime ? this.startTime.toISOString(true) : undefined;\r\n data[\"endTime\"] = this.endTime ? this.endTime.toISOString(true) : undefined;\r\n data[\"loadingDockName\"] = this.loadingDockName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsLoadingSlotDto {\r\n startTime: moment.Moment;\r\n endTime: moment.Moment;\r\n loadingDockName: string | undefined;\r\n}\r\n\r\nexport class LoadDetailsShippingInfoDto implements ILoadDetailsShippingInfoDto {\r\n clientName!: string | undefined;\r\n clientId!: number;\r\n supplierName!: string | undefined;\r\n supplierId!: number | undefined;\r\n customerName!: string | undefined;\r\n customerId!: number | undefined;\r\n terminalName!: string | undefined;\r\n truckNo!: string | undefined;\r\n loadOrderNo!: string | undefined;\r\n transportNo!: string | undefined;\r\n consignmentNote!: string | undefined;\r\n unit!: string | undefined;\r\n referenceNo!: string | undefined;\r\n blNo!: string | undefined;\r\n vtlPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n note!: string | undefined;\r\n containerCount!: number;\r\n ranking!: number;\r\n bookingNo!: string | undefined;\r\n\r\n constructor(data?: ILoadDetailsShippingInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientName = _data[\"clientName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.customerName = _data[\"customerName\"];\r\n this.customerId = _data[\"customerId\"];\r\n this.terminalName = _data[\"terminalName\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.loadOrderNo = _data[\"loadOrderNo\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.consignmentNote = _data[\"consignmentNote\"];\r\n this.unit = _data[\"unit\"];\r\n this.referenceNo = _data[\"referenceNo\"];\r\n this.blNo = _data[\"blNo\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.note = _data[\"note\"];\r\n this.containerCount = _data[\"containerCount\"];\r\n this.ranking = _data[\"ranking\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsShippingInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsShippingInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientName\"] = this.clientName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"supplierName\"] = this.supplierName;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"customerName\"] = this.customerName;\r\n data[\"customerId\"] = this.customerId;\r\n data[\"terminalName\"] = this.terminalName;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"loadOrderNo\"] = this.loadOrderNo;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"consignmentNote\"] = this.consignmentNote;\r\n data[\"unit\"] = this.unit;\r\n data[\"referenceNo\"] = this.referenceNo;\r\n data[\"blNo\"] = this.blNo;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"note\"] = this.note;\r\n data[\"containerCount\"] = this.containerCount;\r\n data[\"ranking\"] = this.ranking;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsShippingInfoDto {\r\n clientName: string | undefined;\r\n clientId: number;\r\n supplierName: string | undefined;\r\n supplierId: number | undefined;\r\n customerName: string | undefined;\r\n customerId: number | undefined;\r\n terminalName: string | undefined;\r\n truckNo: string | undefined;\r\n loadOrderNo: string | undefined;\r\n transportNo: string | undefined;\r\n consignmentNote: string | undefined;\r\n unit: string | undefined;\r\n referenceNo: string | undefined;\r\n blNo: string | undefined;\r\n vtlPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n note: string | undefined;\r\n containerCount: number;\r\n ranking: number;\r\n bookingNo: string | undefined;\r\n}\r\n\r\nexport class LoadDetailsContentDto implements ILoadDetailsContentDto {\r\n volume!: number | undefined;\r\n weight!: number | undefined;\r\n packages!: number | undefined;\r\n contentInfo!: string | undefined;\r\n\r\n constructor(data?: ILoadDetailsContentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.volume = _data[\"volume\"];\r\n this.weight = _data[\"weight\"];\r\n this.packages = _data[\"packages\"];\r\n this.contentInfo = _data[\"contentInfo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDetailsContentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDetailsContentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"volume\"] = this.volume;\r\n data[\"weight\"] = this.weight;\r\n data[\"packages\"] = this.packages;\r\n data[\"contentInfo\"] = this.contentInfo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDetailsContentDto {\r\n volume: number | undefined;\r\n weight: number | undefined;\r\n packages: number | undefined;\r\n contentInfo: string | undefined;\r\n}\r\n\r\nexport class PriceRowDto implements IPriceRowDto {\r\n loadId!: number;\r\n cargoType!: CargoType;\r\n otherPrice!: number | undefined;\r\n basePrice!: number | undefined;\r\n freightPrice!: number | undefined;\r\n invoicePrice!: number | undefined;\r\n stopPrice!: number | undefined;\r\n serviceFee!: number | undefined;\r\n initialFee!: number | undefined;\r\n indexFactor!: number;\r\n indexPrice!: number;\r\n bookingFee!: number;\r\n vtlPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n numExtraStops!: number;\r\n numContainers!: number;\r\n distance!: number | undefined;\r\n currency!: Currency;\r\n feeType!: FeeType;\r\n supplierId!: number | undefined;\r\n indexDate!: moment.Moment | undefined;\r\n baseIndexDate!: moment.Moment | undefined;\r\n baseIndexName!: string | undefined;\r\n alterDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: IPriceRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.otherPrice = _data[\"otherPrice\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.freightPrice = _data[\"freightPrice\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.indexPrice = _data[\"indexPrice\"];\r\n this.bookingFee = _data[\"bookingFee\"];\r\n this.vtlPrice = _data[\"vtlPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.distance = _data[\"distance\"];\r\n this.currency = _data[\"currency\"];\r\n this.feeType = _data[\"feeType\"];\r\n this.supplierId = _data[\"supplierId\"];\r\n this.indexDate = _data[\"indexDate\"] ? moment.parseZone(_data[\"indexDate\"].toString()) : undefined;\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"otherPrice\"] = this.otherPrice;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"freightPrice\"] = this.freightPrice;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"indexPrice\"] = this.indexPrice;\r\n data[\"bookingFee\"] = this.bookingFee;\r\n data[\"vtlPrice\"] = this.vtlPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"distance\"] = this.distance;\r\n data[\"currency\"] = this.currency;\r\n data[\"feeType\"] = this.feeType;\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"indexDate\"] = this.indexDate ? this.indexDate.toISOString(true) : undefined;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceRowDto {\r\n loadId: number;\r\n cargoType: CargoType;\r\n otherPrice: number | undefined;\r\n basePrice: number | undefined;\r\n freightPrice: number | undefined;\r\n invoicePrice: number | undefined;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n initialFee: number | undefined;\r\n indexFactor: number;\r\n indexPrice: number;\r\n bookingFee: number;\r\n vtlPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n numExtraStops: number;\r\n numContainers: number;\r\n distance: number | undefined;\r\n currency: Currency;\r\n feeType: FeeType;\r\n supplierId: number | undefined;\r\n indexDate: moment.Moment | undefined;\r\n baseIndexDate: moment.Moment | undefined;\r\n baseIndexName: string | undefined;\r\n alterDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class LoadContactDto implements ILoadContactDto {\r\n contactType!: ContactType;\r\n recipient!: string | undefined;\r\n culture!: Culture;\r\n\r\n constructor(data?: ILoadContactDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.contactType = _data[\"contactType\"];\r\n this.recipient = _data[\"recipient\"];\r\n this.culture = _data[\"culture\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadContactDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadContactDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"contactType\"] = this.contactType;\r\n data[\"recipient\"] = this.recipient;\r\n data[\"culture\"] = this.culture;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadContactDto {\r\n contactType: ContactType;\r\n recipient: string | undefined;\r\n culture: Culture;\r\n}\r\n\r\nexport enum ContactType {\r\n Email = 1,\r\n Sms = 2,\r\n}\r\n\r\nexport class ResignLoadDto implements IResignLoadDto {\r\n loadId!: number;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IResignLoadDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResignLoadDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResignLoadDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResignLoadDto {\r\n loadId: number;\r\n description: string | undefined;\r\n}\r\n\r\nexport class LoadPreResignDetailsDto implements ILoadPreResignDetailsDto {\r\n loadId!: number;\r\n pickupEarliest!: moment.Moment;\r\n deliverLatest!: moment.Moment;\r\n clientName!: string | undefined;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n\r\n constructor(data?: ILoadPreResignDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.deliverLatest = _data[\"deliverLatest\"] ? moment.parseZone(_data[\"deliverLatest\"].toString()) : undefined;\r\n this.clientName = _data[\"clientName\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreResignDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreResignDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"deliverLatest\"] = this.deliverLatest ? this.deliverLatest.toISOString(true) : undefined;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreResignDetailsDto {\r\n loadId: number;\r\n pickupEarliest: moment.Moment;\r\n deliverLatest: moment.Moment;\r\n clientName: string | undefined;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n}\r\n\r\nexport class LoadSupplierEditDto implements ILoadSupplierEditDto {\r\n loadId!: number;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n bookedPickupInfo!: string | undefined;\r\n bookedDeliveryInfo!: string | undefined;\r\n bookingNo!: string | undefined;\r\n regNo!: string | undefined;\r\n customsInfo!: CustomsInfoDto | undefined;\r\n\r\n constructor(data?: ILoadSupplierEditDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n this.bookedDeliveryInfo = _data[\"bookedDeliveryInfo\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.regNo = _data[\"regNo\"];\r\n this.customsInfo = _data[\"customsInfo\"] ? CustomsInfoDto.fromJS(_data[\"customsInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadSupplierEditDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadSupplierEditDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n data[\"bookedDeliveryInfo\"] = this.bookedDeliveryInfo;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"regNo\"] = this.regNo;\r\n data[\"customsInfo\"] = this.customsInfo ? this.customsInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadSupplierEditDto {\r\n loadId: number;\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n bookedPickupInfo: string | undefined;\r\n bookedDeliveryInfo: string | undefined;\r\n bookingNo: string | undefined;\r\n regNo: string | undefined;\r\n customsInfo: CustomsInfoDto | undefined;\r\n}\r\n\r\nexport class LoadPreSupplierEditDetailsDto implements ILoadPreSupplierEditDetailsDto {\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\r\n pickupZone!: TimeZone;\r\n deliverZone!: TimeZone;\r\n bookedPickupInfo!: string | undefined;\r\n bookedDeliveryInfo!: string | undefined;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n mandatoryBookedPickupDate!: boolean;\r\n bookedDeliveryDate!: moment.Moment | undefined;\r\n bookedPickupDate!: moment.Moment | undefined;\r\n bookedDeliveryDateEnabled!: boolean;\r\n bookedDeliveryTimeEnabled!: boolean;\r\n bookedPickupDateEnabled!: boolean;\r\n bookedPickupTimeEnabled!: boolean;\r\n regNoEnabled!: boolean;\r\n regNo!: string | undefined;\r\n bookingNo!: string | undefined;\r\n truckType!: TruckType;\r\n routeName!: string | undefined;\r\n transportNo!: string | undefined;\r\n vltPrice!: number | undefined;\r\n escortCarPrice!: number | undefined;\r\n numContainers!: number;\r\n numExtraStops!: number;\r\n customsInfoRequired!: boolean;\r\n customsInfo!: CustomsInfoDto | undefined;\r\n\r\n constructor(data?: ILoadPreSupplierEditDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliverZone = _data[\"deliverZone\"];\r\n this.bookedPickupInfo = _data[\"bookedPickupInfo\"];\r\n this.bookedDeliveryInfo = _data[\"bookedDeliveryInfo\"];\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.bookedDeliveryDate = _data[\"bookedDeliveryDate\"] ? moment.parseZone(_data[\"bookedDeliveryDate\"].toString()) : undefined;\r\n this.bookedPickupDate = _data[\"bookedPickupDate\"] ? moment.parseZone(_data[\"bookedPickupDate\"].toString()) : undefined;\r\n this.bookedDeliveryDateEnabled = _data[\"bookedDeliveryDateEnabled\"];\r\n this.bookedDeliveryTimeEnabled = _data[\"bookedDeliveryTimeEnabled\"];\r\n this.bookedPickupDateEnabled = _data[\"bookedPickupDateEnabled\"];\r\n this.bookedPickupTimeEnabled = _data[\"bookedPickupTimeEnabled\"];\r\n this.regNoEnabled = _data[\"regNoEnabled\"];\r\n this.regNo = _data[\"regNo\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.routeName = _data[\"routeName\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.vltPrice = _data[\"vltPrice\"];\r\n this.escortCarPrice = _data[\"escortCarPrice\"];\r\n this.numContainers = _data[\"numContainers\"];\r\n this.numExtraStops = _data[\"numExtraStops\"];\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n this.customsInfo = _data[\"customsInfo\"] ? CustomsInfoDto.fromJS(_data[\"customsInfo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadPreSupplierEditDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadPreSupplierEditDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliverZone\"] = this.deliverZone;\r\n data[\"bookedPickupInfo\"] = this.bookedPickupInfo;\r\n data[\"bookedDeliveryInfo\"] = this.bookedDeliveryInfo;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"bookedDeliveryDate\"] = this.bookedDeliveryDate ? this.bookedDeliveryDate.toISOString(true) : undefined;\r\n data[\"bookedPickupDate\"] = this.bookedPickupDate ? this.bookedPickupDate.toISOString(true) : undefined;\r\n data[\"bookedDeliveryDateEnabled\"] = this.bookedDeliveryDateEnabled;\r\n data[\"bookedDeliveryTimeEnabled\"] = this.bookedDeliveryTimeEnabled;\r\n data[\"bookedPickupDateEnabled\"] = this.bookedPickupDateEnabled;\r\n data[\"bookedPickupTimeEnabled\"] = this.bookedPickupTimeEnabled;\r\n data[\"regNoEnabled\"] = this.regNoEnabled;\r\n data[\"regNo\"] = this.regNo;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"routeName\"] = this.routeName;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"vltPrice\"] = this.vltPrice;\r\n data[\"escortCarPrice\"] = this.escortCarPrice;\r\n data[\"numContainers\"] = this.numContainers;\r\n data[\"numExtraStops\"] = this.numExtraStops;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n data[\"customsInfo\"] = this.customsInfo ? this.customsInfo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadPreSupplierEditDetailsDto {\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\r\n pickupZone: TimeZone;\r\n deliverZone: TimeZone;\r\n bookedPickupInfo: string | undefined;\r\n bookedDeliveryInfo: string | undefined;\r\n mandatoryBookedDeliveryDate: boolean;\r\n mandatoryBookedPickupDate: boolean;\r\n bookedDeliveryDate: moment.Moment | undefined;\r\n bookedPickupDate: moment.Moment | undefined;\r\n bookedDeliveryDateEnabled: boolean;\r\n bookedDeliveryTimeEnabled: boolean;\r\n bookedPickupDateEnabled: boolean;\r\n bookedPickupTimeEnabled: boolean;\r\n regNoEnabled: boolean;\r\n regNo: string | undefined;\r\n bookingNo: string | undefined;\r\n truckType: TruckType;\r\n routeName: string | undefined;\r\n transportNo: string | undefined;\r\n vltPrice: number | undefined;\r\n escortCarPrice: number | undefined;\r\n numContainers: number;\r\n numExtraStops: number;\r\n customsInfoRequired: boolean;\r\n customsInfo: CustomsInfoDto | undefined;\r\n}\r\n\r\nexport class LoadSupplierEditContainerDto implements ILoadSupplierEditContainerDto {\r\n loadId!: number;\r\n bookingNo!: string | undefined;\r\n eta!: moment.Moment | undefined;\r\n etd!: moment.Moment | undefined;\r\n dateForClosing!: moment.Moment | undefined;\r\n pickupZone!: TimeZone;\r\n deliveryZone!: TimeZone;\r\n terminalId!: number | undefined;\r\n stuffingLocation!: string | undefined;\r\n shipName!: string | undefined;\r\n blNo!: string | undefined;\r\n thcValue!: number | undefined;\r\n thcCurrency!: string | undefined;\r\n containers!: ContainerDto[] | undefined;\r\n\r\n constructor(data?: ILoadSupplierEditContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.eta = _data[\"eta\"] ? moment.parseZone(_data[\"eta\"].toString()) : undefined;\r\n this.etd = _data[\"etd\"] ? moment.parseZone(_data[\"etd\"].toString()) : undefined;\r\n this.dateForClosing = _data[\"dateForClosing\"] ? moment.parseZone(_data[\"dateForClosing\"].toString()) : undefined;\r\n this.pickupZone = _data[\"pickupZone\"];\r\n this.deliveryZone = _data[\"deliveryZone\"];\r\n this.terminalId = _data[\"terminalId\"];\r\n this.stuffingLocation = _data[\"stuffingLocation\"];\r\n this.shipName = _data[\"shipName\"];\r\n this.blNo = _data[\"blNo\"];\r\n this.thcValue = _data[\"thcValue\"];\r\n this.thcCurrency = _data[\"thcCurrency\"];\r\n if (Array.isArray(_data[\"containers\"])) {\r\n this.containers = [] as any;\r\n for (let item of _data[\"containers\"])\r\n this.containers!.push(ContainerDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadSupplierEditContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadSupplierEditContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"eta\"] = this.eta ? this.eta.toISOString(true) : undefined;\r\n data[\"etd\"] = this.etd ? this.etd.toISOString(true) : undefined;\r\n data[\"dateForClosing\"] = this.dateForClosing ? this.dateForClosing.toISOString(true) : undefined;\r\n data[\"pickupZone\"] = this.pickupZone;\r\n data[\"deliveryZone\"] = this.deliveryZone;\r\n data[\"terminalId\"] = this.terminalId;\r\n data[\"stuffingLocation\"] = this.stuffingLocation;\r\n data[\"shipName\"] = this.shipName;\r\n data[\"blNo\"] = this.blNo;\r\n data[\"thcValue\"] = this.thcValue;\r\n data[\"thcCurrency\"] = this.thcCurrency;\r\n if (Array.isArray(this.containers)) {\r\n data[\"containers\"] = [];\r\n for (let item of this.containers)\r\n data[\"containers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadSupplierEditContainerDto {\r\n loadId: number;\r\n bookingNo: string | undefined;\r\n eta: moment.Moment | undefined;\r\n etd: moment.Moment | undefined;\r\n dateForClosing: moment.Moment | undefined;\r\n pickupZone: TimeZone;\r\n deliveryZone: TimeZone;\r\n terminalId: number | undefined;\r\n stuffingLocation: string | undefined;\r\n shipName: string | undefined;\r\n blNo: string | undefined;\r\n thcValue: number | undefined;\r\n thcCurrency: string | undefined;\r\n containers: ContainerDto[] | undefined;\r\n}\r\n\r\nexport class StandardPhraseDto implements IStandardPhraseDto {\r\n id!: number;\r\n subject!: string | undefined;\r\n body!: string | undefined;\r\n phraseType!: StandardPhraseType;\r\n\r\n constructor(data?: IStandardPhraseDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subject = _data[\"subject\"];\r\n this.body = _data[\"body\"];\r\n this.phraseType = _data[\"phraseType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StandardPhraseDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StandardPhraseDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subject\"] = this.subject;\r\n data[\"body\"] = this.body;\r\n data[\"phraseType\"] = this.phraseType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStandardPhraseDto {\r\n id: number;\r\n subject: string | undefined;\r\n body: string | undefined;\r\n phraseType: StandardPhraseType;\r\n}\r\n\r\nexport enum StandardPhraseType {\r\n Note = 1,\r\n PickupInfo = 2,\r\n DestinationInfo = 3,\r\n ContentInfo = 4,\r\n SpecialRequirement = 5,\r\n}\r\n\r\nexport class AgreementRouteStandardPhraseDto implements IAgreementRouteStandardPhraseDto {\r\n id!: number;\r\n subject!: string | undefined;\r\n body!: string | undefined;\r\n phraseType!: StandardPhraseType;\r\n userDisplayName!: string | undefined;\r\n regDate!: moment.Moment;\r\n usageCount!: number;\r\n agreementRoutesDeliveryInfos!: CargoTypeAndRouteInfoDto[] | undefined;\r\n agreementRoutesPickupInfos!: CargoTypeAndRouteInfoDto[] | undefined;\r\n agreementRoutesSpecialRequirements!: CargoTypeAndRouteInfoDto[] | undefined;\r\n\r\n constructor(data?: IAgreementRouteStandardPhraseDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subject = _data[\"subject\"];\r\n this.body = _data[\"body\"];\r\n this.phraseType = _data[\"phraseType\"];\r\n this.userDisplayName = _data[\"userDisplayName\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.usageCount = _data[\"usageCount\"];\r\n if (Array.isArray(_data[\"agreementRoutesDeliveryInfos\"])) {\r\n this.agreementRoutesDeliveryInfos = [] as any;\r\n for (let item of _data[\"agreementRoutesDeliveryInfos\"])\r\n this.agreementRoutesDeliveryInfos!.push(CargoTypeAndRouteInfoDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"agreementRoutesPickupInfos\"])) {\r\n this.agreementRoutesPickupInfos = [] as any;\r\n for (let item of _data[\"agreementRoutesPickupInfos\"])\r\n this.agreementRoutesPickupInfos!.push(CargoTypeAndRouteInfoDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"agreementRoutesSpecialRequirements\"])) {\r\n this.agreementRoutesSpecialRequirements = [] as any;\r\n for (let item of _data[\"agreementRoutesSpecialRequirements\"])\r\n this.agreementRoutesSpecialRequirements!.push(CargoTypeAndRouteInfoDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteStandardPhraseDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteStandardPhraseDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subject\"] = this.subject;\r\n data[\"body\"] = this.body;\r\n data[\"phraseType\"] = this.phraseType;\r\n data[\"userDisplayName\"] = this.userDisplayName;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"usageCount\"] = this.usageCount;\r\n if (Array.isArray(this.agreementRoutesDeliveryInfos)) {\r\n data[\"agreementRoutesDeliveryInfos\"] = [];\r\n for (let item of this.agreementRoutesDeliveryInfos)\r\n data[\"agreementRoutesDeliveryInfos\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.agreementRoutesPickupInfos)) {\r\n data[\"agreementRoutesPickupInfos\"] = [];\r\n for (let item of this.agreementRoutesPickupInfos)\r\n data[\"agreementRoutesPickupInfos\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.agreementRoutesSpecialRequirements)) {\r\n data[\"agreementRoutesSpecialRequirements\"] = [];\r\n for (let item of this.agreementRoutesSpecialRequirements)\r\n data[\"agreementRoutesSpecialRequirements\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteStandardPhraseDto {\r\n id: number;\r\n subject: string | undefined;\r\n body: string | undefined;\r\n phraseType: StandardPhraseType;\r\n userDisplayName: string | undefined;\r\n regDate: moment.Moment;\r\n usageCount: number;\r\n agreementRoutesDeliveryInfos: CargoTypeAndRouteInfoDto[] | undefined;\r\n agreementRoutesPickupInfos: CargoTypeAndRouteInfoDto[] | undefined;\r\n agreementRoutesSpecialRequirements: CargoTypeAndRouteInfoDto[] | undefined;\r\n}\r\n\r\nexport class CargoTypeAndRouteInfoDto implements ICargoTypeAndRouteInfoDto {\r\n routeName!: string | undefined;\r\n cargoType!: CargoType;\r\n cargoTypeName!: string | undefined;\r\n\r\n constructor(data?: ICargoTypeAndRouteInfoDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.routeName = _data[\"routeName\"];\r\n this.cargoType = _data[\"cargoType\"];\r\n this.cargoTypeName = _data[\"cargoTypeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CargoTypeAndRouteInfoDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CargoTypeAndRouteInfoDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"routeName\"] = this.routeName;\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"cargoTypeName\"] = this.cargoTypeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICargoTypeAndRouteInfoDto {\r\n routeName: string | undefined;\r\n cargoType: CargoType;\r\n cargoTypeName: string | undefined;\r\n}\r\n\r\nexport class LoadWithCargoLoadingDto implements ILoadWithCargoLoadingDto {\r\n loadId!: number;\r\n transportNo!: string | undefined;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment;\r\n bookingNo!: string | undefined;\r\n truckNo!: string | undefined;\r\n clientName!: string | undefined;\r\n cargoLoadings!: CargoLoadingDto[] | undefined;\r\n loadStatus!: LoadStatus;\r\n viewDate!: moment.Moment;\r\n\r\n constructor(data?: ILoadWithCargoLoadingDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.clientName = _data[\"clientName\"];\r\n if (Array.isArray(_data[\"cargoLoadings\"])) {\r\n this.cargoLoadings = [] as any;\r\n for (let item of _data[\"cargoLoadings\"])\r\n this.cargoLoadings!.push(CargoLoadingDto.fromJS(item));\r\n }\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.viewDate = _data[\"viewDate\"] ? moment.parseZone(_data[\"viewDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadWithCargoLoadingDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadWithCargoLoadingDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"clientName\"] = this.clientName;\r\n if (Array.isArray(this.cargoLoadings)) {\r\n data[\"cargoLoadings\"] = [];\r\n for (let item of this.cargoLoadings)\r\n data[\"cargoLoadings\"].push(item.toJSON());\r\n }\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"viewDate\"] = this.viewDate ? this.viewDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadWithCargoLoadingDto {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment;\r\n bookingNo: string | undefined;\r\n truckNo: string | undefined;\r\n clientName: string | undefined;\r\n cargoLoadings: CargoLoadingDto[] | undefined;\r\n loadStatus: LoadStatus;\r\n viewDate: moment.Moment;\r\n}\r\n\r\nexport class CargoLoadingDto implements ICargoLoadingDto {\r\n id!: number;\r\n loadId!: number | undefined;\r\n pickupEarliest!: moment.Moment | undefined;\r\n pickupLatest!: moment.Moment | undefined;\r\n seconds!: number;\r\n kilograms!: number;\r\n loadingDockIds!: number[] | undefined;\r\n loadingDockNames!: string[] | undefined;\r\n\r\n constructor(data?: ICargoLoadingDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.loadId = _data[\"loadId\"];\r\n this.pickupEarliest = _data[\"pickupEarliest\"] ? moment.parseZone(_data[\"pickupEarliest\"].toString()) : undefined;\r\n this.pickupLatest = _data[\"pickupLatest\"] ? moment.parseZone(_data[\"pickupLatest\"].toString()) : undefined;\r\n this.seconds = _data[\"seconds\"];\r\n this.kilograms = _data[\"kilograms\"];\r\n if (Array.isArray(_data[\"loadingDockIds\"])) {\r\n this.loadingDockIds = [] as any;\r\n for (let item of _data[\"loadingDockIds\"])\r\n this.loadingDockIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"loadingDockNames\"])) {\r\n this.loadingDockNames = [] as any;\r\n for (let item of _data[\"loadingDockNames\"])\r\n this.loadingDockNames!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CargoLoadingDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CargoLoadingDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"loadId\"] = this.loadId;\r\n data[\"pickupEarliest\"] = this.pickupEarliest ? this.pickupEarliest.toISOString(true) : undefined;\r\n data[\"pickupLatest\"] = this.pickupLatest ? this.pickupLatest.toISOString(true) : undefined;\r\n data[\"seconds\"] = this.seconds;\r\n data[\"kilograms\"] = this.kilograms;\r\n if (Array.isArray(this.loadingDockIds)) {\r\n data[\"loadingDockIds\"] = [];\r\n for (let item of this.loadingDockIds)\r\n data[\"loadingDockIds\"].push(item);\r\n }\r\n if (Array.isArray(this.loadingDockNames)) {\r\n data[\"loadingDockNames\"] = [];\r\n for (let item of this.loadingDockNames)\r\n data[\"loadingDockNames\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICargoLoadingDto {\r\n id: number;\r\n loadId: number | undefined;\r\n pickupEarliest: moment.Moment | undefined;\r\n pickupLatest: moment.Moment | undefined;\r\n seconds: number;\r\n kilograms: number;\r\n loadingDockIds: number[] | undefined;\r\n loadingDockNames: string[] | undefined;\r\n}\r\n\r\nexport class LoadingDockDto implements ILoadingDockDto {\r\n id!: number;\r\n clientId!: number;\r\n name!: string | undefined;\r\n loadingSlots!: LoadingSlotDto[] | undefined;\r\n\r\n constructor(data?: ILoadingDockDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"loadingSlots\"])) {\r\n this.loadingSlots = [] as any;\r\n for (let item of _data[\"loadingSlots\"])\r\n this.loadingSlots!.push(LoadingSlotDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadingDockDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadingDockDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.loadingSlots)) {\r\n data[\"loadingSlots\"] = [];\r\n for (let item of this.loadingSlots)\r\n data[\"loadingSlots\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadingDockDto {\r\n id: number;\r\n clientId: number;\r\n name: string | undefined;\r\n loadingSlots: LoadingSlotDto[] | undefined;\r\n}\r\n\r\nexport class LoadingSlotDto implements ILoadingSlotDto {\r\n id!: number;\r\n type!: LoadingSlotType;\r\n cargoLoadingId!: number;\r\n loadingDockId!: number;\r\n loadId!: number | undefined;\r\n bookedActorId!: number | undefined;\r\n bookedByLoadUserId!: number | undefined;\r\n startDate!: moment.Moment;\r\n endDate!: moment.Moment;\r\n kilograms!: number;\r\n kilogramsBefore!: number;\r\n kilogramsAfter!: number;\r\n alterDate!: moment.Moment;\r\n note!: string | undefined;\r\n truckNo!: string | undefined;\r\n transportNo!: string | undefined;\r\n bookingNo!: string | undefined;\r\n contacts!: string[] | undefined;\r\n loadingDockToFillId!: number | undefined;\r\n\r\n constructor(data?: ILoadingSlotDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n this.cargoLoadingId = _data[\"cargoLoadingId\"];\r\n this.loadingDockId = _data[\"loadingDockId\"];\r\n this.loadId = _data[\"loadId\"];\r\n this.bookedActorId = _data[\"bookedActorId\"];\r\n this.bookedByLoadUserId = _data[\"bookedByLoadUserId\"];\r\n this.startDate = _data[\"startDate\"] ? moment.parseZone(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n this.kilograms = _data[\"kilograms\"];\r\n this.kilogramsBefore = _data[\"kilogramsBefore\"];\r\n this.kilogramsAfter = _data[\"kilogramsAfter\"];\r\n this.alterDate = _data[\"alterDate\"] ? moment.parseZone(_data[\"alterDate\"].toString()) : undefined;\r\n this.note = _data[\"note\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n if (Array.isArray(_data[\"contacts\"])) {\r\n this.contacts = [] as any;\r\n for (let item of _data[\"contacts\"])\r\n this.contacts!.push(item);\r\n }\r\n this.loadingDockToFillId = _data[\"loadingDockToFillId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadingSlotDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadingSlotDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n data[\"cargoLoadingId\"] = this.cargoLoadingId;\r\n data[\"loadingDockId\"] = this.loadingDockId;\r\n data[\"loadId\"] = this.loadId;\r\n data[\"bookedActorId\"] = this.bookedActorId;\r\n data[\"bookedByLoadUserId\"] = this.bookedByLoadUserId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString(true) : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n data[\"kilograms\"] = this.kilograms;\r\n data[\"kilogramsBefore\"] = this.kilogramsBefore;\r\n data[\"kilogramsAfter\"] = this.kilogramsAfter;\r\n data[\"alterDate\"] = this.alterDate ? this.alterDate.toISOString(true) : undefined;\r\n data[\"note\"] = this.note;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n if (Array.isArray(this.contacts)) {\r\n data[\"contacts\"] = [];\r\n for (let item of this.contacts)\r\n data[\"contacts\"].push(item);\r\n }\r\n data[\"loadingDockToFillId\"] = this.loadingDockToFillId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadingSlotDto {\r\n id: number;\r\n type: LoadingSlotType;\r\n cargoLoadingId: number;\r\n loadingDockId: number;\r\n loadId: number | undefined;\r\n bookedActorId: number | undefined;\r\n bookedByLoadUserId: number | undefined;\r\n startDate: moment.Moment;\r\n endDate: moment.Moment;\r\n kilograms: number;\r\n kilogramsBefore: number;\r\n kilogramsAfter: number;\r\n alterDate: moment.Moment;\r\n note: string | undefined;\r\n truckNo: string | undefined;\r\n transportNo: string | undefined;\r\n bookingNo: string | undefined;\r\n contacts: string[] | undefined;\r\n loadingDockToFillId: number | undefined;\r\n}\r\n\r\nexport enum LoadingSlotType {\r\n ManualBlocking = 1,\r\n AutoBlocking = 2,\r\n Booking = 3,\r\n Open = 4,\r\n}\r\n\r\nexport class LoadingDockCalendarsSearchCriteria implements ILoadingDockCalendarsSearchCriteria {\r\n loadId!: number | undefined;\r\n date!: moment.Moment | undefined;\r\n cargoLoadingToBook!: CargoLoadingDto | undefined;\r\n premisedBookings!: LoadingSlotDto[] | undefined;\r\n cargoLoadingsFromDbToIgnore!: number[] | undefined;\r\n now!: moment.Moment | undefined;\r\n\r\n constructor(data?: ILoadingDockCalendarsSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.cargoLoadingToBook = _data[\"cargoLoadingToBook\"] ? CargoLoadingDto.fromJS(_data[\"cargoLoadingToBook\"]) : undefined;\r\n if (Array.isArray(_data[\"premisedBookings\"])) {\r\n this.premisedBookings = [] as any;\r\n for (let item of _data[\"premisedBookings\"])\r\n this.premisedBookings!.push(LoadingSlotDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"cargoLoadingsFromDbToIgnore\"])) {\r\n this.cargoLoadingsFromDbToIgnore = [] as any;\r\n for (let item of _data[\"cargoLoadingsFromDbToIgnore\"])\r\n this.cargoLoadingsFromDbToIgnore!.push(item);\r\n }\r\n this.now = _data[\"now\"] ? moment.parseZone(_data[\"now\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadingDockCalendarsSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadingDockCalendarsSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"cargoLoadingToBook\"] = this.cargoLoadingToBook ? this.cargoLoadingToBook.toJSON() : undefined;\r\n if (Array.isArray(this.premisedBookings)) {\r\n data[\"premisedBookings\"] = [];\r\n for (let item of this.premisedBookings)\r\n data[\"premisedBookings\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.cargoLoadingsFromDbToIgnore)) {\r\n data[\"cargoLoadingsFromDbToIgnore\"] = [];\r\n for (let item of this.cargoLoadingsFromDbToIgnore)\r\n data[\"cargoLoadingsFromDbToIgnore\"].push(item);\r\n }\r\n data[\"now\"] = this.now ? this.now.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadingDockCalendarsSearchCriteria {\r\n loadId: number | undefined;\r\n date: moment.Moment | undefined;\r\n cargoLoadingToBook: CargoLoadingDto | undefined;\r\n premisedBookings: LoadingSlotDto[] | undefined;\r\n cargoLoadingsFromDbToIgnore: number[] | undefined;\r\n now: moment.Moment | undefined;\r\n}\r\n\r\nexport class AnonymousLoadingDockCalendarsSearchCriteria extends LoadingDockCalendarsSearchCriteria implements IAnonymousLoadingDockCalendarsSearchCriteria {\r\n encodedLoadId!: string | undefined;\r\n\r\n constructor(data?: IAnonymousLoadingDockCalendarsSearchCriteria) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.encodedLoadId = _data[\"encodedLoadId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnonymousLoadingDockCalendarsSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnonymousLoadingDockCalendarsSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"encodedLoadId\"] = this.encodedLoadId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnonymousLoadingDockCalendarsSearchCriteria extends ILoadingDockCalendarsSearchCriteria {\r\n encodedLoadId: string | undefined;\r\n}\r\n\r\nexport class LoadingSlotSaveDtoContainer implements ILoadingSlotSaveDtoContainer {\r\n loadId!: number;\r\n truckNo!: string | undefined;\r\n bookingNo!: string | undefined;\r\n note!: string | undefined;\r\n now!: moment.Moment;\r\n loadingSlots!: LoadingSlotSaveDto[] | undefined;\r\n\r\n constructor(data?: ILoadingSlotSaveDtoContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.note = _data[\"note\"];\r\n this.now = _data[\"now\"] ? moment.parseZone(_data[\"now\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"loadingSlots\"])) {\r\n this.loadingSlots = [] as any;\r\n for (let item of _data[\"loadingSlots\"])\r\n this.loadingSlots!.push(LoadingSlotSaveDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadingSlotSaveDtoContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadingSlotSaveDtoContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"note\"] = this.note;\r\n data[\"now\"] = this.now ? this.now.toISOString(true) : undefined;\r\n if (Array.isArray(this.loadingSlots)) {\r\n data[\"loadingSlots\"] = [];\r\n for (let item of this.loadingSlots)\r\n data[\"loadingSlots\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadingSlotSaveDtoContainer {\r\n loadId: number;\r\n truckNo: string | undefined;\r\n bookingNo: string | undefined;\r\n note: string | undefined;\r\n now: moment.Moment;\r\n loadingSlots: LoadingSlotSaveDto[] | undefined;\r\n}\r\n\r\nexport class AnonymousLoadingSlotSaveDtoContainer extends LoadingSlotSaveDtoContainer implements IAnonymousLoadingSlotSaveDtoContainer {\r\n encodedLoadId!: string | undefined;\r\n\r\n constructor(data?: IAnonymousLoadingSlotSaveDtoContainer) {\r\n super(data);\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.encodedLoadId = _data[\"encodedLoadId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnonymousLoadingSlotSaveDtoContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnonymousLoadingSlotSaveDtoContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"encodedLoadId\"] = this.encodedLoadId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnonymousLoadingSlotSaveDtoContainer extends ILoadingSlotSaveDtoContainer {\r\n encodedLoadId: string | undefined;\r\n}\r\n\r\nexport class LoadingSlotSaveDto implements ILoadingSlotSaveDto {\r\n cargoLoadingId!: number;\r\n loadingDockId!: number;\r\n startDate!: moment.Moment;\r\n endDate!: moment.Moment;\r\n kilograms!: number;\r\n\r\n constructor(data?: ILoadingSlotSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoLoadingId = _data[\"cargoLoadingId\"];\r\n this.loadingDockId = _data[\"loadingDockId\"];\r\n this.startDate = _data[\"startDate\"] ? moment.parseZone(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n this.kilograms = _data[\"kilograms\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadingSlotSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadingSlotSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoLoadingId\"] = this.cargoLoadingId;\r\n data[\"loadingDockId\"] = this.loadingDockId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString(true) : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n data[\"kilograms\"] = this.kilograms;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadingSlotSaveDto {\r\n cargoLoadingId: number;\r\n loadingDockId: number;\r\n startDate: moment.Moment;\r\n endDate: moment.Moment;\r\n kilograms: number;\r\n}\r\n\r\nexport class LoadingSlotListDto implements ILoadingSlotListDto {\r\n loadId!: number;\r\n booked!: boolean;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n truckNo!: string | undefined;\r\n transportNo!: string | undefined;\r\n deliveryLatest!: moment.Moment | undefined;\r\n bookingNo!: string | undefined;\r\n minutes!: number;\r\n kilograms!: number | undefined;\r\n note!: string | undefined;\r\n loadingDockName!: string | undefined;\r\n startDate!: moment.Moment | undefined;\r\n endDate!: moment.Moment | undefined;\r\n clientName!: string | undefined;\r\n supplierName!: string | undefined;\r\n\r\n constructor(data?: ILoadingSlotListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadId = _data[\"loadId\"];\r\n this.booked = _data[\"booked\"];\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n this.truckNo = _data[\"truckNo\"];\r\n this.transportNo = _data[\"transportNo\"];\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\r\n this.bookingNo = _data[\"bookingNo\"];\r\n this.minutes = _data[\"minutes\"];\r\n this.kilograms = _data[\"kilograms\"];\r\n this.note = _data[\"note\"];\r\n this.loadingDockName = _data[\"loadingDockName\"];\r\n this.startDate = _data[\"startDate\"] ? moment.parseZone(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n this.clientName = _data[\"clientName\"];\r\n this.supplierName = _data[\"supplierName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadingSlotListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadingSlotListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadId\"] = this.loadId;\r\n data[\"booked\"] = this.booked;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n data[\"truckNo\"] = this.truckNo;\r\n data[\"transportNo\"] = this.transportNo;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\r\n data[\"bookingNo\"] = this.bookingNo;\r\n data[\"minutes\"] = this.minutes;\r\n data[\"kilograms\"] = this.kilograms;\r\n data[\"note\"] = this.note;\r\n data[\"loadingDockName\"] = this.loadingDockName;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString(true) : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"supplierName\"] = this.supplierName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadingSlotListDto {\r\n loadId: number;\r\n booked: boolean;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n truckNo: string | undefined;\r\n transportNo: string | undefined;\r\n deliveryLatest: moment.Moment | undefined;\r\n bookingNo: string | undefined;\r\n minutes: number;\r\n kilograms: number | undefined;\r\n note: string | undefined;\r\n loadingDockName: string | undefined;\r\n startDate: moment.Moment | undefined;\r\n endDate: moment.Moment | undefined;\r\n clientName: string | undefined;\r\n supplierName: string | undefined;\r\n}\r\n\r\nexport class BlockingSaveDto implements IBlockingSaveDto {\r\n kilograms!: number;\r\n note!: string | undefined;\r\n loadingDockId!: number;\r\n startDate!: moment.Moment;\r\n endDate!: moment.Moment;\r\n now!: moment.Moment;\r\n\r\n constructor(data?: IBlockingSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.kilograms = _data[\"kilograms\"];\r\n this.note = _data[\"note\"];\r\n this.loadingDockId = _data[\"loadingDockId\"];\r\n this.startDate = _data[\"startDate\"] ? moment.parseZone(_data[\"startDate\"].toString()) : undefined;\r\n this.endDate = _data[\"endDate\"] ? moment.parseZone(_data[\"endDate\"].toString()) : undefined;\r\n this.now = _data[\"now\"] ? moment.parseZone(_data[\"now\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BlockingSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BlockingSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"kilograms\"] = this.kilograms;\r\n data[\"note\"] = this.note;\r\n data[\"loadingDockId\"] = this.loadingDockId;\r\n data[\"startDate\"] = this.startDate ? this.startDate.toISOString(true) : undefined;\r\n data[\"endDate\"] = this.endDate ? this.endDate.toISOString(true) : undefined;\r\n data[\"now\"] = this.now ? this.now.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBlockingSaveDto {\r\n kilograms: number;\r\n note: string | undefined;\r\n loadingDockId: number;\r\n startDate: moment.Moment;\r\n endDate: moment.Moment;\r\n now: moment.Moment;\r\n}\r\n\r\nexport class BlockingDeleteDto implements IBlockingDeleteDto {\r\n cargoLoadingId!: number;\r\n now!: moment.Moment;\r\n\r\n constructor(data?: IBlockingDeleteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoLoadingId = _data[\"cargoLoadingId\"];\r\n this.now = _data[\"now\"] ? moment.parseZone(_data[\"now\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BlockingDeleteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BlockingDeleteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoLoadingId\"] = this.cargoLoadingId;\r\n data[\"now\"] = this.now ? this.now.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBlockingDeleteDto {\r\n cargoLoadingId: number;\r\n now: moment.Moment;\r\n}\r\n\r\nexport class ClientDocumentsForSuppliersDto implements IClientDocumentsForSuppliersDto {\r\n clientId!: number;\r\n clientName!: string | undefined;\r\n termsOfAgreement!: TermsOfAgreementDocumentDto[] | undefined;\r\n invoicingInformation!: DocumentGroupDto[] | undefined;\r\n\r\n constructor(data?: IClientDocumentsForSuppliersDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.clientName = _data[\"clientName\"];\r\n if (Array.isArray(_data[\"termsOfAgreement\"])) {\r\n this.termsOfAgreement = [] as any;\r\n for (let item of _data[\"termsOfAgreement\"])\r\n this.termsOfAgreement!.push(TermsOfAgreementDocumentDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invoicingInformation\"])) {\r\n this.invoicingInformation = [] as any;\r\n for (let item of _data[\"invoicingInformation\"])\r\n this.invoicingInformation!.push(DocumentGroupDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientDocumentsForSuppliersDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientDocumentsForSuppliersDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientName\"] = this.clientName;\r\n if (Array.isArray(this.termsOfAgreement)) {\r\n data[\"termsOfAgreement\"] = [];\r\n for (let item of this.termsOfAgreement)\r\n data[\"termsOfAgreement\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invoicingInformation)) {\r\n data[\"invoicingInformation\"] = [];\r\n for (let item of this.invoicingInformation)\r\n data[\"invoicingInformation\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientDocumentsForSuppliersDto {\r\n clientId: number;\r\n clientName: string | undefined;\r\n termsOfAgreement: TermsOfAgreementDocumentDto[] | undefined;\r\n invoicingInformation: DocumentGroupDto[] | undefined;\r\n}\r\n\r\nexport class TermsOfAgreementDocumentDto implements ITermsOfAgreementDocumentDto {\r\n documentGroup!: DocumentGroupDto | undefined;\r\n routes!: TermsOfAgreementRouteDto[] | undefined;\r\n\r\n constructor(data?: ITermsOfAgreementDocumentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.documentGroup = _data[\"documentGroup\"] ? DocumentGroupDto.fromJS(_data[\"documentGroup\"]) : undefined;\r\n if (Array.isArray(_data[\"routes\"])) {\r\n this.routes = [] as any;\r\n for (let item of _data[\"routes\"])\r\n this.routes!.push(TermsOfAgreementRouteDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): TermsOfAgreementDocumentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TermsOfAgreementDocumentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"documentGroup\"] = this.documentGroup ? this.documentGroup.toJSON() : undefined;\r\n if (Array.isArray(this.routes)) {\r\n data[\"routes\"] = [];\r\n for (let item of this.routes)\r\n data[\"routes\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITermsOfAgreementDocumentDto {\r\n documentGroup: DocumentGroupDto | undefined;\r\n routes: TermsOfAgreementRouteDto[] | undefined;\r\n}\r\n\r\nexport class TermsOfAgreementRouteDto implements ITermsOfAgreementRouteDto {\r\n from!: moment.Moment;\r\n to!: moment.Moment;\r\n pickupLocation!: string | undefined;\r\n deliveryLocation!: string | undefined;\r\n\r\n constructor(data?: ITermsOfAgreementRouteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n this.pickupLocation = _data[\"pickupLocation\"];\r\n this.deliveryLocation = _data[\"deliveryLocation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TermsOfAgreementRouteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TermsOfAgreementRouteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n data[\"pickupLocation\"] = this.pickupLocation;\r\n data[\"deliveryLocation\"] = this.deliveryLocation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITermsOfAgreementRouteDto {\r\n from: moment.Moment;\r\n to: moment.Moment;\r\n pickupLocation: string | undefined;\r\n deliveryLocation: string | undefined;\r\n}\r\n\r\nexport class DocumentGroupSaveDto implements IDocumentGroupSaveDto {\r\n id!: number;\r\n docType!: DocType;\r\n description!: string | undefined;\r\n hidden!: boolean;\r\n documents!: DocumentSaveDto[] | undefined;\r\n\r\n constructor(data?: IDocumentGroupSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.docType = _data[\"docType\"];\r\n this.description = _data[\"description\"];\r\n this.hidden = _data[\"hidden\"];\r\n if (Array.isArray(_data[\"documents\"])) {\r\n this.documents = [] as any;\r\n for (let item of _data[\"documents\"])\r\n this.documents!.push(DocumentSaveDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentGroupSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentGroupSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"docType\"] = this.docType;\r\n data[\"description\"] = this.description;\r\n data[\"hidden\"] = this.hidden;\r\n if (Array.isArray(this.documents)) {\r\n data[\"documents\"] = [];\r\n for (let item of this.documents)\r\n data[\"documents\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDocumentGroupSaveDto {\r\n id: number;\r\n docType: DocType;\r\n description: string | undefined;\r\n hidden: boolean;\r\n documents: DocumentSaveDto[] | undefined;\r\n}\r\n\r\nexport class DocumentSaveDto implements IDocumentSaveDto {\r\n culture!: Culture;\r\n diskName!: string | undefined;\r\n displayName!: string | undefined;\r\n\r\n constructor(data?: IDocumentSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.culture = _data[\"culture\"];\r\n this.diskName = _data[\"diskName\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DocumentSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DocumentSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"culture\"] = this.culture;\r\n data[\"diskName\"] = this.diskName;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDocumentSaveDto {\r\n culture: Culture;\r\n diskName: string | undefined;\r\n displayName: string | undefined;\r\n}\r\n\r\nexport class LoadDocumentDto implements ILoadDocumentDto {\r\n owner!: boolean;\r\n id!: number;\r\n actorName!: string | undefined;\r\n displayName!: string | undefined;\r\n diskName!: string | undefined;\r\n fileFormat!: string | undefined;\r\n regDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ILoadDocumentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.owner = _data[\"owner\"];\r\n this.id = _data[\"id\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.diskName = _data[\"diskName\"];\r\n this.fileFormat = _data[\"fileFormat\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDocumentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDocumentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"owner\"] = this.owner;\r\n data[\"id\"] = this.id;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"diskName\"] = this.diskName;\r\n data[\"fileFormat\"] = this.fileFormat;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDocumentDto {\r\n owner: boolean;\r\n id: number;\r\n actorName: string | undefined;\r\n displayName: string | undefined;\r\n diskName: string | undefined;\r\n fileFormat: string | undefined;\r\n regDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class CreateDirectMessageDto implements ICreateDirectMessageDto {\r\n subject!: string | undefined;\r\n body!: string | undefined;\r\n documentIds!: number[] | undefined;\r\n supplierIds!: number[] | undefined;\r\n messageType!: MessageType;\r\n\r\n constructor(data?: ICreateDirectMessageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.subject = _data[\"subject\"];\r\n this.body = _data[\"body\"];\r\n if (Array.isArray(_data[\"documentIds\"])) {\r\n this.documentIds = [] as any;\r\n for (let item of _data[\"documentIds\"])\r\n this.documentIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"supplierIds\"])) {\r\n this.supplierIds = [] as any;\r\n for (let item of _data[\"supplierIds\"])\r\n this.supplierIds!.push(item);\r\n }\r\n this.messageType = _data[\"messageType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateDirectMessageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateDirectMessageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"subject\"] = this.subject;\r\n data[\"body\"] = this.body;\r\n if (Array.isArray(this.documentIds)) {\r\n data[\"documentIds\"] = [];\r\n for (let item of this.documentIds)\r\n data[\"documentIds\"].push(item);\r\n }\r\n if (Array.isArray(this.supplierIds)) {\r\n data[\"supplierIds\"] = [];\r\n for (let item of this.supplierIds)\r\n data[\"supplierIds\"].push(item);\r\n }\r\n data[\"messageType\"] = this.messageType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateDirectMessageDto {\r\n subject: string | undefined;\r\n body: string | undefined;\r\n documentIds: number[] | undefined;\r\n supplierIds: number[] | undefined;\r\n messageType: MessageType;\r\n}\r\n\r\nexport enum MessageType {\r\n General = 1,\r\n Agreements = 2,\r\n Loads = 3,\r\n}\r\n\r\nexport class RecipientDto implements IRecipientDto {\r\n actorId!: number;\r\n actorName!: string | undefined;\r\n cargoTypes!: CargoType[] | undefined;\r\n country!: Country;\r\n numUsers!: number;\r\n cargoTypesWithAgreement!: CargoType[] | undefined;\r\n\r\n constructor(data?: IRecipientDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.actorName = _data[\"actorName\"];\r\n if (Array.isArray(_data[\"cargoTypes\"])) {\r\n this.cargoTypes = [] as any;\r\n for (let item of _data[\"cargoTypes\"])\r\n this.cargoTypes!.push(item);\r\n }\r\n this.country = _data[\"country\"];\r\n this.numUsers = _data[\"numUsers\"];\r\n if (Array.isArray(_data[\"cargoTypesWithAgreement\"])) {\r\n this.cargoTypesWithAgreement = [] as any;\r\n for (let item of _data[\"cargoTypesWithAgreement\"])\r\n this.cargoTypesWithAgreement!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RecipientDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RecipientDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"actorName\"] = this.actorName;\r\n if (Array.isArray(this.cargoTypes)) {\r\n data[\"cargoTypes\"] = [];\r\n for (let item of this.cargoTypes)\r\n data[\"cargoTypes\"].push(item);\r\n }\r\n data[\"country\"] = this.country;\r\n data[\"numUsers\"] = this.numUsers;\r\n if (Array.isArray(this.cargoTypesWithAgreement)) {\r\n data[\"cargoTypesWithAgreement\"] = [];\r\n for (let item of this.cargoTypesWithAgreement)\r\n data[\"cargoTypesWithAgreement\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRecipientDto {\r\n actorId: number;\r\n actorName: string | undefined;\r\n cargoTypes: CargoType[] | undefined;\r\n country: Country;\r\n numUsers: number;\r\n cargoTypesWithAgreement: CargoType[] | undefined;\r\n}\r\n\r\nexport class DirectMessageDto implements IDirectMessageDto {\r\n id!: number;\r\n subject!: string | undefined;\r\n body!: string | undefined;\r\n regDate!: moment.Moment;\r\n clientName!: string | undefined;\r\n clientId!: number;\r\n regLoadUserName!: string | undefined;\r\n documents!: DirectMessagingDocumentDto[] | undefined;\r\n recipients!: string[] | undefined;\r\n viewed!: boolean;\r\n\r\n constructor(data?: IDirectMessageDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.subject = _data[\"subject\"];\r\n this.body = _data[\"body\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.clientName = _data[\"clientName\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.regLoadUserName = _data[\"regLoadUserName\"];\r\n if (Array.isArray(_data[\"documents\"])) {\r\n this.documents = [] as any;\r\n for (let item of _data[\"documents\"])\r\n this.documents!.push(DirectMessagingDocumentDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"recipients\"])) {\r\n this.recipients = [] as any;\r\n for (let item of _data[\"recipients\"])\r\n this.recipients!.push(item);\r\n }\r\n this.viewed = _data[\"viewed\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DirectMessageDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DirectMessageDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"subject\"] = this.subject;\r\n data[\"body\"] = this.body;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"regLoadUserName\"] = this.regLoadUserName;\r\n if (Array.isArray(this.documents)) {\r\n data[\"documents\"] = [];\r\n for (let item of this.documents)\r\n data[\"documents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.recipients)) {\r\n data[\"recipients\"] = [];\r\n for (let item of this.recipients)\r\n data[\"recipients\"].push(item);\r\n }\r\n data[\"viewed\"] = this.viewed;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDirectMessageDto {\r\n id: number;\r\n subject: string | undefined;\r\n body: string | undefined;\r\n regDate: moment.Moment;\r\n clientName: string | undefined;\r\n clientId: number;\r\n regLoadUserName: string | undefined;\r\n documents: DirectMessagingDocumentDto[] | undefined;\r\n recipients: string[] | undefined;\r\n viewed: boolean;\r\n}\r\n\r\nexport class DirectMessagingDocumentDto implements IDirectMessagingDocumentDto {\r\n diskName!: string | undefined;\r\n fileFormat!: string | undefined;\r\n displayName!: string | undefined;\r\n\r\n constructor(data?: IDirectMessagingDocumentDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.diskName = _data[\"diskName\"];\r\n this.fileFormat = _data[\"fileFormat\"];\r\n this.displayName = _data[\"displayName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DirectMessagingDocumentDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DirectMessagingDocumentDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"diskName\"] = this.diskName;\r\n data[\"fileFormat\"] = this.fileFormat;\r\n data[\"displayName\"] = this.displayName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDirectMessagingDocumentDto {\r\n diskName: string | undefined;\r\n fileFormat: string | undefined;\r\n displayName: string | undefined;\r\n}\r\n\r\nexport class LoadDashboardDto implements ILoadDashboardDto {\r\n loadStatus!: LoadStatus;\r\n noOfLoads!: number;\r\n missingAgreement!: number | undefined;\r\n noSupplierLeftToNotify!: number | undefined;\r\n\r\n constructor(data?: ILoadDashboardDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.loadStatus = _data[\"loadStatus\"];\r\n this.noOfLoads = _data[\"noOfLoads\"];\r\n this.missingAgreement = _data[\"missingAgreement\"];\r\n this.noSupplierLeftToNotify = _data[\"noSupplierLeftToNotify\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LoadDashboardDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LoadDashboardDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"loadStatus\"] = this.loadStatus;\r\n data[\"noOfLoads\"] = this.noOfLoads;\r\n data[\"missingAgreement\"] = this.missingAgreement;\r\n data[\"noSupplierLeftToNotify\"] = this.noSupplierLeftToNotify;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILoadDashboardDto {\r\n loadStatus: LoadStatus;\r\n noOfLoads: number;\r\n missingAgreement: number | undefined;\r\n noSupplierLeftToNotify: number | undefined;\r\n}\r\n\r\nexport class ProcurementDashboardDto implements IProcurementDashboardDto {\r\n cargoType!: CargoType;\r\n procurementCounts!: ProcurementCountDto[] | undefined;\r\n\r\n constructor(data?: IProcurementDashboardDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n if (Array.isArray(_data[\"procurementCounts\"])) {\r\n this.procurementCounts = [] as any;\r\n for (let item of _data[\"procurementCounts\"])\r\n this.procurementCounts!.push(ProcurementCountDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementDashboardDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementDashboardDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n if (Array.isArray(this.procurementCounts)) {\r\n data[\"procurementCounts\"] = [];\r\n for (let item of this.procurementCounts)\r\n data[\"procurementCounts\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementDashboardDto {\r\n cargoType: CargoType;\r\n procurementCounts: ProcurementCountDto[] | undefined;\r\n}\r\n\r\nexport class ProcurementCountDto implements IProcurementCountDto {\r\n text!: string | undefined;\r\n number!: number;\r\n\r\n constructor(data?: IProcurementCountDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.number = _data[\"number\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementCountDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementCountDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"number\"] = this.number;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementCountDto {\r\n text: string | undefined;\r\n number: number;\r\n}\r\n\r\nexport class SpotTenderDashboardDto implements ISpotTenderDashboardDto {\r\n text!: string | undefined;\r\n number!: number;\r\n\r\n constructor(data?: ISpotTenderDashboardDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.number = _data[\"number\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SpotTenderDashboardDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SpotTenderDashboardDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"number\"] = this.number;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISpotTenderDashboardDto {\r\n text: string | undefined;\r\n number: number;\r\n}\r\n\r\nexport class RankingAgreementDto implements IRankingAgreementDto {\r\n id!: number;\r\n agreementRouteName!: string | undefined;\r\n agreementTimeZone!: TimeZone;\r\n currencyName!: string | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n agreementFrom!: moment.Moment;\r\n agreementTo!: moment.Moment;\r\n baseIndexDate!: moment.Moment;\r\n baseIndexName!: string | undefined;\r\n procurementPeriods!: ProcurementPeriodDto2[] | undefined;\r\n truckTypes!: RankingTruckTypesDto[] | undefined;\r\n\r\n constructor(data?: IRankingAgreementDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agreementRouteName = _data[\"agreementRouteName\"];\r\n this.agreementTimeZone = _data[\"agreementTimeZone\"];\r\n this.currencyName = _data[\"currencyName\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.agreementFrom = _data[\"agreementFrom\"] ? moment.parseZone(_data[\"agreementFrom\"].toString()) : undefined;\r\n this.agreementTo = _data[\"agreementTo\"] ? moment.parseZone(_data[\"agreementTo\"].toString()) : undefined;\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n if (Array.isArray(_data[\"procurementPeriods\"])) {\r\n this.procurementPeriods = [] as any;\r\n for (let item of _data[\"procurementPeriods\"])\r\n this.procurementPeriods!.push(ProcurementPeriodDto2.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(RankingTruckTypesDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankingAgreementDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankingAgreementDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agreementRouteName\"] = this.agreementRouteName;\r\n data[\"agreementTimeZone\"] = this.agreementTimeZone;\r\n data[\"currencyName\"] = this.currencyName;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"agreementFrom\"] = this.agreementFrom ? this.agreementFrom.toISOString(true) : undefined;\r\n data[\"agreementTo\"] = this.agreementTo ? this.agreementTo.toISOString(true) : undefined;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n if (Array.isArray(this.procurementPeriods)) {\r\n data[\"procurementPeriods\"] = [];\r\n for (let item of this.procurementPeriods)\r\n data[\"procurementPeriods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankingAgreementDto {\r\n id: number;\r\n agreementRouteName: string | undefined;\r\n agreementTimeZone: TimeZone;\r\n currencyName: string | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n agreementFrom: moment.Moment;\r\n agreementTo: moment.Moment;\r\n baseIndexDate: moment.Moment;\r\n baseIndexName: string | undefined;\r\n procurementPeriods: ProcurementPeriodDto2[] | undefined;\r\n truckTypes: RankingTruckTypesDto[] | undefined;\r\n}\r\n\r\nexport class ProcurementPeriodDto2 implements IProcurementPeriodDto2 {\r\n from!: moment.Moment;\r\n to!: moment.Moment;\r\n\r\n constructor(data?: IProcurementPeriodDto2) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProcurementPeriodDto2 {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProcurementPeriodDto2();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProcurementPeriodDto2 {\r\n from: moment.Moment;\r\n to: moment.Moment;\r\n}\r\n\r\nexport class ClientGetTruckTypesSearchCriteria implements IClientGetTruckTypesSearchCriteria {\r\n agreementId!: number;\r\n truckTypeId!: TruckType | undefined;\r\n baseIndexDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: IClientGetTruckTypesSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.truckTypeId = _data[\"truckTypeId\"];\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientGetTruckTypesSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientGetTruckTypesSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"truckTypeId\"] = this.truckTypeId;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientGetTruckTypesSearchCriteria {\r\n agreementId: number;\r\n truckTypeId: TruckType | undefined;\r\n baseIndexDate: moment.Moment | undefined;\r\n}\r\n\r\nexport class AgreementLimitingDatesDto implements IAgreementLimitingDatesDto {\r\n prevAgreementEnd!: moment.Moment;\r\n nextAgreementStart!: moment.Moment;\r\n\r\n constructor(data?: IAgreementLimitingDatesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.prevAgreementEnd = _data[\"prevAgreementEnd\"] ? moment.parseZone(_data[\"prevAgreementEnd\"].toString()) : undefined;\r\n this.nextAgreementStart = _data[\"nextAgreementStart\"] ? moment.parseZone(_data[\"nextAgreementStart\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementLimitingDatesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementLimitingDatesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"prevAgreementEnd\"] = this.prevAgreementEnd ? this.prevAgreementEnd.toISOString(true) : undefined;\r\n data[\"nextAgreementStart\"] = this.nextAgreementStart ? this.nextAgreementStart.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementLimitingDatesDto {\r\n prevAgreementEnd: moment.Moment;\r\n nextAgreementStart: moment.Moment;\r\n}\r\n\r\nexport class AgreementCountryToDateDto implements IAgreementCountryToDateDto {\r\n country!: Country;\r\n agreementToDates!: AgreementToDateDto[] | undefined;\r\n\r\n constructor(data?: IAgreementCountryToDateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"agreementToDates\"])) {\r\n this.agreementToDates = [] as any;\r\n for (let item of _data[\"agreementToDates\"])\r\n this.agreementToDates!.push(AgreementToDateDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementCountryToDateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementCountryToDateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.agreementToDates)) {\r\n data[\"agreementToDates\"] = [];\r\n for (let item of this.agreementToDates)\r\n data[\"agreementToDates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementCountryToDateDto {\r\n country: Country;\r\n agreementToDates: AgreementToDateDto[] | undefined;\r\n}\r\n\r\nexport class AgreementToDateDto implements IAgreementToDateDto {\r\n toDate!: moment.Moment;\r\n count!: number;\r\n\r\n constructor(data?: IAgreementToDateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.toDate = _data[\"toDate\"] ? moment.parseZone(_data[\"toDate\"].toString()) : undefined;\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementToDateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementToDateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"toDate\"] = this.toDate ? this.toDate.toISOString(true) : undefined;\r\n data[\"count\"] = this.count;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementToDateDto {\r\n toDate: moment.Moment;\r\n count: number;\r\n}\r\n\r\nexport class RankingAgreementSaveDto implements IRankingAgreementSaveDto {\r\n agreementId!: number;\r\n estimatedNoOfLoads!: number | undefined;\r\n agreementFrom!: moment.Moment;\r\n agreementTo!: moment.Moment;\r\n agreementRows!: RankingAgreementRowSaveDto[] | undefined;\r\n\r\n constructor(data?: IRankingAgreementSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementId = _data[\"agreementId\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.agreementFrom = _data[\"agreementFrom\"] ? moment.parseZone(_data[\"agreementFrom\"].toString()) : undefined;\r\n this.agreementTo = _data[\"agreementTo\"] ? moment.parseZone(_data[\"agreementTo\"].toString()) : undefined;\r\n if (Array.isArray(_data[\"agreementRows\"])) {\r\n this.agreementRows = [] as any;\r\n for (let item of _data[\"agreementRows\"])\r\n this.agreementRows!.push(RankingAgreementRowSaveDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankingAgreementSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankingAgreementSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"agreementFrom\"] = this.agreementFrom ? this.agreementFrom.toISOString(true) : undefined;\r\n data[\"agreementTo\"] = this.agreementTo ? this.agreementTo.toISOString(true) : undefined;\r\n if (Array.isArray(this.agreementRows)) {\r\n data[\"agreementRows\"] = [];\r\n for (let item of this.agreementRows)\r\n data[\"agreementRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankingAgreementSaveDto {\r\n agreementId: number;\r\n estimatedNoOfLoads: number | undefined;\r\n agreementFrom: moment.Moment;\r\n agreementTo: moment.Moment;\r\n agreementRows: RankingAgreementRowSaveDto[] | undefined;\r\n}\r\n\r\nexport class RankingAgreementRowSaveDto implements IRankingAgreementRowSaveDto {\r\n supplierId!: number;\r\n ranking!: number;\r\n truckTypeId!: number;\r\n rankingType!: RankingType;\r\n\r\n constructor(data?: IRankingAgreementRowSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.supplierId = _data[\"supplierId\"];\r\n this.ranking = _data[\"ranking\"];\r\n this.truckTypeId = _data[\"truckTypeId\"];\r\n this.rankingType = _data[\"rankingType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankingAgreementRowSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankingAgreementRowSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"supplierId\"] = this.supplierId;\r\n data[\"ranking\"] = this.ranking;\r\n data[\"truckTypeId\"] = this.truckTypeId;\r\n data[\"rankingType\"] = this.rankingType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankingAgreementRowSaveDto {\r\n supplierId: number;\r\n ranking: number;\r\n truckTypeId: number;\r\n rankingType: RankingType;\r\n}\r\n\r\nexport class RankedSupplierDto implements IRankedSupplierDto {\r\n rank!: number;\r\n name!: string | undefined;\r\n price!: number | undefined;\r\n time!: number;\r\n visible!: boolean;\r\n currencyName!: string | undefined;\r\n booked!: boolean;\r\n declined!: boolean;\r\n\r\n constructor(data?: IRankedSupplierDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.rank = _data[\"rank\"];\r\n this.name = _data[\"name\"];\r\n this.price = _data[\"price\"];\r\n this.time = _data[\"time\"];\r\n this.visible = _data[\"visible\"];\r\n this.currencyName = _data[\"currencyName\"];\r\n this.booked = _data[\"booked\"];\r\n this.declined = _data[\"declined\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankedSupplierDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankedSupplierDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"rank\"] = this.rank;\r\n data[\"name\"] = this.name;\r\n data[\"price\"] = this.price;\r\n data[\"time\"] = this.time;\r\n data[\"visible\"] = this.visible;\r\n data[\"currencyName\"] = this.currencyName;\r\n data[\"booked\"] = this.booked;\r\n data[\"declined\"] = this.declined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankedSupplierDto {\r\n rank: number;\r\n name: string | undefined;\r\n price: number | undefined;\r\n time: number;\r\n visible: boolean;\r\n currencyName: string | undefined;\r\n booked: boolean;\r\n declined: boolean;\r\n}\r\n\r\nexport class RankingSearchCriteria implements IRankingSearchCriteria {\r\n agreementRouteId!: number;\r\n truckType!: TruckType;\r\n agreementDate!: moment.Moment | undefined;\r\n publishSpeed!: PublishSpeed;\r\n loadId!: number | undefined;\r\n\r\n constructor(data?: IRankingSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.agreementDate = _data[\"agreementDate\"] ? moment.parseZone(_data[\"agreementDate\"].toString()) : undefined;\r\n this.publishSpeed = _data[\"publishSpeed\"];\r\n this.loadId = _data[\"loadId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RankingSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RankingSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"agreementDate\"] = this.agreementDate ? this.agreementDate.toISOString(true) : undefined;\r\n data[\"publishSpeed\"] = this.publishSpeed;\r\n data[\"loadId\"] = this.loadId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRankingSearchCriteria {\r\n agreementRouteId: number;\r\n truckType: TruckType;\r\n agreementDate: moment.Moment | undefined;\r\n publishSpeed: PublishSpeed;\r\n loadId: number | undefined;\r\n}\r\n\r\nexport class ExportProcurementToExcelSearchCriteria implements IExportProcurementToExcelSearchCriteria {\r\n date!: moment.Moment | undefined;\r\n\r\n constructor(data?: IExportProcurementToExcelSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExportProcurementToExcelSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExportProcurementToExcelSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExportProcurementToExcelSearchCriteria {\r\n date: moment.Moment | undefined;\r\n}\r\n\r\nexport class SupplierAgreementContainerDto implements ISupplierAgreementContainerDto {\r\n count!: number;\r\n agreementRows!: SupplierAgreementRowDto[] | undefined;\r\n\r\n constructor(data?: ISupplierAgreementContainerDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n if (Array.isArray(_data[\"agreementRows\"])) {\r\n this.agreementRows = [] as any;\r\n for (let item of _data[\"agreementRows\"])\r\n this.agreementRows!.push(SupplierAgreementRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierAgreementContainerDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierAgreementContainerDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n if (Array.isArray(this.agreementRows)) {\r\n data[\"agreementRows\"] = [];\r\n for (let item of this.agreementRows)\r\n data[\"agreementRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierAgreementContainerDto {\r\n count: number;\r\n agreementRows: SupplierAgreementRowDto[] | undefined;\r\n}\r\n\r\nexport class SupplierAgreementRowDto implements ISupplierAgreementRowDto {\r\n id!: number;\r\n agreementId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupCountryISO!: string | undefined;\r\n deliveryCounty!: string | undefined;\r\n deliveryCountryISO!: string | undefined;\r\n deliveryZipcode!: string | undefined;\r\n pickupZipcode!: string | undefined;\r\n agreementFromDate!: moment.Moment;\r\n agreementToDate!: moment.Moment;\r\n specialRequirements!: string | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n truckTypeName!: string | undefined;\r\n currencyName!: string | undefined;\r\n clientName!: string | undefined;\r\n basePrice!: number | undefined;\r\n unitBasePrice!: number | undefined;\r\n invoicePrice!: number | undefined;\r\n stopPrice!: number | undefined;\r\n initialFee!: number | undefined;\r\n serviceFee!: number | undefined;\r\n indexFactor!: number;\r\n share!: number;\r\n note!: string | undefined;\r\n ranking!: number;\r\n distance!: number | undefined;\r\n baseIndexName!: string | undefined;\r\n baseIndexDate!: moment.Moment;\r\n\r\n constructor(data?: ISupplierAgreementRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.agreementId = _data[\"agreementId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupCountryISO = _data[\"pickupCountryISO\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryCountryISO = _data[\"deliveryCountryISO\"];\r\n this.deliveryZipcode = _data[\"deliveryZipcode\"];\r\n this.pickupZipcode = _data[\"pickupZipcode\"];\r\n this.agreementFromDate = _data[\"agreementFromDate\"] ? moment.parseZone(_data[\"agreementFromDate\"].toString()) : undefined;\r\n this.agreementToDate = _data[\"agreementToDate\"] ? moment.parseZone(_data[\"agreementToDate\"].toString()) : undefined;\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.truckTypeName = _data[\"truckTypeName\"];\r\n this.currencyName = _data[\"currencyName\"];\r\n this.clientName = _data[\"clientName\"];\r\n this.basePrice = _data[\"basePrice\"];\r\n this.unitBasePrice = _data[\"unitBasePrice\"];\r\n this.invoicePrice = _data[\"invoicePrice\"];\r\n this.stopPrice = _data[\"stopPrice\"];\r\n this.initialFee = _data[\"initialFee\"];\r\n this.serviceFee = _data[\"serviceFee\"];\r\n this.indexFactor = _data[\"indexFactor\"];\r\n this.share = _data[\"share\"];\r\n this.note = _data[\"note\"];\r\n this.ranking = _data[\"ranking\"];\r\n this.distance = _data[\"distance\"];\r\n this.baseIndexName = _data[\"baseIndexName\"];\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierAgreementRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierAgreementRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"agreementId\"] = this.agreementId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupCountryISO\"] = this.pickupCountryISO;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryCountryISO\"] = this.deliveryCountryISO;\r\n data[\"deliveryZipcode\"] = this.deliveryZipcode;\r\n data[\"pickupZipcode\"] = this.pickupZipcode;\r\n data[\"agreementFromDate\"] = this.agreementFromDate ? this.agreementFromDate.toISOString(true) : undefined;\r\n data[\"agreementToDate\"] = this.agreementToDate ? this.agreementToDate.toISOString(true) : undefined;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"truckTypeName\"] = this.truckTypeName;\r\n data[\"currencyName\"] = this.currencyName;\r\n data[\"clientName\"] = this.clientName;\r\n data[\"basePrice\"] = this.basePrice;\r\n data[\"unitBasePrice\"] = this.unitBasePrice;\r\n data[\"invoicePrice\"] = this.invoicePrice;\r\n data[\"stopPrice\"] = this.stopPrice;\r\n data[\"initialFee\"] = this.initialFee;\r\n data[\"serviceFee\"] = this.serviceFee;\r\n data[\"indexFactor\"] = this.indexFactor;\r\n data[\"share\"] = this.share;\r\n data[\"note\"] = this.note;\r\n data[\"ranking\"] = this.ranking;\r\n data[\"distance\"] = this.distance;\r\n data[\"baseIndexName\"] = this.baseIndexName;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierAgreementRowDto {\r\n id: number;\r\n agreementId: number;\r\n pickupCounty: string | undefined;\r\n pickupCountryISO: string | undefined;\r\n deliveryCounty: string | undefined;\r\n deliveryCountryISO: string | undefined;\r\n deliveryZipcode: string | undefined;\r\n pickupZipcode: string | undefined;\r\n agreementFromDate: moment.Moment;\r\n agreementToDate: moment.Moment;\r\n specialRequirements: string | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n truckTypeName: string | undefined;\r\n currencyName: string | undefined;\r\n clientName: string | undefined;\r\n basePrice: number | undefined;\r\n unitBasePrice: number | undefined;\r\n invoicePrice: number | undefined;\r\n stopPrice: number | undefined;\r\n initialFee: number | undefined;\r\n serviceFee: number | undefined;\r\n indexFactor: number;\r\n share: number;\r\n note: string | undefined;\r\n ranking: number;\r\n distance: number | undefined;\r\n baseIndexName: string | undefined;\r\n baseIndexDate: moment.Moment;\r\n}\r\n\r\nexport class SupplierAgreementSearchCriteriaContainer implements ISupplierAgreementSearchCriteriaContainer {\r\n agreementSearchCriteria!: SupplierAgreementSearchCriteria | undefined;\r\n itemsPerPage!: number;\r\n pageNumber!: number;\r\n orderBy!: AgreementSupplierOrderBy;\r\n orderByDesc!: boolean;\r\n\r\n constructor(data?: ISupplierAgreementSearchCriteriaContainer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementSearchCriteria = _data[\"agreementSearchCriteria\"] ? SupplierAgreementSearchCriteria.fromJS(_data[\"agreementSearchCriteria\"]) : undefined;\r\n this.itemsPerPage = _data[\"itemsPerPage\"];\r\n this.pageNumber = _data[\"pageNumber\"];\r\n this.orderBy = _data[\"orderBy\"];\r\n this.orderByDesc = _data[\"orderByDesc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierAgreementSearchCriteriaContainer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierAgreementSearchCriteriaContainer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementSearchCriteria\"] = this.agreementSearchCriteria ? this.agreementSearchCriteria.toJSON() : undefined;\r\n data[\"itemsPerPage\"] = this.itemsPerPage;\r\n data[\"pageNumber\"] = this.pageNumber;\r\n data[\"orderBy\"] = this.orderBy;\r\n data[\"orderByDesc\"] = this.orderByDesc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierAgreementSearchCriteriaContainer {\r\n agreementSearchCriteria: SupplierAgreementSearchCriteria | undefined;\r\n itemsPerPage: number;\r\n pageNumber: number;\r\n orderBy: AgreementSupplierOrderBy;\r\n orderByDesc: boolean;\r\n}\r\n\r\nexport class SupplierAgreementSearchCriteria implements ISupplierAgreementSearchCriteria {\r\n cargoType!: CargoType;\r\n currencyType!: Currency | undefined;\r\n truckType!: TruckType | undefined;\r\n clientId!: number | undefined;\r\n pickupCountry!: Country | undefined;\r\n deliveryCountry!: Country | undefined;\r\n pickupLocationCounty!: string | undefined;\r\n deliveryLocationCounty!: string | undefined;\r\n pickupLocationZipCode!: string | undefined;\r\n deliveryLocationZipCode!: string | undefined;\r\n date!: moment.Moment;\r\n unitBasePrice!: boolean;\r\n unitBasePriceDate!: moment.Moment;\r\n baseIndexDate!: moment.Moment | undefined;\r\n\r\n constructor(data?: ISupplierAgreementSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.currencyType = _data[\"currencyType\"];\r\n this.truckType = _data[\"truckType\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.pickupLocationCounty = _data[\"pickupLocationCounty\"];\r\n this.deliveryLocationCounty = _data[\"deliveryLocationCounty\"];\r\n this.pickupLocationZipCode = _data[\"pickupLocationZipCode\"];\r\n this.deliveryLocationZipCode = _data[\"deliveryLocationZipCode\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.unitBasePrice = _data[\"unitBasePrice\"];\r\n this.unitBasePriceDate = _data[\"unitBasePriceDate\"] ? moment.parseZone(_data[\"unitBasePriceDate\"].toString()) : undefined;\r\n this.baseIndexDate = _data[\"baseIndexDate\"] ? moment.parseZone(_data[\"baseIndexDate\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupplierAgreementSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupplierAgreementSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"currencyType\"] = this.currencyType;\r\n data[\"truckType\"] = this.truckType;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"pickupLocationCounty\"] = this.pickupLocationCounty;\r\n data[\"deliveryLocationCounty\"] = this.deliveryLocationCounty;\r\n data[\"pickupLocationZipCode\"] = this.pickupLocationZipCode;\r\n data[\"deliveryLocationZipCode\"] = this.deliveryLocationZipCode;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"unitBasePrice\"] = this.unitBasePrice;\r\n data[\"unitBasePriceDate\"] = this.unitBasePriceDate ? this.unitBasePriceDate.toISOString(true) : undefined;\r\n data[\"baseIndexDate\"] = this.baseIndexDate ? this.baseIndexDate.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupplierAgreementSearchCriteria {\r\n cargoType: CargoType;\r\n currencyType: Currency | undefined;\r\n truckType: TruckType | undefined;\r\n clientId: number | undefined;\r\n pickupCountry: Country | undefined;\r\n deliveryCountry: Country | undefined;\r\n pickupLocationCounty: string | undefined;\r\n deliveryLocationCounty: string | undefined;\r\n pickupLocationZipCode: string | undefined;\r\n deliveryLocationZipCode: string | undefined;\r\n date: moment.Moment;\r\n unitBasePrice: boolean;\r\n unitBasePriceDate: moment.Moment;\r\n baseIndexDate: moment.Moment | undefined;\r\n}\r\n\r\nexport enum AgreementSupplierOrderBy {\r\n PickupLocation = 1,\r\n DeliveryLocation = 2,\r\n AgreementPeriod = 3,\r\n Distance = 4,\r\n Currency = 5,\r\n TruckType = 6,\r\n Price = 7,\r\n Ranking = 8,\r\n BaseIndexDate = 9,\r\n}\r\n\r\nexport class SuggestionDto implements ISuggestionDto {\r\n id!: string;\r\n address!: string | undefined;\r\n zipcode!: string | undefined;\r\n county!: string | undefined;\r\n\r\n constructor(data?: ISuggestionDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.address = _data[\"address\"];\r\n this.zipcode = _data[\"zipcode\"];\r\n this.county = _data[\"county\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SuggestionDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SuggestionDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"address\"] = this.address;\r\n data[\"zipcode\"] = this.zipcode;\r\n data[\"county\"] = this.county;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISuggestionDto {\r\n id: string;\r\n address: string | undefined;\r\n zipcode: string | undefined;\r\n county: string | undefined;\r\n}\r\n\r\nexport class ItineraryDto implements IItineraryDto {\r\n distance!: number | undefined;\r\n fromExactness!: RoutingExactness;\r\n toExactness!: RoutingExactness;\r\n\r\n constructor(data?: IItineraryDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.distance = _data[\"distance\"];\r\n this.fromExactness = _data[\"fromExactness\"];\r\n this.toExactness = _data[\"toExactness\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ItineraryDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ItineraryDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"distance\"] = this.distance;\r\n data[\"fromExactness\"] = this.fromExactness;\r\n data[\"toExactness\"] = this.toExactness;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IItineraryDto {\r\n distance: number | undefined;\r\n fromExactness: RoutingExactness;\r\n toExactness: RoutingExactness;\r\n}\r\n\r\nexport class AgreementRouteDto implements IAgreementRouteDto {\r\n id!: number;\r\n routeId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupZipcode!: string | undefined;\r\n pickupCountry!: Country;\r\n deliveryCounty!: string | undefined;\r\n deliveryCountry!: Country;\r\n deliveryZipcode!: string | undefined;\r\n currency!: Currency;\r\n customsInfoRequired!: boolean;\r\n distance!: number | undefined;\r\n tag!: string | undefined;\r\n procurementPeriods!: AgreementPeriodDto[] | undefined;\r\n agreementPeriods!: AgreementPeriodDto[] | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n estimateFromHistoricalPeriod!: number | undefined;\r\n status!: AgreementRouteStatus;\r\n statusChangeWhen!: moment.Moment | undefined;\r\n statusChangedBy!: string | undefined;\r\n truckTypes!: TruckType[] | undefined;\r\n mandatoryBookedPickupDate!: boolean;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n pickupInfoId!: number | undefined;\r\n destinationInfoId!: number | undefined;\r\n specialRequirementId!: number | undefined;\r\n specialRequirements!: string | undefined;\r\n pickupInfo!: string | undefined;\r\n destinationInfo!: string | undefined;\r\n archivableOrDeletableStatus!: ArchivableOrDeletableStatus;\r\n\r\n constructor(data?: IAgreementRouteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.routeId = _data[\"routeId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipcode = _data[\"pickupZipcode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.deliveryZipcode = _data[\"deliveryZipcode\"];\r\n this.currency = _data[\"currency\"];\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n this.distance = _data[\"distance\"];\r\n this.tag = _data[\"tag\"];\r\n if (Array.isArray(_data[\"procurementPeriods\"])) {\r\n this.procurementPeriods = [] as any;\r\n for (let item of _data[\"procurementPeriods\"])\r\n this.procurementPeriods!.push(AgreementPeriodDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"agreementPeriods\"])) {\r\n this.agreementPeriods = [] as any;\r\n for (let item of _data[\"agreementPeriods\"])\r\n this.agreementPeriods!.push(AgreementPeriodDto.fromJS(item));\r\n }\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.estimateFromHistoricalPeriod = _data[\"estimateFromHistoricalPeriod\"];\r\n this.status = _data[\"status\"];\r\n this.statusChangeWhen = _data[\"statusChangeWhen\"] ? moment.parseZone(_data[\"statusChangeWhen\"].toString()) : undefined;\r\n this.statusChangedBy = _data[\"statusChangedBy\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n this.pickupInfoId = _data[\"pickupInfoId\"];\r\n this.destinationInfoId = _data[\"destinationInfoId\"];\r\n this.specialRequirementId = _data[\"specialRequirementId\"];\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.pickupInfo = _data[\"pickupInfo\"];\r\n this.destinationInfo = _data[\"destinationInfo\"];\r\n this.archivableOrDeletableStatus = _data[\"archivableOrDeletableStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"routeId\"] = this.routeId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipcode\"] = this.pickupZipcode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"deliveryZipcode\"] = this.deliveryZipcode;\r\n data[\"currency\"] = this.currency;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n data[\"distance\"] = this.distance;\r\n data[\"tag\"] = this.tag;\r\n if (Array.isArray(this.procurementPeriods)) {\r\n data[\"procurementPeriods\"] = [];\r\n for (let item of this.procurementPeriods)\r\n data[\"procurementPeriods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.agreementPeriods)) {\r\n data[\"agreementPeriods\"] = [];\r\n for (let item of this.agreementPeriods)\r\n data[\"agreementPeriods\"].push(item.toJSON());\r\n }\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"estimateFromHistoricalPeriod\"] = this.estimateFromHistoricalPeriod;\r\n data[\"status\"] = this.status;\r\n data[\"statusChangeWhen\"] = this.statusChangeWhen ? this.statusChangeWhen.toISOString(true) : undefined;\r\n data[\"statusChangedBy\"] = this.statusChangedBy;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n data[\"pickupInfoId\"] = this.pickupInfoId;\r\n data[\"destinationInfoId\"] = this.destinationInfoId;\r\n data[\"specialRequirementId\"] = this.specialRequirementId;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"pickupInfo\"] = this.pickupInfo;\r\n data[\"destinationInfo\"] = this.destinationInfo;\r\n data[\"archivableOrDeletableStatus\"] = this.archivableOrDeletableStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteDto {\r\n id: number;\r\n routeId: number;\r\n pickupCounty: string | undefined;\r\n pickupZipcode: string | undefined;\r\n pickupCountry: Country;\r\n deliveryCounty: string | undefined;\r\n deliveryCountry: Country;\r\n deliveryZipcode: string | undefined;\r\n currency: Currency;\r\n customsInfoRequired: boolean;\r\n distance: number | undefined;\r\n tag: string | undefined;\r\n procurementPeriods: AgreementPeriodDto[] | undefined;\r\n agreementPeriods: AgreementPeriodDto[] | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n estimateFromHistoricalPeriod: number | undefined;\r\n status: AgreementRouteStatus;\r\n statusChangeWhen: moment.Moment | undefined;\r\n statusChangedBy: string | undefined;\r\n truckTypes: TruckType[] | undefined;\r\n mandatoryBookedPickupDate: boolean;\r\n mandatoryBookedDeliveryDate: boolean;\r\n pickupInfoId: number | undefined;\r\n destinationInfoId: number | undefined;\r\n specialRequirementId: number | undefined;\r\n specialRequirements: string | undefined;\r\n pickupInfo: string | undefined;\r\n destinationInfo: string | undefined;\r\n archivableOrDeletableStatus: ArchivableOrDeletableStatus;\r\n}\r\n\r\nexport enum ArchivableOrDeletableStatus {\r\n Deleteable = 1,\r\n Archivable = 2,\r\n CantBeChanged = 3,\r\n}\r\n\r\nexport class AgreementRouteForProcurementDto implements IAgreementRouteForProcurementDto {\r\n id!: number;\r\n routeId!: number;\r\n pickupCounty!: string | undefined;\r\n pickupZipcode!: string | undefined;\r\n pickupCountry!: Country;\r\n deliveryCounty!: string | undefined;\r\n deliveryCountry!: Country;\r\n deliveryZipcode!: string | undefined;\r\n currency!: Currency;\r\n agreementTo!: moment.Moment | undefined;\r\n estimatedNoOfLoads!: number | undefined;\r\n specialRequirements!: string | undefined;\r\n tag!: string | undefined;\r\n\r\n constructor(data?: IAgreementRouteForProcurementDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.routeId = _data[\"routeId\"];\r\n this.pickupCounty = _data[\"pickupCounty\"];\r\n this.pickupZipcode = _data[\"pickupZipcode\"];\r\n this.pickupCountry = _data[\"pickupCountry\"];\r\n this.deliveryCounty = _data[\"deliveryCounty\"];\r\n this.deliveryCountry = _data[\"deliveryCountry\"];\r\n this.deliveryZipcode = _data[\"deliveryZipcode\"];\r\n this.currency = _data[\"currency\"];\r\n this.agreementTo = _data[\"agreementTo\"] ? moment.parseZone(_data[\"agreementTo\"].toString()) : undefined;\r\n this.estimatedNoOfLoads = _data[\"estimatedNoOfLoads\"];\r\n this.specialRequirements = _data[\"specialRequirements\"];\r\n this.tag = _data[\"tag\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteForProcurementDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteForProcurementDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"routeId\"] = this.routeId;\r\n data[\"pickupCounty\"] = this.pickupCounty;\r\n data[\"pickupZipcode\"] = this.pickupZipcode;\r\n data[\"pickupCountry\"] = this.pickupCountry;\r\n data[\"deliveryCounty\"] = this.deliveryCounty;\r\n data[\"deliveryCountry\"] = this.deliveryCountry;\r\n data[\"deliveryZipcode\"] = this.deliveryZipcode;\r\n data[\"currency\"] = this.currency;\r\n data[\"agreementTo\"] = this.agreementTo ? this.agreementTo.toISOString(true) : undefined;\r\n data[\"estimatedNoOfLoads\"] = this.estimatedNoOfLoads;\r\n data[\"specialRequirements\"] = this.specialRequirements;\r\n data[\"tag\"] = this.tag;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteForProcurementDto {\r\n id: number;\r\n routeId: number;\r\n pickupCounty: string | undefined;\r\n pickupZipcode: string | undefined;\r\n pickupCountry: Country;\r\n deliveryCounty: string | undefined;\r\n deliveryCountry: Country;\r\n deliveryZipcode: string | undefined;\r\n currency: Currency;\r\n agreementTo: moment.Moment | undefined;\r\n estimatedNoOfLoads: number | undefined;\r\n specialRequirements: string | undefined;\r\n tag: string | undefined;\r\n}\r\n\r\nexport class CreateAgreementRouteDto implements ICreateAgreementRouteDto {\r\n cargoType!: CargoType;\r\n truckTypes!: TruckType[] | undefined;\r\n currency!: Currency;\r\n estimate!: number | undefined;\r\n distance!: number | undefined;\r\n tag!: string | undefined;\r\n pickupLocationId!: number;\r\n deliveryLocationId!: number;\r\n customsInfoRequired!: boolean;\r\n mandatoryBookedPickupDate!: boolean;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n pickupInfoId!: number | undefined;\r\n destinationInfoId!: number | undefined;\r\n specialRequirementId!: number | undefined;\r\n\r\n constructor(data?: ICreateAgreementRouteDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n this.currency = _data[\"currency\"];\r\n this.estimate = _data[\"estimate\"];\r\n this.distance = _data[\"distance\"];\r\n this.tag = _data[\"tag\"];\r\n this.pickupLocationId = _data[\"pickupLocationId\"];\r\n this.deliveryLocationId = _data[\"deliveryLocationId\"];\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n this.pickupInfoId = _data[\"pickupInfoId\"];\r\n this.destinationInfoId = _data[\"destinationInfoId\"];\r\n this.specialRequirementId = _data[\"specialRequirementId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateAgreementRouteDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateAgreementRouteDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n data[\"currency\"] = this.currency;\r\n data[\"estimate\"] = this.estimate;\r\n data[\"distance\"] = this.distance;\r\n data[\"tag\"] = this.tag;\r\n data[\"pickupLocationId\"] = this.pickupLocationId;\r\n data[\"deliveryLocationId\"] = this.deliveryLocationId;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n data[\"pickupInfoId\"] = this.pickupInfoId;\r\n data[\"destinationInfoId\"] = this.destinationInfoId;\r\n data[\"specialRequirementId\"] = this.specialRequirementId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateAgreementRouteDto {\r\n cargoType: CargoType;\r\n truckTypes: TruckType[] | undefined;\r\n currency: Currency;\r\n estimate: number | undefined;\r\n distance: number | undefined;\r\n tag: string | undefined;\r\n pickupLocationId: number;\r\n deliveryLocationId: number;\r\n customsInfoRequired: boolean;\r\n mandatoryBookedPickupDate: boolean;\r\n mandatoryBookedDeliveryDate: boolean;\r\n pickupInfoId: number | undefined;\r\n destinationInfoId: number | undefined;\r\n specialRequirementId: number | undefined;\r\n}\r\n\r\nexport class TagDto implements ITagDto {\r\n agreementRouteId!: number;\r\n tag!: string | undefined;\r\n\r\n constructor(data?: ITagDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.tag = _data[\"tag\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TagDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TagDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"tag\"] = this.tag;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITagDto {\r\n agreementRouteId: number;\r\n tag: string | undefined;\r\n}\r\n\r\nexport class AgreementRouteStandardPhraseSaveDto implements IAgreementRouteStandardPhraseSaveDto {\r\n agreementRouteId!: number;\r\n pickupInfoId!: number | undefined;\r\n destinationInfoId!: number | undefined;\r\n specialRequirementId!: number | undefined;\r\n\r\n constructor(data?: IAgreementRouteStandardPhraseSaveDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.pickupInfoId = _data[\"pickupInfoId\"];\r\n this.destinationInfoId = _data[\"destinationInfoId\"];\r\n this.specialRequirementId = _data[\"specialRequirementId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreementRouteStandardPhraseSaveDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreementRouteStandardPhraseSaveDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"pickupInfoId\"] = this.pickupInfoId;\r\n data[\"destinationInfoId\"] = this.destinationInfoId;\r\n data[\"specialRequirementId\"] = this.specialRequirementId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreementRouteStandardPhraseSaveDto {\r\n agreementRouteId: number;\r\n pickupInfoId: number | undefined;\r\n destinationInfoId: number | undefined;\r\n specialRequirementId: number | undefined;\r\n}\r\n\r\nexport class DefaultMandatoryFlagsDto implements IDefaultMandatoryFlagsDto {\r\n agreementRouteId!: number;\r\n customsInfoRequired!: boolean;\r\n mandatoryBookedPickupDate!: boolean;\r\n mandatoryBookedDeliveryDate!: boolean;\r\n\r\n constructor(data?: IDefaultMandatoryFlagsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.customsInfoRequired = _data[\"customsInfoRequired\"];\r\n this.mandatoryBookedPickupDate = _data[\"mandatoryBookedPickupDate\"];\r\n this.mandatoryBookedDeliveryDate = _data[\"mandatoryBookedDeliveryDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DefaultMandatoryFlagsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DefaultMandatoryFlagsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"customsInfoRequired\"] = this.customsInfoRequired;\r\n data[\"mandatoryBookedPickupDate\"] = this.mandatoryBookedPickupDate;\r\n data[\"mandatoryBookedDeliveryDate\"] = this.mandatoryBookedDeliveryDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDefaultMandatoryFlagsDto {\r\n agreementRouteId: number;\r\n customsInfoRequired: boolean;\r\n mandatoryBookedPickupDate: boolean;\r\n mandatoryBookedDeliveryDate: boolean;\r\n}\r\n\r\nexport class SaveAgreementRouteStatusHiddenDto implements ISaveAgreementRouteStatusHiddenDto {\r\n hideShowAgreementRoutes!: StatusDto[] | undefined;\r\n saveAnyway!: boolean;\r\n\r\n constructor(data?: ISaveAgreementRouteStatusHiddenDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"hideShowAgreementRoutes\"])) {\r\n this.hideShowAgreementRoutes = [] as any;\r\n for (let item of _data[\"hideShowAgreementRoutes\"])\r\n this.hideShowAgreementRoutes!.push(StatusDto.fromJS(item));\r\n }\r\n this.saveAnyway = _data[\"saveAnyway\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SaveAgreementRouteStatusHiddenDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SaveAgreementRouteStatusHiddenDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.hideShowAgreementRoutes)) {\r\n data[\"hideShowAgreementRoutes\"] = [];\r\n for (let item of this.hideShowAgreementRoutes)\r\n data[\"hideShowAgreementRoutes\"].push(item.toJSON());\r\n }\r\n data[\"saveAnyway\"] = this.saveAnyway;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISaveAgreementRouteStatusHiddenDto {\r\n hideShowAgreementRoutes: StatusDto[] | undefined;\r\n saveAnyway: boolean;\r\n}\r\n\r\nexport class StatusDto implements IStatusDto {\r\n agreementRouteId!: number;\r\n status!: AgreementRouteStatus;\r\n\r\n constructor(data?: IStatusDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StatusDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StatusDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStatusDto {\r\n agreementRouteId: number;\r\n status: AgreementRouteStatus;\r\n}\r\n\r\nexport class ConnectedTruckTypesDto implements IConnectedTruckTypesDto {\r\n agreementRouteId!: number;\r\n truckTypes!: TruckType[] | undefined;\r\n\r\n constructor(data?: IConnectedTruckTypesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n if (Array.isArray(_data[\"truckTypes\"])) {\r\n this.truckTypes = [] as any;\r\n for (let item of _data[\"truckTypes\"])\r\n this.truckTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectedTruckTypesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectedTruckTypesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n if (Array.isArray(this.truckTypes)) {\r\n data[\"truckTypes\"] = [];\r\n for (let item of this.truckTypes)\r\n data[\"truckTypes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectedTruckTypesDto {\r\n agreementRouteId: number;\r\n truckTypes: TruckType[] | undefined;\r\n}\r\n\r\nexport class EstimateDto implements IEstimateDto {\r\n agreementRouteId!: number;\r\n estimate!: number | undefined;\r\n\r\n constructor(data?: IEstimateDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.agreementRouteId = _data[\"agreementRouteId\"];\r\n this.estimate = _data[\"estimate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EstimateDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EstimateDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreementRouteId\"] = this.agreementRouteId;\r\n data[\"estimate\"] = this.estimate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEstimateDto {\r\n agreementRouteId: number;\r\n estimate: number | undefined;\r\n}\r\n\r\nexport class EstimateFromHistoricalPeriodDto implements IEstimateFromHistoricalPeriodDto {\r\n routeId!: number;\r\n estimate!: number;\r\n\r\n constructor(data?: IEstimateFromHistoricalPeriodDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.routeId = _data[\"routeId\"];\r\n this.estimate = _data[\"estimate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EstimateFromHistoricalPeriodDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EstimateFromHistoricalPeriodDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"routeId\"] = this.routeId;\r\n data[\"estimate\"] = this.estimate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEstimateFromHistoricalPeriodDto {\r\n routeId: number;\r\n estimate: number;\r\n}\r\n\r\nexport class EstimateFromHistoricalPeriodSearchCriteria implements IEstimateFromHistoricalPeriodSearchCriteria {\r\n cargoType!: CargoType;\r\n from!: moment.Moment | undefined;\r\n to!: moment.Moment | undefined;\r\n\r\n constructor(data?: IEstimateFromHistoricalPeriodSearchCriteria) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n this.from = _data[\"from\"] ? moment.parseZone(_data[\"from\"].toString()) : undefined;\r\n this.to = _data[\"to\"] ? moment.parseZone(_data[\"to\"].toString()) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EstimateFromHistoricalPeriodSearchCriteria {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EstimateFromHistoricalPeriodSearchCriteria();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n data[\"from\"] = this.from ? this.from.toISOString(true) : undefined;\r\n data[\"to\"] = this.to ? this.to.toISOString(true) : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEstimateFromHistoricalPeriodSearchCriteria {\r\n cargoType: CargoType;\r\n from: moment.Moment | undefined;\r\n to: moment.Moment | undefined;\r\n}\r\n\r\nexport class ImportedEstimatesDto implements IImportedEstimatesDto {\r\n cargoType!: CargoType;\r\n estimates!: EstimateDto[] | undefined;\r\n\r\n constructor(data?: IImportedEstimatesDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.cargoType = _data[\"cargoType\"];\r\n if (Array.isArray(_data[\"estimates\"])) {\r\n this.estimates = [] as any;\r\n for (let item of _data[\"estimates\"])\r\n this.estimates!.push(EstimateDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportedEstimatesDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportedEstimatesDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cargoType\"] = this.cargoType;\r\n if (Array.isArray(this.estimates)) {\r\n data[\"estimates\"] = [];\r\n for (let item of this.estimates)\r\n data[\"estimates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportedEstimatesDto {\r\n cargoType: CargoType;\r\n estimates: EstimateDto[] | undefined;\r\n}\r\n\r\nexport class ActorListDto implements IActorListDto {\r\n actorId!: number;\r\n actorName!: string | undefined;\r\n regDate!: moment.Moment | undefined;\r\n orgNo!: string | undefined;\r\n mainContactName!: string | undefined;\r\n mainContactEmail!: string | undefined;\r\n mainContactPhone!: string | undefined;\r\n country!: Country;\r\n cargoTypes!: CargoType[] | undefined;\r\n\r\n constructor(data?: IActorListDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.actorId = _data[\"actorId\"];\r\n this.actorName = _data[\"actorName\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.orgNo = _data[\"orgNo\"];\r\n this.mainContactName = _data[\"mainContactName\"];\r\n this.mainContactEmail = _data[\"mainContactEmail\"];\r\n this.mainContactPhone = _data[\"mainContactPhone\"];\r\n this.country = _data[\"country\"];\r\n if (Array.isArray(_data[\"cargoTypes\"])) {\r\n this.cargoTypes = [] as any;\r\n for (let item of _data[\"cargoTypes\"])\r\n this.cargoTypes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorListDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorListDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"actorId\"] = this.actorId;\r\n data[\"actorName\"] = this.actorName;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"orgNo\"] = this.orgNo;\r\n data[\"mainContactName\"] = this.mainContactName;\r\n data[\"mainContactEmail\"] = this.mainContactEmail;\r\n data[\"mainContactPhone\"] = this.mainContactPhone;\r\n data[\"country\"] = this.country;\r\n if (Array.isArray(this.cargoTypes)) {\r\n data[\"cargoTypes\"] = [];\r\n for (let item of this.cargoTypes)\r\n data[\"cargoTypes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorListDto {\r\n actorId: number;\r\n actorName: string | undefined;\r\n regDate: moment.Moment | undefined;\r\n orgNo: string | undefined;\r\n mainContactName: string | undefined;\r\n mainContactEmail: string | undefined;\r\n mainContactPhone: string | undefined;\r\n country: Country;\r\n cargoTypes: CargoType[] | undefined;\r\n}\r\n\r\nexport class ActorDetailsDto implements IActorDetailsDto {\r\n name!: string | undefined;\r\n orgNo!: string | undefined;\r\n regDate!: moment.Moment | undefined;\r\n cldDateTime!: moment.Moment | undefined;\r\n mainContactName!: string | undefined;\r\n mainContactEmail!: string | undefined;\r\n mainContactPhone!: string | undefined;\r\n country!: Country;\r\n contractAddress!: string | undefined;\r\n actorInfo!: string | undefined;\r\n openingHours!: string | undefined;\r\n\r\n constructor(data?: IActorDetailsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.orgNo = _data[\"orgNo\"];\r\n this.regDate = _data[\"regDate\"] ? moment.parseZone(_data[\"regDate\"].toString()) : undefined;\r\n this.cldDateTime = _data[\"cldDateTime\"] ? moment.parseZone(_data[\"cldDateTime\"].toString()) : undefined;\r\n this.mainContactName = _data[\"mainContactName\"];\r\n this.mainContactEmail = _data[\"mainContactEmail\"];\r\n this.mainContactPhone = _data[\"mainContactPhone\"];\r\n this.country = _data[\"country\"];\r\n this.contractAddress = _data[\"contractAddress\"];\r\n this.actorInfo = _data[\"actorInfo\"];\r\n this.openingHours = _data[\"openingHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActorDetailsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorDetailsDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"orgNo\"] = this.orgNo;\r\n data[\"regDate\"] = this.regDate ? this.regDate.toISOString(true) : undefined;\r\n data[\"cldDateTime\"] = this.cldDateTime ? this.cldDateTime.toISOString(true) : undefined;\r\n data[\"mainContactName\"] = this.mainContactName;\r\n data[\"mainContactEmail\"] = this.mainContactEmail;\r\n data[\"mainContactPhone\"] = this.mainContactPhone;\r\n data[\"country\"] = this.country;\r\n data[\"contractAddress\"] = this.contractAddress;\r\n data[\"actorInfo\"] = this.actorInfo;\r\n data[\"openingHours\"] = this.openingHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActorDetailsDto {\r\n name: string | undefined;\r\n orgNo: string | undefined;\r\n regDate: moment.Moment | undefined;\r\n cldDateTime: moment.Moment | undefined;\r\n mainContactName: string | undefined;\r\n mainContactEmail: string | undefined;\r\n mainContactPhone: string | undefined;\r\n country: Country;\r\n contractAddress: string | undefined;\r\n actorInfo: string | undefined;\r\n openingHours: string | undefined;\r\n}\r\n\r\nexport class SuperAdminDto implements ISuperAdminDto {\r\n name!: string | undefined;\r\n mobileNo!: string | undefined;\r\n email!: string | undefined;\r\n\r\n constructor(data?: ISuperAdminDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.mobileNo = _data[\"mobileNo\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SuperAdminDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SuperAdminDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"mobileNo\"] = this.mobileNo;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISuperAdminDto {\r\n name: string | undefined;\r\n mobileNo: string | undefined;\r\n email: string | undefined;\r\n}\r\n\r\nexport class PreEditActorDto implements IPreEditActorDto {\r\n name!: string | undefined;\r\n orgNo!: string | undefined;\r\n contractAddress!: string | undefined;\r\n country!: Country;\r\n mainContactName!: string | undefined;\r\n mainContactEmail!: string | undefined;\r\n mainContactPhone!: string | undefined;\r\n contractManagerName!: string | undefined;\r\n contractManagerEmail!: string | undefined;\r\n contractManagerPhone!: string | undefined;\r\n actorInfo!: string | undefined;\r\n openingHours!: string | undefined;\r\n\r\n constructor(data?: IPreEditActorDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.orgNo = _data[\"orgNo\"];\r\n this.contractAddress = _data[\"contractAddress\"];\r\n this.country = _data[\"country\"];\r\n this.mainContactName = _data[\"mainContactName\"];\r\n this.mainContactEmail = _data[\"mainContactEmail\"];\r\n this.mainContactPhone = _data[\"mainContactPhone\"];\r\n this.contractManagerName = _data[\"contractManagerName\"];\r\n this.contractManagerEmail = _data[\"contractManagerEmail\"];\r\n this.contractManagerPhone = _data[\"contractManagerPhone\"];\r\n this.actorInfo = _data[\"actorInfo\"];\r\n this.openingHours = _data[\"openingHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PreEditActorDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PreEditActorDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"orgNo\"] = this.orgNo;\r\n data[\"contractAddress\"] = this.contractAddress;\r\n data[\"country\"] = this.country;\r\n data[\"mainContactName\"] = this.mainContactName;\r\n data[\"mainContactEmail\"] = this.mainContactEmail;\r\n data[\"mainContactPhone\"] = this.mainContactPhone;\r\n data[\"contractManagerName\"] = this.contractManagerName;\r\n data[\"contractManagerEmail\"] = this.contractManagerEmail;\r\n data[\"contractManagerPhone\"] = this.contractManagerPhone;\r\n data[\"actorInfo\"] = this.actorInfo;\r\n data[\"openingHours\"] = this.openingHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPreEditActorDto {\r\n name: string | undefined;\r\n orgNo: string | undefined;\r\n contractAddress: string | undefined;\r\n country: Country;\r\n mainContactName: string | undefined;\r\n mainContactEmail: string | undefined;\r\n mainContactPhone: string | undefined;\r\n contractManagerName: string | undefined;\r\n contractManagerEmail: string | undefined;\r\n contractManagerPhone: string | undefined;\r\n actorInfo: string | undefined;\r\n openingHours: string | undefined;\r\n}\r\n\r\nexport class EditActorDto implements IEditActorDto {\r\n country!: Country;\r\n mainContactName!: string | undefined;\r\n mainContactEmail!: string | undefined;\r\n mainContactPhone!: string | undefined;\r\n contractManagerName!: string | undefined;\r\n contractManagerEmail!: string | undefined;\r\n contractManagerPhone!: string | undefined;\r\n actorInfo!: string | undefined;\r\n openingHours!: string | undefined;\r\n\r\n constructor(data?: IEditActorDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.mainContactName = _data[\"mainContactName\"];\r\n this.mainContactEmail = _data[\"mainContactEmail\"];\r\n this.mainContactPhone = _data[\"mainContactPhone\"];\r\n this.contractManagerName = _data[\"contractManagerName\"];\r\n this.contractManagerEmail = _data[\"contractManagerEmail\"];\r\n this.contractManagerPhone = _data[\"contractManagerPhone\"];\r\n this.actorInfo = _data[\"actorInfo\"];\r\n this.openingHours = _data[\"openingHours\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditActorDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditActorDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"mainContactName\"] = this.mainContactName;\r\n data[\"mainContactEmail\"] = this.mainContactEmail;\r\n data[\"mainContactPhone\"] = this.mainContactPhone;\r\n data[\"contractManagerName\"] = this.contractManagerName;\r\n data[\"contractManagerEmail\"] = this.contractManagerEmail;\r\n data[\"contractManagerPhone\"] = this.contractManagerPhone;\r\n data[\"actorInfo\"] = this.actorInfo;\r\n data[\"openingHours\"] = this.openingHours;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditActorDto {\r\n country: Country;\r\n mainContactName: string | undefined;\r\n mainContactEmail: string | undefined;\r\n mainContactPhone: string | undefined;\r\n contractManagerName: string | undefined;\r\n contractManagerEmail: string | undefined;\r\n contractManagerPhone: string | undefined;\r\n actorInfo: string | undefined;\r\n openingHours: string | undefined;\r\n}\r\n\r\nexport class PublishRuleDto implements IPublishRuleDto {\r\n removable!: boolean;\r\n publishRuleRows!: PublishRuleRowDto[];\r\n\r\n constructor(data?: IPublishRuleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n if (!data) {\r\n this.publishRuleRows = [];\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.removable = _data[\"removable\"];\r\n if (Array.isArray(_data[\"publishRuleRows\"])) {\r\n this.publishRuleRows = [] as any;\r\n for (let item of _data[\"publishRuleRows\"])\r\n this.publishRuleRows!.push(PublishRuleRowDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublishRuleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublishRuleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"removable\"] = this.removable;\r\n if (Array.isArray(this.publishRuleRows)) {\r\n data[\"publishRuleRows\"] = [];\r\n for (let item of this.publishRuleRows)\r\n data[\"publishRuleRows\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublishRuleDto {\r\n removable: boolean;\r\n publishRuleRows: PublishRuleRowDto[];\r\n}\r\n\r\nexport class PublishRuleRowDto implements IPublishRuleRowDto {\r\n publishRuleType!: PublishRuleType;\r\n delay!: number;\r\n\r\n constructor(data?: IPublishRuleRowDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.publishRuleType = _data[\"publishRuleType\"];\r\n this.delay = _data[\"delay\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PublishRuleRowDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PublishRuleRowDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"publishRuleType\"] = this.publishRuleType;\r\n data[\"delay\"] = this.delay;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPublishRuleRowDto {\r\n publishRuleType: PublishRuleType;\r\n delay: number;\r\n}\r\n\r\nexport enum PublishRuleType {\r\n Road = 1,\r\n Railroad = 2,\r\n Container = 3,\r\n MachineTransport = 4,\r\n Broadcast = 5,\r\n Economy = 6,\r\n}\r\n\r\nexport class ClientScheduleDto implements IClientScheduleDto {\r\n clientId!: number;\r\n clientTimeZone!: TimeZone;\r\n workingHours!: WorkingHoursDto[] | undefined;\r\n holidays!: HolidayDto[] | undefined;\r\n\r\n constructor(data?: IClientScheduleDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.clientTimeZone = _data[\"clientTimeZone\"];\r\n if (Array.isArray(_data[\"workingHours\"])) {\r\n this.workingHours = [] as any;\r\n for (let item of _data[\"workingHours\"])\r\n this.workingHours!.push(WorkingHoursDto.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"holidays\"])) {\r\n this.holidays = [] as any;\r\n for (let item of _data[\"holidays\"])\r\n this.holidays!.push(HolidayDto.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClientScheduleDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientScheduleDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientTimeZone\"] = this.clientTimeZone;\r\n if (Array.isArray(this.workingHours)) {\r\n data[\"workingHours\"] = [];\r\n for (let item of this.workingHours)\r\n data[\"workingHours\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.holidays)) {\r\n data[\"holidays\"] = [];\r\n for (let item of this.holidays)\r\n data[\"holidays\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClientScheduleDto {\r\n clientId: number;\r\n clientTimeZone: TimeZone;\r\n workingHours: WorkingHoursDto[] | undefined;\r\n holidays: HolidayDto[] | undefined;\r\n}\r\n\r\nexport class WorkingHoursDto implements IWorkingHoursDto {\r\n id!: number;\r\n start!: moment.Duration;\r\n stop!: moment.Duration;\r\n dayType!: DayType;\r\n\r\n constructor(data?: IWorkingHoursDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.start = _data[\"start\"] ? moment.duration(_data[\"start\"].toString()) : undefined;\r\n this.stop = _data[\"stop\"] ? moment.duration(_data[\"stop\"].toString()) : undefined;\r\n this.dayType = _data[\"dayType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkingHoursDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkingHoursDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"start\"] = this.start ? this.start.format('d.hh:mm:ss.SS', { trim: false }) : undefined;\r\n data[\"stop\"] = this.stop ? this.stop.format('d.hh:mm:ss.SS', { trim: false }) : undefined;\r\n data[\"dayType\"] = this.dayType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkingHoursDto {\r\n id: number;\r\n start: moment.Duration;\r\n stop: moment.Duration;\r\n dayType: DayType;\r\n}\r\n\r\nexport enum DayType {\r\n WeekDay = 1,\r\n Saturday = 2,\r\n Sunday = 3,\r\n}\r\n\r\nexport class HolidayDto implements IHolidayDto {\r\n id!: number;\r\n date!: moment.Moment;\r\n start!: moment.Duration | undefined;\r\n stop!: moment.Duration | undefined;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IHolidayDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.date = _data[\"date\"] ? moment.parseZone(_data[\"date\"].toString()) : undefined;\r\n this.start = _data[\"start\"] ? moment.duration(_data[\"start\"].toString()) : undefined;\r\n this.stop = _data[\"stop\"] ? moment.duration(_data[\"stop\"].toString()) : undefined;\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HolidayDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HolidayDto();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"date\"] = this.date ? this.date.toISOString(true) : undefined;\r\n data[\"start\"] = this.start ? this.start.format('d.hh:mm:ss.SS', { trim: false }) : undefined;\r\n data[\"stop\"] = this.stop ? this.stop.format('d.hh:mm:ss.SS', { trim: false }) : undefined;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHolidayDto {\r\n id: number;\r\n date: moment.Moment;\r\n start: moment.Duration | undefined;\r\n stop: moment.Duration | undefined;\r\n description: string | undefined;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\nfunction isAxiosError(obj: any): obj is AxiosError {\r\n return obj && obj.isAxiosError === true;\r\n}\r\n\r\nnamespace moment {\r\n export type Moment = CDate;\r\n export type Duration = CDuration;\r\n export function duration(input: string) { return CDuration.fromISO(input) };\r\n export function parseZone(input: string) { return CDate.fromApiString(input) };\r\n}","export default (x: never): never => {\r\n throw new Error(\r\n `This should never happen, but it did. The value of x was ${x}. The most likely reason is a switch case hitting the default case in a situation where it was not expected to happen.`\r\n );\r\n};\r\n","import { TimeZone } from \"@/scripts/cld.api\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nexport default (x: TimeZone): string => {\r\n switch (x) {\r\n case TimeZone.NotSet:\r\n return \"Not set\";\r\n case TimeZone.Europe_Stockholm:\r\n return \"Europe/Stockholm\";\r\n case TimeZone.Europe_Oslo:\r\n return \"Europe/Oslo\";\r\n case TimeZone.Europe_Helsinki:\r\n return \"Europe/Helsinki\";\r\n case TimeZone.Europe_Copenhagen:\r\n return \"Europe/Copenhagen\";\r\n case TimeZone.Europe_Tallinn:\r\n return \"Europe/Tallinn\";\r\n case TimeZone.Europe_Amsterdam:\r\n return \"Europe/Amsterdam\";\r\n case TimeZone.Europe_Riga:\r\n return \"Europe/Riga\";\r\n case TimeZone.Europe_Warsaw:\r\n return \"Europe/Warsaw\";\r\n case TimeZone.Europe_Berlin:\r\n return \"Europe/Berlin\";\r\n case TimeZone.Asia_Singapore:\r\n return \"Asia/Singapore\";\r\n case TimeZone.Europe_Rome:\r\n return \"Europe/Rome\";\r\n case TimeZone.America_New_York:\r\n return \"America/New_York\";\r\n case TimeZone.Europe_Brussels:\r\n return \"Europe/Brussels\";\r\n case TimeZone.Europe_Zurich:\r\n return \"Europe/Zurich\";\r\n case TimeZone.Europe_Prague:\r\n return \"Europe/Prague\";\r\n case TimeZone.Europe_London:\r\n return \"Europe/London\";\r\n case TimeZone.Europe_Budapest:\r\n return \"Europe/Budapest\";\r\n case TimeZone.Europe_Vilnius:\r\n return \"Europe/Vilnius\";\r\n case TimeZone.Europe_Bratislava:\r\n return \"Europe/Bratislava\";\r\n case TimeZone.Europe_Lisbon:\r\n return \"Europe/Lisbon\";\r\n case TimeZone.Europe_Athens:\r\n return \"Europe/Athens\";\r\n case TimeZone.Asia_Jerusalem:\r\n return \"Asia/Jerusalem\";\r\n case TimeZone.Asia_Tokyo:\r\n return \"Asia/Tokyo\";\r\n case TimeZone.Asia_Shanghai:\r\n return \"Asia/Shanghai\";\r\n case TimeZone.Europe_Madrid:\r\n return \"Europe/Madrid\";\r\n case TimeZone.Africa_Tunis:\r\n return \"Africa/Tunis\";\r\n case TimeZone.Europe_Luxembourg:\r\n return \"Europe/Luxembourg\";\r\n case TimeZone.Europe_Tirane:\r\n return \"Europe/Tirane\";\r\n case TimeZone.Asia_Ho_Chi_Minh:\r\n return \"Asia/Ho_Chi_Minh\";\r\n case TimeZone.America_Chicago:\r\n return \"America/Chicago\";\r\n case TimeZone.America_Denver:\r\n return \"America/Denver\";\r\n case TimeZone.America_Detroit:\r\n return \"America/Detroit\";\r\n case TimeZone.America_Indiana_Indianapolis:\r\n return \"America/Indiana/Indianapolis\";\r\n case TimeZone.America_Los_Angeles:\r\n return \"America/Los_Angeles\";\r\n case TimeZone.Asia_Taipei:\r\n return \"Asia/Taipei\";\r\n case TimeZone.Europe_Istanbul:\r\n return \"Europe/Istanbul\";\r\n case TimeZone.Asia_Riyadh:\r\n return \"Asia/Riyadh\";\r\n case TimeZone.Asia_Aden:\r\n return \"Asia/Aden\";\r\n case TimeZone.Asia_Seoul:\r\n return \"Asia/Seoul\";\r\n case TimeZone.Asia_Karachi:\r\n return \"Asia/Karachi\";\r\n case TimeZone.Asia_Kolkata:\r\n return \"Asia/Kolkata\";\r\n case TimeZone.Asia_Nicosia:\r\n return \"Asia/Nicosia\";\r\n case TimeZone.Asia_Beirut:\r\n return \"Asia/Beirut\";\r\n case TimeZone.Atlantic_Cape_Verde:\r\n return \"Atlantic/Cape_Verde\";\r\n case TimeZone.Asia_Tbilisi:\r\n return \"Asia/Tbilisi\";\r\n case TimeZone.Europe_Bucharest:\r\n return \"Europe/Bucharest\";\r\n case TimeZone.Asia_Dubai:\r\n return \"Asia/Dubai\";\r\n case TimeZone.Asia_Amman:\r\n return \"Asia/Amman\";\r\n case TimeZone.Africa_Khartoum:\r\n return \"Africa/Khartoum\";\r\n case TimeZone.Asia_Muscat:\r\n return \"Asia/Muscat\";\r\n case TimeZone.Africa_Casablanca:\r\n return \"Africa/Casablanca\";\r\n case TimeZone.Asia_Bangkok:\r\n return \"Asia/Bangkok\";\r\n case TimeZone.Asia_Phnom_Penh:\r\n return \"Asia/Phnom_Penh\";\r\n case TimeZone.Asia_Colombo:\r\n return \"Asia/Colombo\";\r\n case TimeZone.Asia_Jakarta:\r\n return \"Asia/Jakarta\";\r\n case TimeZone.Indian_Maldives:\r\n return \"Indian/Maldives\";\r\n case TimeZone.Asia_Hong_Kong:\r\n return \"Asia/Hong_Kong\";\r\n case TimeZone.Europe_Dublin:\r\n return \"Europe/Dublin\";\r\n case TimeZone.Asia_Kuala_Lumpur:\r\n return \"Asia/Kuala_Lumpur\";\r\n case TimeZone.Europe_Sofia:\r\n return \"Europe/Sofia\";\r\n case TimeZone.Europe_Ljubljana:\r\n return \"Europe/Ljubljana\";\r\n case TimeZone.Asia_Damascus:\r\n return \"Asia/Damascus\";\r\n case TimeZone.America_Montreal:\r\n return \"America/Montreal\";\r\n case TimeZone.Europe_Mariehamn:\r\n return \"Europe/Mariehamn\";\r\n case TimeZone.Africa_Sao_Tome:\r\n return \"Africa/Sao_Tome\";\r\n case TimeZone.Atlantic_Reykjavik:\r\n return \"Atlantic/Reykjavik\";\r\n case TimeZone.Africa_Abidjan:\r\n return \"Africa/Abidjan\";\r\n case TimeZone.Africa_Dakar:\r\n return \"Africa/Dakar\";\r\n case TimeZone.Europe_Vienna:\r\n return \"Europe/Vienna\";\r\n case TimeZone.Europe_Paris:\r\n return \"Europe/Paris\";\r\n case TimeZone.Europe_Andorra:\r\n return \"Europe/Andorra\";\r\n case TimeZone.Asia_Kabul:\r\n return \"Asia/Kabul\";\r\n case TimeZone.America_Antigua:\r\n return \"America/Antigua\";\r\n case TimeZone.America_Anguilla:\r\n return \"America/Anguilla\";\r\n case TimeZone.Asia_Yerevan:\r\n return \"Asia/Yerevan\";\r\n case TimeZone.Africa_Luanda:\r\n return \"Africa/Luanda\";\r\n case TimeZone.Antarctica_McMurdo:\r\n return \"Antarctica/McMurdo\";\r\n case TimeZone.Antarctica_Casey:\r\n return \"Antarctica/Casey\";\r\n case TimeZone.Antarctica_Davis:\r\n return \"Antarctica/Davis\";\r\n case TimeZone.Antarctica_DumontDUrville:\r\n return \"Antarctica/DumontDUrville\";\r\n case TimeZone.Antarctica_Mawson:\r\n return \"Antarctica/Mawson\";\r\n case TimeZone.Antarctica_Palmer:\r\n return \"Antarctica/Palmer\";\r\n case TimeZone.Antarctica_Rothera:\r\n return \"Antarctica/Rothera\";\r\n case TimeZone.Antarctica_Syowa:\r\n return \"Antarctica/Syowa\";\r\n case TimeZone.Antarctica_Vostok:\r\n return \"Antarctica/Vostok\";\r\n case TimeZone.America_Argentina_Buenos_Aires:\r\n return \"America/Argentina/Buenos_Aires\";\r\n case TimeZone.America_Argentina_Cordoba:\r\n return \"America/Argentina/Cordoba\";\r\n case TimeZone.America_Argentina_Salta:\r\n return \"America/Argentina/Salta\";\r\n case TimeZone.America_Argentina_Jujuy:\r\n return \"America/Argentina/Jujuy\";\r\n case TimeZone.America_Argentina_Tucuman:\r\n return \"America/Argentina/Tucuman\";\r\n case TimeZone.America_Argentina_Catamarca:\r\n return \"America/Argentina/Catamarca\";\r\n case TimeZone.America_Argentina_La_Rioja:\r\n return \"America/Argentina/La_Rioja\";\r\n case TimeZone.America_Argentina_San_Juan:\r\n return \"America/Argentina/San_Juan\";\r\n case TimeZone.America_Argentina_Mendoza:\r\n return \"America/Argentina/Mendoza\";\r\n case TimeZone.America_Argentina_San_Luis:\r\n return \"America/Argentina/San_Luis\";\r\n case TimeZone.America_Argentina_Rio_Gallegos:\r\n return \"America/Argentina/Rio_Gallegos\";\r\n case TimeZone.America_Argentina_Ushuaia:\r\n return \"America/Argentina/Ushuaia\";\r\n case TimeZone.Pacific_Pago_Pago:\r\n return \"Pacific/Pago_Pago\";\r\n case TimeZone.Australia_Lord_Howe:\r\n return \"Australia/Lord_Howe\";\r\n case TimeZone.Antarctica_Macquarie:\r\n return \"Antarctica/Macquarie\";\r\n case TimeZone.Australia_Hobart:\r\n return \"Australia/Hobart\";\r\n case TimeZone.Australia_Melbourne:\r\n return \"Australia/Melbourne\";\r\n case TimeZone.Australia_Sydney:\r\n return \"Australia/Sydney\";\r\n case TimeZone.Australia_Broken_Hill:\r\n return \"Australia/Broken_Hill\";\r\n case TimeZone.Australia_Brisbane:\r\n return \"Australia/Brisbane\";\r\n case TimeZone.Australia_Lindeman:\r\n return \"Australia/Lindeman\";\r\n case TimeZone.Australia_Adelaide:\r\n return \"Australia/Adelaide\";\r\n case TimeZone.Australia_Darwin:\r\n return \"Australia/Darwin\";\r\n case TimeZone.Australia_Perth:\r\n return \"Australia/Perth\";\r\n case TimeZone.Australia_Eucla:\r\n return \"Australia/Eucla\";\r\n case TimeZone.America_Aruba:\r\n return \"America/Aruba\";\r\n case TimeZone.Asia_Baku:\r\n return \"Asia/Baku\";\r\n case TimeZone.Europe_Sarajevo:\r\n return \"Europe/Sarajevo\";\r\n case TimeZone.America_Barbados:\r\n return \"America/Barbados\";\r\n case TimeZone.Asia_Dhaka:\r\n return \"Asia/Dhaka\";\r\n case TimeZone.Africa_Ouagadougou:\r\n return \"Africa/Ouagadougou\";\r\n case TimeZone.Asia_Bahrain:\r\n return \"Asia/Bahrain\";\r\n case TimeZone.Africa_Bujumbura:\r\n return \"Africa/Bujumbura\";\r\n case TimeZone.Africa_Porto_Novo:\r\n return \"Africa/Porto-Novo\";\r\n case TimeZone.America_St_Barthelemy:\r\n return \"America/St_Barthelemy\";\r\n case TimeZone.Atlantic_Bermuda:\r\n return \"Atlantic/Bermuda\";\r\n case TimeZone.Asia_Brunei:\r\n return \"Asia/Brunei\";\r\n case TimeZone.America_La_Paz:\r\n return \"America/La_Paz\";\r\n case TimeZone.America_Kralendijk:\r\n return \"America/Kralendijk\";\r\n case TimeZone.America_Noronha:\r\n return \"America/Noronha\";\r\n case TimeZone.America_Belem:\r\n return \"America/Belem\";\r\n case TimeZone.America_Fortaleza:\r\n return \"America/Fortaleza\";\r\n case TimeZone.America_Recife:\r\n return \"America/Recife\";\r\n case TimeZone.America_Araguaina:\r\n return \"America/Araguaina\";\r\n case TimeZone.America_Maceio:\r\n return \"America/Maceio\";\r\n case TimeZone.America_Bahia:\r\n return \"America/Bahia\";\r\n case TimeZone.America_Sao_Paulo:\r\n return \"America/Sao_Paulo\";\r\n case TimeZone.America_Campo_Grande:\r\n return \"America/Campo_Grande\";\r\n case TimeZone.America_Cuiaba:\r\n return \"America/Cuiaba\";\r\n case TimeZone.America_Santarem:\r\n return \"America/Santarem\";\r\n case TimeZone.America_Porto_Velho:\r\n return \"America/Porto_Velho\";\r\n case TimeZone.America_Boa_Vista:\r\n return \"America/Boa_Vista\";\r\n case TimeZone.America_Manaus:\r\n return \"America/Manaus\";\r\n case TimeZone.America_Eirunepe:\r\n return \"America/Eirunepe\";\r\n case TimeZone.America_Rio_Branco:\r\n return \"America/Rio_Branco\";\r\n case TimeZone.America_Nassau:\r\n return \"America/Nassau\";\r\n case TimeZone.Asia_Thimphu:\r\n return \"Asia/Thimphu\";\r\n case TimeZone.Africa_Gaborone:\r\n return \"Africa/Gaborone\";\r\n case TimeZone.Europe_Minsk:\r\n return \"Europe/Minsk\";\r\n case TimeZone.America_Belize:\r\n return \"America/Belize\";\r\n case TimeZone.America_St_Johns:\r\n return \"America/St_Johns\";\r\n case TimeZone.America_Halifax:\r\n return \"America/Halifax\";\r\n case TimeZone.America_Glace_Bay:\r\n return \"America/Glace_Bay\";\r\n case TimeZone.America_Moncton:\r\n return \"America/Moncton\";\r\n case TimeZone.America_Goose_Bay:\r\n return \"America/Goose_Bay\";\r\n case TimeZone.America_Blanc_Sablon:\r\n return \"America/Blanc_Sablon\";\r\n case TimeZone.America_Toronto:\r\n return \"America/Toronto\";\r\n case TimeZone.America_Iqaluit:\r\n return \"America/Iqaluit\";\r\n case TimeZone.America_Atikokan:\r\n return \"America/Atikokan\";\r\n case TimeZone.America_Winnipeg:\r\n return \"America/Winnipeg\";\r\n case TimeZone.America_Resolute:\r\n return \"America/Resolute\";\r\n case TimeZone.America_Rankin_Inlet:\r\n return \"America/Rankin_Inlet\";\r\n case TimeZone.America_Regina:\r\n return \"America/Regina\";\r\n case TimeZone.America_Swift_Current:\r\n return \"America/Swift_Current\";\r\n case TimeZone.America_Edmonton:\r\n return \"America/Edmonton\";\r\n case TimeZone.America_Cambridge_Bay:\r\n return \"America/Cambridge_Bay\";\r\n case TimeZone.America_Inuvik:\r\n return \"America/Inuvik\";\r\n case TimeZone.America_Creston:\r\n return \"America/Creston\";\r\n case TimeZone.America_Dawson_Creek:\r\n return \"America/Dawson_Creek\";\r\n case TimeZone.America_Fort_Nelson:\r\n return \"America/Fort_Nelson\";\r\n case TimeZone.America_Whitehorse:\r\n return \"America/Whitehorse\";\r\n case TimeZone.America_Dawson:\r\n return \"America/Dawson\";\r\n case TimeZone.America_Vancouver:\r\n return \"America/Vancouver\";\r\n case TimeZone.Indian_Cocos:\r\n return \"Indian/Cocos\";\r\n case TimeZone.Africa_Kinshasa:\r\n return \"Africa/Kinshasa\";\r\n case TimeZone.Africa_Lubumbashi:\r\n return \"Africa/Lubumbashi\";\r\n case TimeZone.Africa_Bangui:\r\n return \"Africa/Bangui\";\r\n case TimeZone.Africa_Brazzaville:\r\n return \"Africa/Brazzaville\";\r\n case TimeZone.Pacific_Rarotonga:\r\n return \"Pacific/Rarotonga\";\r\n case TimeZone.America_Santiago:\r\n return \"America/Santiago\";\r\n case TimeZone.America_Punta_Arenas:\r\n return \"America/Punta_Arenas\";\r\n case TimeZone.Pacific_Easter:\r\n return \"Pacific/Easter\";\r\n case TimeZone.Africa_Douala:\r\n return \"Africa/Douala\";\r\n case TimeZone.America_Bogota:\r\n return \"America/Bogota\";\r\n case TimeZone.America_Costa_Rica:\r\n return \"America/Costa_Rica\";\r\n case TimeZone.America_Havana:\r\n return \"America/Havana\";\r\n case TimeZone.America_Curacao:\r\n return \"America/Curacao\";\r\n case TimeZone.Indian_Christmas:\r\n return \"Indian/Christmas\";\r\n case TimeZone.Asia_Famagusta:\r\n return \"Asia/Famagusta\";\r\n case TimeZone.Europe_Busingen:\r\n return \"Europe/Busingen\";\r\n case TimeZone.Africa_Djibouti:\r\n return \"Africa/Djibouti\";\r\n case TimeZone.America_Dominica:\r\n return \"America/Dominica\";\r\n case TimeZone.America_Santo_Domingo:\r\n return \"America/Santo_Domingo\";\r\n case TimeZone.Africa_Algiers:\r\n return \"Africa/Algiers\";\r\n case TimeZone.America_Guayaquil:\r\n return \"America/Guayaquil\";\r\n case TimeZone.Pacific_Galapagos:\r\n return \"Pacific/Galapagos\";\r\n case TimeZone.Africa_Cairo:\r\n return \"Africa/Cairo\";\r\n case TimeZone.Africa_El_Aaiun:\r\n return \"Africa/El_Aaiun\";\r\n case TimeZone.Africa_Asmara:\r\n return \"Africa/Asmara\";\r\n case TimeZone.Africa_Ceuta:\r\n return \"Africa/Ceuta\";\r\n case TimeZone.Atlantic_Canary:\r\n return \"Atlantic/Canary\";\r\n case TimeZone.Africa_Addis_Ababa:\r\n return \"Africa/Addis_Ababa\";\r\n case TimeZone.Pacific_Fiji:\r\n return \"Pacific/Fiji\";\r\n case TimeZone.Atlantic_Stanley:\r\n return \"Atlantic/Stanley\";\r\n case TimeZone.Pacific_Chuuk:\r\n return \"Pacific/Chuuk\";\r\n case TimeZone.Pacific_Pohnpei:\r\n return \"Pacific/Pohnpei\";\r\n case TimeZone.Pacific_Kosrae:\r\n return \"Pacific/Kosrae\";\r\n case TimeZone.Atlantic_Faroe:\r\n return \"Atlantic/Faroe\";\r\n case TimeZone.Africa_Libreville:\r\n return \"Africa/Libreville\";\r\n case TimeZone.America_Grenada:\r\n return \"America/Grenada\";\r\n case TimeZone.America_Cayenne:\r\n return \"America/Cayenne\";\r\n case TimeZone.Europe_Guernsey:\r\n return \"Europe/Guernsey\";\r\n case TimeZone.Africa_Accra:\r\n return \"Africa/Accra\";\r\n case TimeZone.Europe_Gibraltar:\r\n return \"Europe/Gibraltar\";\r\n case TimeZone.America_Nuuk:\r\n return \"America/Nuuk\";\r\n case TimeZone.America_Danmarkshavn:\r\n return \"America/Danmarkshavn\";\r\n case TimeZone.America_Scoresbysund:\r\n return \"America/Scoresbysund\";\r\n case TimeZone.America_Thule:\r\n return \"America/Thule\";\r\n case TimeZone.Africa_Banjul:\r\n return \"Africa/Banjul\";\r\n case TimeZone.Africa_Conakry:\r\n return \"Africa/Conakry\";\r\n case TimeZone.America_Guadeloupe:\r\n return \"America/Guadeloupe\";\r\n case TimeZone.Africa_Malabo:\r\n return \"Africa/Malabo\";\r\n case TimeZone.Atlantic_South_Georgia:\r\n return \"Atlantic/South_Georgia\";\r\n case TimeZone.America_Guatemala:\r\n return \"America/Guatemala\";\r\n case TimeZone.Pacific_Guam:\r\n return \"Pacific/Guam\";\r\n case TimeZone.Africa_Bissau:\r\n return \"Africa/Bissau\";\r\n case TimeZone.America_Guyana:\r\n return \"America/Guyana\";\r\n case TimeZone.America_Tegucigalpa:\r\n return \"America/Tegucigalpa\";\r\n case TimeZone.Europe_Zagreb:\r\n return \"Europe/Zagreb\";\r\n case TimeZone.America_Port_au_Prince:\r\n return \"America/Port_au_Prince\";\r\n case TimeZone.Asia_Pontianak:\r\n return \"Asia/Pontianak\";\r\n case TimeZone.Asia_Makassar:\r\n return \"Asia/Makassar\";\r\n case TimeZone.Asia_Jayapura:\r\n return \"Asia/Jayapura\";\r\n case TimeZone.Europe_Isle_of_Man:\r\n return \"Europe/Isle_of_Man\";\r\n case TimeZone.Indian_Chagos:\r\n return \"Indian/Chagos\";\r\n case TimeZone.Asia_Baghdad:\r\n return \"Asia/Baghdad\";\r\n case TimeZone.Asia_Tehran:\r\n return \"Asia/Tehran\";\r\n case TimeZone.Europe_Jersey:\r\n return \"Europe/Jersey\";\r\n case TimeZone.America_Jamaica:\r\n return \"America/Jamaica\";\r\n case TimeZone.Africa_Nairobi:\r\n return \"Africa/Nairobi\";\r\n case TimeZone.Asia_Bishkek:\r\n return \"Asia/Bishkek\";\r\n case TimeZone.Pacific_Tarawa:\r\n return \"Pacific/Tarawa\";\r\n case TimeZone.Pacific_Kiritimati:\r\n return \"Pacific/Kiritimati\";\r\n case TimeZone.Indian_Comoro:\r\n return \"Indian/Comoro\";\r\n case TimeZone.America_St_Kitts:\r\n return \"America/St_Kitts\";\r\n case TimeZone.Asia_Pyongyang:\r\n return \"Asia/Pyongyang\";\r\n case TimeZone.Asia_Kuwait:\r\n return \"Asia/Kuwait\";\r\n case TimeZone.America_Cayman:\r\n return \"America/Cayman\";\r\n case TimeZone.Asia_Almaty:\r\n return \"Asia/Almaty\";\r\n case TimeZone.Asia_Qyzylorda:\r\n return \"Asia/Qyzylorda\";\r\n case TimeZone.Asia_Qostanay:\r\n return \"Asia/Qostanay\";\r\n case TimeZone.Asia_Aqtobe:\r\n return \"Asia/Aqtobe\";\r\n case TimeZone.Asia_Aqtau:\r\n return \"Asia/Aqtau\";\r\n case TimeZone.Asia_Atyrau:\r\n return \"Asia/Atyrau\";\r\n case TimeZone.Asia_Oral:\r\n return \"Asia/Oral\";\r\n case TimeZone.Asia_Vientiane:\r\n return \"Asia/Vientiane\";\r\n case TimeZone.America_St_Lucia:\r\n return \"America/St_Lucia\";\r\n case TimeZone.Europe_Vaduz:\r\n return \"Europe/Vaduz\";\r\n case TimeZone.Africa_Monrovia:\r\n return \"Africa/Monrovia\";\r\n case TimeZone.Africa_Maseru:\r\n return \"Africa/Maseru\";\r\n case TimeZone.Africa_Tripoli:\r\n return \"Africa/Tripoli\";\r\n case TimeZone.Europe_Monaco:\r\n return \"Europe/Monaco\";\r\n case TimeZone.Europe_Chisinau:\r\n return \"Europe/Chisinau\";\r\n case TimeZone.Europe_Podgorica:\r\n return \"Europe/Podgorica\";\r\n case TimeZone.America_Marigot:\r\n return \"America/Marigot\";\r\n case TimeZone.Indian_Antananarivo:\r\n return \"Indian/Antananarivo\";\r\n case TimeZone.Pacific_Majuro:\r\n return \"Pacific/Majuro\";\r\n case TimeZone.Pacific_Kwajalein:\r\n return \"Pacific/Kwajalein\";\r\n case TimeZone.Europe_Skopje:\r\n return \"Europe/Skopje\";\r\n case TimeZone.Africa_Bamako:\r\n return \"Africa/Bamako\";\r\n case TimeZone.Asia_Yangon:\r\n return \"Asia/Yangon\";\r\n case TimeZone.Asia_Ulaanbaatar:\r\n return \"Asia/Ulaanbaatar\";\r\n case TimeZone.Asia_Hovd:\r\n return \"Asia/Hovd\";\r\n case TimeZone.Asia_Macau:\r\n return \"Asia/Macau\";\r\n case TimeZone.Pacific_Saipan:\r\n return \"Pacific/Saipan\";\r\n case TimeZone.America_Martinique:\r\n return \"America/Martinique\";\r\n case TimeZone.Africa_Nouakchott:\r\n return \"Africa/Nouakchott\";\r\n case TimeZone.America_Montserrat:\r\n return \"America/Montserrat\";\r\n case TimeZone.Europe_Malta:\r\n return \"Europe/Malta\";\r\n case TimeZone.Indian_Mauritius:\r\n return \"Indian/Mauritius\";\r\n case TimeZone.Africa_Blantyre:\r\n return \"Africa/Blantyre\";\r\n case TimeZone.America_Mexico_City:\r\n return \"America/Mexico_City\";\r\n case TimeZone.America_Cancun:\r\n return \"America/Cancun\";\r\n case TimeZone.America_Merida:\r\n return \"America/Merida\";\r\n case TimeZone.America_Monterrey:\r\n return \"America/Monterrey\";\r\n case TimeZone.America_Matamoros:\r\n return \"America/Matamoros\";\r\n case TimeZone.America_Chihuahua:\r\n return \"America/Chihuahua\";\r\n case TimeZone.America_Ojinaga:\r\n return \"America/Ojinaga\";\r\n case TimeZone.America_Mazatlan:\r\n return \"America/Mazatlan\";\r\n case TimeZone.America_Bahia_Banderas:\r\n return \"America/Bahia_Banderas\";\r\n case TimeZone.America_Hermosillo:\r\n return \"America/Hermosillo\";\r\n case TimeZone.America_Tijuana:\r\n return \"America/Tijuana\";\r\n case TimeZone.Asia_Kuching:\r\n return \"Asia/Kuching\";\r\n case TimeZone.Africa_Maputo:\r\n return \"Africa/Maputo\";\r\n case TimeZone.Africa_Windhoek:\r\n return \"Africa/Windhoek\";\r\n case TimeZone.Pacific_Noumea:\r\n return \"Pacific/Noumea\";\r\n case TimeZone.Africa_Niamey:\r\n return \"Africa/Niamey\";\r\n case TimeZone.Pacific_Norfolk:\r\n return \"Pacific/Norfolk\";\r\n case TimeZone.Africa_Lagos:\r\n return \"Africa/Lagos\";\r\n case TimeZone.America_Managua:\r\n return \"America/Managua\";\r\n case TimeZone.Asia_Kathmandu:\r\n return \"Asia/Kathmandu\";\r\n case TimeZone.Pacific_Nauru:\r\n return \"Pacific/Nauru\";\r\n case TimeZone.Pacific_Niue:\r\n return \"Pacific/Niue\";\r\n case TimeZone.Pacific_Auckland:\r\n return \"Pacific/Auckland\";\r\n case TimeZone.Pacific_Chatham:\r\n return \"Pacific/Chatham\";\r\n case TimeZone.America_Panama:\r\n return \"America/Panama\";\r\n case TimeZone.America_Lima:\r\n return \"America/Lima\";\r\n case TimeZone.Pacific_Tahiti:\r\n return \"Pacific/Tahiti\";\r\n case TimeZone.Pacific_Marquesas:\r\n return \"Pacific/Marquesas\";\r\n case TimeZone.Pacific_Gambier:\r\n return \"Pacific/Gambier\";\r\n case TimeZone.Pacific_Port_Moresby:\r\n return \"Pacific/Port_Moresby\";\r\n case TimeZone.Pacific_Bougainville:\r\n return \"Pacific/Bougainville\";\r\n case TimeZone.Asia_Manila:\r\n return \"Asia/Manila\";\r\n case TimeZone.America_Miquelon:\r\n return \"America/Miquelon\";\r\n case TimeZone.Pacific_Pitcairn:\r\n return \"Pacific/Pitcairn\";\r\n case TimeZone.America_Puerto_Rico:\r\n return \"America/Puerto_Rico\";\r\n case TimeZone.Asia_Gaza:\r\n return \"Asia/Gaza\";\r\n case TimeZone.Asia_Hebron:\r\n return \"Asia/Hebron\";\r\n case TimeZone.Atlantic_Madeira:\r\n return \"Atlantic/Madeira\";\r\n case TimeZone.Atlantic_Azores:\r\n return \"Atlantic/Azores\";\r\n case TimeZone.Pacific_Palau:\r\n return \"Pacific/Palau\";\r\n case TimeZone.America_Asuncion:\r\n return \"America/Asuncion\";\r\n case TimeZone.Asia_Qatar:\r\n return \"Asia/Qatar\";\r\n case TimeZone.Indian_Reunion:\r\n return \"Indian/Reunion\";\r\n case TimeZone.Europe_Belgrade:\r\n return \"Europe/Belgrade\";\r\n case TimeZone.Europe_Kaliningrad:\r\n return \"Europe/Kaliningrad\";\r\n case TimeZone.Europe_Moscow:\r\n return \"Europe/Moscow\";\r\n case TimeZone.Europe_Simferopol:\r\n return \"Europe/Simferopol\";\r\n case TimeZone.Europe_Kirov:\r\n return \"Europe/Kirov\";\r\n case TimeZone.Europe_Volgograd:\r\n return \"Europe/Volgograd\";\r\n case TimeZone.Europe_Astrakhan:\r\n return \"Europe/Astrakhan\";\r\n case TimeZone.Europe_Saratov:\r\n return \"Europe/Saratov\";\r\n case TimeZone.Europe_Ulyanovsk:\r\n return \"Europe/Ulyanovsk\";\r\n case TimeZone.Europe_Samara:\r\n return \"Europe/Samara\";\r\n case TimeZone.Asia_Yekaterinburg:\r\n return \"Asia/Yekaterinburg\";\r\n case TimeZone.Asia_Omsk:\r\n return \"Asia/Omsk\";\r\n case TimeZone.Asia_Novosibirsk:\r\n return \"Asia/Novosibirsk\";\r\n case TimeZone.Asia_Barnaul:\r\n return \"Asia/Barnaul\";\r\n case TimeZone.Asia_Tomsk:\r\n return \"Asia/Tomsk\";\r\n case TimeZone.Asia_Novokuznetsk:\r\n return \"Asia/Novokuznetsk\";\r\n case TimeZone.Asia_Krasnoyarsk:\r\n return \"Asia/Krasnoyarsk\";\r\n case TimeZone.Asia_Irkutsk:\r\n return \"Asia/Irkutsk\";\r\n case TimeZone.Asia_Chita:\r\n return \"Asia/Chita\";\r\n case TimeZone.Asia_Yakutsk:\r\n return \"Asia/Yakutsk\";\r\n case TimeZone.Asia_Khandyga:\r\n return \"Asia/Khandyga\";\r\n case TimeZone.Asia_Vladivostok:\r\n return \"Asia/Vladivostok\";\r\n case TimeZone.Asia_Ust_Nera:\r\n return \"Asia/Ust-Nera\";\r\n case TimeZone.Asia_Magadan:\r\n return \"Asia/Magadan\";\r\n case TimeZone.Asia_Sakhalin:\r\n return \"Asia/Sakhalin\";\r\n case TimeZone.Asia_Srednekolymsk:\r\n return \"Asia/Srednekolymsk\";\r\n case TimeZone.Asia_Kamchatka:\r\n return \"Asia/Kamchatka\";\r\n case TimeZone.Asia_Anadyr:\r\n return \"Asia/Anadyr\";\r\n case TimeZone.Africa_Kigali:\r\n return \"Africa/Kigali\";\r\n case TimeZone.Pacific_Guadalcanal:\r\n return \"Pacific/Guadalcanal\";\r\n case TimeZone.Indian_Mahe:\r\n return \"Indian/Mahe\";\r\n case TimeZone.Atlantic_St_Helena:\r\n return \"Atlantic/St_Helena\";\r\n case TimeZone.Arctic_Longyearbyen:\r\n return \"Arctic/Longyearbyen\";\r\n case TimeZone.Africa_Freetown:\r\n return \"Africa/Freetown\";\r\n case TimeZone.Europe_San_Marino:\r\n return \"Europe/San_Marino\";\r\n case TimeZone.Africa_Mogadishu:\r\n return \"Africa/Mogadishu\";\r\n case TimeZone.America_Paramaribo:\r\n return \"America/Paramaribo\";\r\n case TimeZone.Africa_Juba:\r\n return \"Africa/Juba\";\r\n case TimeZone.America_El_Salvador:\r\n return \"America/El_Salvador\";\r\n case TimeZone.America_Lower_Princes:\r\n return \"America/Lower_Princes\";\r\n case TimeZone.Africa_Mbabane:\r\n return \"Africa/Mbabane\";\r\n case TimeZone.America_Grand_Turk:\r\n return \"America/Grand_Turk\";\r\n case TimeZone.Africa_Ndjamena:\r\n return \"Africa/Ndjamena\";\r\n case TimeZone.Indian_Kerguelen:\r\n return \"Indian/Kerguelen\";\r\n case TimeZone.Africa_Lome:\r\n return \"Africa/Lome\";\r\n case TimeZone.Asia_Dushanbe:\r\n return \"Asia/Dushanbe\";\r\n case TimeZone.Pacific_Fakaofo:\r\n return \"Pacific/Fakaofo\";\r\n case TimeZone.Asia_Dili:\r\n return \"Asia/Dili\";\r\n case TimeZone.Asia_Ashgabat:\r\n return \"Asia/Ashgabat\";\r\n case TimeZone.Pacific_Tongatapu:\r\n return \"Pacific/Tongatapu\";\r\n case TimeZone.America_Port_of_Spain:\r\n return \"America/Port_of_Spain\";\r\n case TimeZone.Pacific_Funafuti:\r\n return \"Pacific/Funafuti\";\r\n case TimeZone.Africa_Dar_es_Salaam:\r\n return \"Africa/Dar_es_Salaam\";\r\n case TimeZone.Europe_Kyiv:\r\n return \"Europe/Kyiv\";\r\n case TimeZone.Africa_Kampala:\r\n return \"Africa/Kampala\";\r\n case TimeZone.Pacific_Midway:\r\n return \"Pacific/Midway\";\r\n case TimeZone.Pacific_Wake:\r\n return \"Pacific/Wake\";\r\n case TimeZone.America_Kentucky_Louisville:\r\n return \"America/Kentucky/Louisville\";\r\n case TimeZone.America_Kentucky_Monticello:\r\n return \"America/Kentucky/Monticello\";\r\n case TimeZone.America_Indiana_Vincennes:\r\n return \"America/Indiana/Vincennes\";\r\n case TimeZone.America_Indiana_Winamac:\r\n return \"America/Indiana/Winamac\";\r\n case TimeZone.America_Indiana_Marengo:\r\n return \"America/Indiana/Marengo\";\r\n case TimeZone.America_Indiana_Petersburg:\r\n return \"America/Indiana/Petersburg\";\r\n case TimeZone.America_Indiana_Vevay:\r\n return \"America/Indiana/Vevay\";\r\n case TimeZone.America_Indiana_Tell_City:\r\n return \"America/Indiana/Tell_City\";\r\n case TimeZone.America_Indiana_Knox:\r\n return \"America/Indiana/Knox\";\r\n case TimeZone.America_Menominee:\r\n return \"America/Menominee\";\r\n case TimeZone.America_North_Dakota_Center:\r\n return \"America/North_Dakota/Center\";\r\n case TimeZone.America_North_Dakota_New_Salem:\r\n return \"America/North_Dakota/New_Salem\";\r\n case TimeZone.America_North_Dakota_Beulah:\r\n return \"America/North_Dakota/Beulah\";\r\n case TimeZone.America_Boise:\r\n return \"America/Boise\";\r\n case TimeZone.America_Phoenix:\r\n return \"America/Phoenix\";\r\n case TimeZone.America_Anchorage:\r\n return \"America/Anchorage\";\r\n case TimeZone.America_Juneau:\r\n return \"America/Juneau\";\r\n case TimeZone.America_Sitka:\r\n return \"America/Sitka\";\r\n case TimeZone.America_Metlakatla:\r\n return \"America/Metlakatla\";\r\n case TimeZone.America_Yakutat:\r\n return \"America/Yakutat\";\r\n case TimeZone.America_Nome:\r\n return \"America/Nome\";\r\n case TimeZone.America_Adak:\r\n return \"America/Adak\";\r\n case TimeZone.Pacific_Honolulu:\r\n return \"Pacific/Honolulu\";\r\n case TimeZone.America_Montevideo:\r\n return \"America/Montevideo\";\r\n case TimeZone.Asia_Samarkand:\r\n return \"Asia/Samarkand\";\r\n case TimeZone.Asia_Tashkent:\r\n return \"Asia/Tashkent\";\r\n case TimeZone.Europe_Vatican:\r\n return \"Europe/Vatican\";\r\n case TimeZone.America_St_Vincent:\r\n return \"America/St_Vincent\";\r\n case TimeZone.America_Caracas:\r\n return \"America/Caracas\";\r\n case TimeZone.America_Tortola:\r\n return \"America/Tortola\";\r\n case TimeZone.America_St_Thomas:\r\n return \"America/St_Thomas\";\r\n case TimeZone.Pacific_Efate:\r\n return \"Pacific/Efate\";\r\n case TimeZone.Pacific_Wallis:\r\n return \"Pacific/Wallis\";\r\n case TimeZone.Pacific_Apia:\r\n return \"Pacific/Apia\";\r\n case TimeZone.Indian_Mayotte:\r\n return \"Indian/Mayotte\";\r\n case TimeZone.Africa_Johannesburg:\r\n return \"Africa/Johannesburg\";\r\n case TimeZone.Africa_Lusaka:\r\n return \"Africa/Lusaka\";\r\n case TimeZone.Africa_Harare:\r\n return \"Africa/Harare\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n","import Vue from \"vue\";\r\nimport en from \"./dev/cld.json\";\r\nimport sv from \"./sv-SE/cld.json\";\r\nimport fi from \"./fi-FI/cld.json\";\r\nimport no from \"./nb-NO/cld.json\";\r\nimport VueI18n from \"vue-i18n\";\r\nimport { Culture } from \"../cld.api\";\r\n\r\nVue.use(VueI18n);\r\nconst defaultLocale = Culture.English;\r\nconst messages = Object.assign({\r\n [Culture.English]: en,\r\n [Culture.Swedish]: sv,\r\n [Culture.Finnish]: fi,\r\n [Culture.Norwegian]: no\r\n});\r\nconst i18n = new VueI18n({\r\n locale: defaultLocale.toString(),\r\n fallbackLocale: defaultLocale.toString(),\r\n messages\r\n});\r\n\r\ninterface Lang {\r\n locale: Culture;\r\n image: any;\r\n code: string;\r\n shortCode: string;\r\n priorities: Culture[];\r\n}\r\n\r\nconst langs: Lang[] = [\r\n {\r\n locale: Culture.English,\r\n image: require(\"@/assets/img/en-US.svg\"),\r\n code: \"en-US\",\r\n shortCode: \"EN\",\r\n priorities: [\r\n Culture.English,\r\n Culture.Swedish,\r\n Culture.Norwegian,\r\n Culture.Finnish\r\n ]\r\n },\r\n {\r\n locale: Culture.Swedish,\r\n image: require(\"@/assets/img/sv-SE.svg\"),\r\n code: \"sv-SE\",\r\n shortCode: \"SV\",\r\n priorities: [\r\n Culture.Swedish,\r\n Culture.English,\r\n Culture.Norwegian,\r\n Culture.Finnish\r\n ]\r\n },\r\n {\r\n locale: Culture.Finnish,\r\n image: require(\"@/assets/img/fi-FI.svg\"),\r\n code: \"fi-FI\",\r\n shortCode: \"FI\",\r\n priorities: [\r\n Culture.Finnish,\r\n Culture.English,\r\n Culture.Swedish,\r\n Culture.Norwegian\r\n ]\r\n },\r\n {\r\n locale: Culture.Norwegian,\r\n image: require(\"@/assets/img/nb-NO.svg\"),\r\n code: \"nb-NO\",\r\n shortCode: \"NO\",\r\n priorities: [\r\n Culture.Norwegian,\r\n Culture.English,\r\n Culture.Swedish,\r\n Culture.Finnish\r\n ]\r\n }\r\n];\r\n\r\nfunction localeCode(): string {\r\n return langs.find(l => l.locale.toString() === i18n.locale)!.code;\r\n}\r\n\r\nfunction t(key: string): string {\r\n return i18n.t(key).toString();\r\n}\r\n\r\nconst bestLang = (locales: Culture[]): Lang => {\r\n const lang = langs.find(l => l.locale.toString() === i18n.locale)!;\r\n let bestLocale = Culture.English;\r\n for (const p of lang.priorities) {\r\n if (locales.includes(p)) {\r\n bestLocale = p;\r\n break;\r\n }\r\n }\r\n return langs.find(l => l.locale === bestLocale)!;\r\n};\r\n\r\nexport { i18n, t, langs, defaultLocale, localeCode, bestLang };\r\n","import {\r\n UserLevel,\r\n ActorType,\r\n CargoType,\r\n ContactType,\r\n Country,\r\n CountryISO,\r\n Culture,\r\n Currency,\r\n DeviationCause,\r\n DocType,\r\n FeeType,\r\n FuelIndexType,\r\n InvoiceReportTreatedStatus,\r\n LoadAppendixType,\r\n LoadFilterDaysBack,\r\n LoadFilterDaysForward,\r\n LoadStatus,\r\n MessageType,\r\n OtherPriceCause,\r\n PublishSpeed,\r\n RankingMethod,\r\n RankingType,\r\n RoutingExactness,\r\n TriggerState,\r\n TruckType,\r\n Notification,\r\n NotificationGroup,\r\n NotificationUserInterfaceGroup,\r\n LoadFilterDateType,\r\n PublishRuleType,\r\n DayType,\r\n CostForecastRankMethod,\r\n StandardPhraseType,\r\n AgreementHistoryType\r\n} from \"@/scripts/cld.api\";\r\nimport zoneName from \"@/scripts/misc/zoneNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nexport { zoneName };\r\n\r\nexport const actorTypeName = (x: ActorType): string => {\r\n switch (x) {\r\n case ActorType.Client:\r\n return t(\"Client\");\r\n case ActorType.Supplier:\r\n return t(\"Supplier\");\r\n case ActorType.Terminal:\r\n return t(\"Terminal\");\r\n case ActorType.Customer:\r\n return t(\"Customer\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const actorTypeIcon = (x: ActorType): string => {\r\n switch (x) {\r\n case ActorType.Client:\r\n return \"mdi-saw-blade\";\r\n case ActorType.Supplier:\r\n return \"mdi-truck-fast\";\r\n case ActorType.Terminal:\r\n return \"mdi-lifebuoy\";\r\n case ActorType.Customer:\r\n return \"mdi-store\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const cargoTypeName = (x: CargoType): string => {\r\n return t(cargoTypeNameTag(x));\r\n};\r\n\r\nexport const cargoTypeNameTag = (x: CargoType): string => {\r\n switch (x) {\r\n case CargoType.Road:\r\n return \"Road\";\r\n case CargoType.Railroad:\r\n return \"Railroad\";\r\n case CargoType.Container:\r\n return \"Container\";\r\n case CargoType.MachineTransport:\r\n return \"MachineTransport\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const cargoTypeIcon = (x: CargoType): string => {\r\n switch (x) {\r\n case CargoType.Road:\r\n return \"mdi-truck\";\r\n case CargoType.Railroad:\r\n return \"mdi-train\";\r\n case CargoType.Container:\r\n return \"mdi-ferry\";\r\n case CargoType.MachineTransport:\r\n return \"mdi-excavator\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const standardPhraseTypeName = (x: StandardPhraseType): string => {\r\n return t(standardPhraseTypeNameTag(x));\r\n};\r\n\r\nexport const standardPhraseTypeNameTag = (x: StandardPhraseType): string => {\r\n switch (x) {\r\n case StandardPhraseType.Note:\r\n return \"Note\";\r\n case StandardPhraseType.PickupInfo:\r\n return \"PickupInformation\";\r\n case StandardPhraseType.DestinationInfo:\r\n return \"DestinationInformation\";\r\n case StandardPhraseType.ContentInfo:\r\n return \"ContentInformation\";\r\n case StandardPhraseType.SpecialRequirement:\r\n return \"SpecialRequirements\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const standardPhraseTypeIcon = (x: StandardPhraseType): string => {\r\n switch (x) {\r\n case StandardPhraseType.Note:\r\n return \"mdi-truck\";\r\n case StandardPhraseType.PickupInfo:\r\n return \"mdi-tray-arrow-up\";\r\n case StandardPhraseType.DestinationInfo:\r\n return \"mdi-tray-arrow-down\";\r\n case StandardPhraseType.ContentInfo:\r\n return \"mdi-ferry\";\r\n case StandardPhraseType.SpecialRequirement:\r\n return \"mdi-exclamation-thick\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const truckTypeName = (x: TruckType): string => {\r\n switch (x) {\r\n case TruckType.TruckAndWagon:\r\n return t(\"TruckTypeTruckAndWagon\");\r\n case TruckType.Truck:\r\n return t(\"TruckTypeTruck\");\r\n case TruckType.Wagon:\r\n return t(\"TruckTypeWagon\");\r\n case TruckType.Trailer25:\r\n return t(\"TruckTypeTrailer\");\r\n case TruckType.Trailer30:\r\n return t(\"TruckTypeTrailer30\");\r\n\r\n case TruckType.TwoShaft:\r\n return t(\"TruckTypeRailRoad2Shaft\");\r\n case TruckType.FourShaft:\r\n return t(\"TruckTypeRailRoad4Shaft\");\r\n case TruckType.FourShaftOpen:\r\n return t(\"TruckTypeRailRoad4ShaftOpen\");\r\n\r\n case TruckType.Container20:\r\n return t(\"TruckTypeContainer20\");\r\n case TruckType.Container40:\r\n return t(\"TruckTypeContainer40\");\r\n case TruckType.Container40HC:\r\n return t(\"TruckTypeContainer40HC\");\r\n case TruckType.Container45HC:\r\n return t(\"TruckTypeContainer45HC\");\r\n\r\n case TruckType.TruckType10:\r\n return t(\"TruckType10\");\r\n case TruckType.TruckType20:\r\n return t(\"TruckType20\");\r\n case TruckType.TruckType30:\r\n return t(\"TruckType30\");\r\n case TruckType.TruckType40:\r\n return t(\"TruckType40\");\r\n case TruckType.TruckType50:\r\n return t(\"TruckType50\");\r\n case TruckType.TruckType60:\r\n return t(\"TruckType60\");\r\n case TruckType.TruckType70:\r\n return t(\"TruckType70\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const loadStatusName = (x: LoadStatus): string => {\r\n switch (x) {\r\n case LoadStatus.Ordered:\r\n return t(\"Ordered\");\r\n case LoadStatus.Booked:\r\n return t(\"Booked\");\r\n case LoadStatus.Annulled:\r\n return t(\"Annulled\");\r\n case LoadStatus.Loaded:\r\n return t(\"Loaded\");\r\n case LoadStatus.MissingAgreement:\r\n return t(\"MissingAgreement\");\r\n case LoadStatus.Delivered:\r\n return t(\"Delivered\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const loadStatusIcon = (x: LoadStatus, spotTender?: boolean): string => {\r\n switch (x) {\r\n case LoadStatus.Ordered:\r\n if (spotTender) {\r\n return \"mdi-book-search-outline\";\r\n }\r\n return \"mdi-plus\";\r\n case LoadStatus.Booked:\r\n return \"mdi-book-check-outline\";\r\n case LoadStatus.Annulled:\r\n return \"mdi-trash-can-outline\";\r\n case LoadStatus.Loaded:\r\n return \"mdi-tray-arrow-down\";\r\n case LoadStatus.MissingAgreement:\r\n return \"mdi-alert-octagon\";\r\n case LoadStatus.Delivered:\r\n return \"mdi-tray-arrow-up\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const currencyName = (x: Currency): string => {\r\n switch (x) {\r\n case Currency.SEK:\r\n return \"SEK\";\r\n case Currency.EUR:\r\n return \"EUR\";\r\n case Currency.GBP:\r\n return \"GBP\";\r\n case Currency.NOK:\r\n return \"NOK\";\r\n case Currency.USD:\r\n return \"USD\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const isoName = (country: CountryISO | Country): string => {\r\n return CountryISO[(country as any) as CountryISO];\r\n};\r\n\r\nexport const appendixName = (x: LoadAppendixType): string => {\r\n switch (x) {\r\n case LoadAppendixType.PackageSpec:\r\n return t(\"PackageSpecification\");\r\n case LoadAppendixType.ConsigneeInfo:\r\n return t(\"ConsigneeInformation\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const deviationCauseName = (x: DeviationCause): string => {\r\n switch (x) {\r\n case DeviationCause.Forced:\r\n return t(\"Forced\");\r\n case DeviationCause.Price:\r\n return t(\"Price\");\r\n case DeviationCause.DeliveryTime:\r\n return t(\"DeliveryTime\");\r\n case DeviationCause.SpotTender:\r\n return t(\"SpotTender\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const otherPriceCauseName = (x: OtherPriceCause): string => {\r\n switch (x) {\r\n case OtherPriceCause.Express:\r\n return t(\"Express\");\r\n case OtherPriceCause.ReturnShipping:\r\n return t(\"ReturnShipping\");\r\n case OtherPriceCause.MissingAgreement:\r\n return t(\"MissingAgreement\");\r\n case OtherPriceCause.SpotTender:\r\n return t(\"SpotTender\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const cultureName = (x: Culture): string => {\r\n switch (x) {\r\n case Culture.English:\r\n return t(\"English\");\r\n case Culture.Finnish:\r\n return t(\"FinnishLanguage\");\r\n case Culture.Norwegian:\r\n return t(\"Norwegian\");\r\n case Culture.Swedish:\r\n return t(\"Swedish\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const contactTypeName = (x: ContactType): string => {\r\n switch (x) {\r\n case ContactType.Email:\r\n return t(\"Email\");\r\n case ContactType.Sms:\r\n return \"SMS\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const feeTypeName = (x: FeeType): string => {\r\n switch (x) {\r\n case FeeType.RoadShort:\r\n return t(\"FeeTypeRoadShort\");\r\n case FeeType.RoadLong:\r\n return t(\"FeeTypeRoadLong\");\r\n case FeeType.Railroad:\r\n return t(\"FeeTypeRailroad\");\r\n case FeeType.Container:\r\n return t(\"FeeTypeContainer\");\r\n case FeeType.MachineTransport:\r\n return t(\"FeeTypeMachineTransport\");\r\n case FeeType.SupplierEntranceFee:\r\n return t(\"FeeTypeSupplierEntranceFee\");\r\n case FeeType.SupplierFirstUser:\r\n return t(\"FeeTypeSupplierFirstUser\");\r\n case FeeType.SupplierAdditionalUser:\r\n return t(\"FeeTypeSupplierAdditionalUser\");\r\n case FeeType.ClientLight:\r\n return t(\"FeeTypeClientLight\");\r\n case FeeType.ClientSmall:\r\n return t(\"FeeTypeClientSmall\");\r\n case FeeType.ClientMedium:\r\n return t(\"FeeTypeClientMedium\");\r\n case FeeType.ClientLarge:\r\n return t(\"FeeTypeClientLarge\");\r\n case FeeType.ClientPremium:\r\n return t(\"FeeTypeClientPremium\");\r\n case FeeType.AdditionalServices:\r\n return t(\"AdditionalServices\");\r\n case FeeType.TravelTime:\r\n return t(\"TravelTime\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const rankingMethodName = (x: RankingMethod): string => {\r\n switch (x) {\r\n case RankingMethod.NoAutomaticRanking:\r\n return t(\"NoAutomaticRanking\");\r\n case RankingMethod.Price:\r\n return t(\"Price\");\r\n case RankingMethod.QualityPoints:\r\n return t(\"QualityPoints\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const dayTypeName = (x: DayType): string => {\r\n switch (x) {\r\n case DayType.WeekDay:\r\n return `${t(\"MondayShort\")} - ${t(\"FridayShort\")}`;\r\n case DayType.Saturday:\r\n return t(\"Saturdays\");\r\n case DayType.Sunday:\r\n return t(\"Sundays\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const userLevelName = (x: UserLevel): string => {\r\n switch (x) {\r\n case UserLevel.Integration:\r\n return \"Integration\";\r\n case UserLevel.Viewer:\r\n return \"Viewer\";\r\n case UserLevel.User:\r\n return \"User\";\r\n case UserLevel.Admin:\r\n return \"Admin\";\r\n case UserLevel.SuperAdmin:\r\n return \"SuperAdmin\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const notificationGroupName = (x: NotificationGroup): string => {\r\n switch (x) {\r\n case NotificationGroup.Procurement:\r\n return t(\"Procurements\");\r\n case NotificationGroup.Agreement:\r\n return t(\"Agreements\");\r\n case NotificationGroup.Load:\r\n return t(\"LoadsWithUppercaseL\");\r\n case NotificationGroup.Index:\r\n return t(\"Index\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const notificationName = (x: Notification): string => {\r\n switch (x) {\r\n case Notification.ProcurementCreatedExtended:\r\n return t(\"NewAndAlteredProcurements\");\r\n case Notification.ProcurementNewPrice:\r\n return t(\"PriceOffered\");\r\n case Notification.ProcurementDeclinedPrice:\r\n return t(\"PriceDeclined\");\r\n case Notification.AgreementCreated:\r\n return t(\"AgreementCreated\");\r\n case Notification.AgreementEdited:\r\n return t(\"AgreementEdited\");\r\n case Notification.LoadOrdered:\r\n return t(\"NewLoads\");\r\n case Notification.LoadBooked:\r\n return t(\"BookedLoads\");\r\n case Notification.LoadUnbooked:\r\n return t(\"CanceledLoads\");\r\n case Notification.LoadLoaded:\r\n return t(\"LoadedLoads\");\r\n case Notification.LoadDelivered:\r\n return t(\"DeliveredLoads\");\r\n case Notification.LoadSpotTender:\r\n return t(\"SpotTenders\");\r\n case Notification.LoadAnnulled:\r\n return t(\"AnnulledLoads\");\r\n case Notification.LoadMissingAgreement:\r\n return t(\"LoadsWithoutAgreements\");\r\n case Notification.LoadNotLoaded:\r\n return t(\"LoadNotLoaded\");\r\n case Notification.LoadRelatedOrdered:\r\n return `${t(\"NewLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadRelatedBooked:\r\n return `${t(\"BookedLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadRelatedUnbooked:\r\n return `${t(\"CanceledLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadRelatedLoaded:\r\n return `${t(\"LoadedLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadRelatedDelivered:\r\n return `${t(\"DeliveredLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadRelatedEdit:\r\n return `${t(\"EditedLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadRelatedAnnulled:\r\n return `${t(\"AnnulledLoads\")} (${t(\"RelatedLoads\")})`;\r\n case Notification.LoadEditPickupEarliest:\r\n return t(\"PickupEarliest\");\r\n case Notification.LoadEditPickupLatest:\r\n return t(\"PickupLatest\");\r\n case Notification.LoadEditDeliverEarliest:\r\n return t(\"DeliveryEarliest\");\r\n case Notification.LoadEditDeliverLatest:\r\n return t(\"DeliveryLatest\");\r\n case Notification.LoadEditConsignmentNote:\r\n return t(\"ConsignmentNote\");\r\n case Notification.LoadEditUnit:\r\n return t(\"Unit\");\r\n case Notification.LoadEditLoadOrderNo:\r\n return t(\"LoadOrderNo\");\r\n case Notification.LoadEditReferenceNo:\r\n return t(\"ReferenceNo\");\r\n case Notification.LoadEditTransportNo:\r\n return t(\"TransportNo\");\r\n case Notification.LoadEditBookingNo:\r\n return t(\"BookingNo\");\r\n case Notification.LoadEditTruckNo:\r\n return t(\"TruckNo\");\r\n case Notification.LoadEditBookedPickupDate:\r\n return t(\"BookedPickupDate\");\r\n case Notification.LoadEditBookedDeliveryDate:\r\n return t(\"BookedDeliveryDate\");\r\n case Notification.LoadEditDeliveryAddress:\r\n return t(\"DeliveryAddress\");\r\n case Notification.LoadEditPickupAddress:\r\n return t(\"PickupAddress\");\r\n case Notification.LoadEditDestinationInfo:\r\n return t(\"DestinationInformation\");\r\n case Notification.LoadEditNote:\r\n return t(\"Note\");\r\n case Notification.LoadEditPickupInfo:\r\n return t(\"PickupInformation\");\r\n case Notification.LoadEditCustomer:\r\n return t(\"Customer\");\r\n case Notification.LoadEditSubDeliveryLocations:\r\n return t(\"SubDeliveryLocations\");\r\n case Notification.LoadEditSubPickupLocations:\r\n return t(\"SubPickupLocations\");\r\n case Notification.LoadEditDocuments:\r\n return t(\"Documents\");\r\n case Notification.LoadEditBLNo:\r\n return t(\"BLNo\");\r\n case Notification.LoadEditTerminal:\r\n return t(\"Terminal\");\r\n case Notification.LoadEditIncoterms:\r\n return t(\"Incoterms\");\r\n case Notification.LoadEditContainerCount:\r\n return t(\"NumberOfContainers\");\r\n case Notification.LoadEditKNValue:\r\n return t(\"KNValue\");\r\n case Notification.LoadEditKNCurrency:\r\n return t(\"KNCurrency\");\r\n case Notification.LoadEditKNProductCode:\r\n return t(\"KNProductCode\");\r\n case Notification.LoadEditVolume:\r\n return t(\"Volume\");\r\n case Notification.LoadEditWeight:\r\n return t(\"Weight\");\r\n case Notification.LoadEditPackages:\r\n return t(\"Packages\");\r\n case Notification.LoadEditContentInformation:\r\n return t(\"ContentInformation\");\r\n case Notification.IndexUpdate:\r\n return t(\"Index\");\r\n case Notification.LoadEditBookedPickupInfo:\r\n return t(\"BookedPickupInfo\");\r\n case Notification.LoadEditBookedDeliveryInfo:\r\n return t(\"BookedDeliveryInfo\");\r\n case Notification.LoadEditDistance:\r\n return t(\"Distance\");\r\n case Notification.LoadEditOtherPrice:\r\n return t(\"OtherPrice\");\r\n case Notification.LoadEditDeviation:\r\n return t(\"Deviations\");\r\n case Notification.LoadEditShipName:\r\n return t(\"ShipName\");\r\n case Notification.LoadEditETD:\r\n return t(\"ETD\");\r\n case Notification.LoadEditETA:\r\n return t(\"ETA\");\r\n case Notification.LoadEditIncoTerms:\r\n return t(\"Incoterms\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const notificationUserInterfaceGroupName = (\r\n x: NotificationUserInterfaceGroup\r\n): string => {\r\n switch (x) {\r\n case NotificationUserInterfaceGroup.LoadEdit:\r\n return t(\"EditedLoads\");\r\n case NotificationUserInterfaceGroup.LoadRelated:\r\n return t(\"RelatedLoads\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const messageTypeName = (x: MessageType): string => {\r\n switch (x) {\r\n case MessageType.General:\r\n return t(\"GeneralMessageType\");\r\n case MessageType.Agreements:\r\n return t(\"ProcurementMessageType\");\r\n case MessageType.Loads:\r\n return t(\"LoadMessageType\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const treatedStatusName = (x: InvoiceReportTreatedStatus): string => {\r\n switch (x) {\r\n case InvoiceReportTreatedStatus.Treated:\r\n return t(\"ShowTreated\");\r\n case InvoiceReportTreatedStatus.Untreated:\r\n return t(\"ShowNotTreated\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const docTypeName = (x: DocType): string => {\r\n switch (x) {\r\n case DocType.TrionaDocument:\r\n return \"Triona Document\";\r\n case DocType.TermsOfAgreement:\r\n return t(\"TermsOfAgreement\");\r\n case DocType.InvoicingInformation:\r\n return t(\"InvoicingInformation\");\r\n case DocType.LoadDocument:\r\n return t(\"LoadDocument\");\r\n case DocType.MessageDocument:\r\n return t(\"MessageDocument\");\r\n case DocType.NewsDocument:\r\n return t(\"NewsDocument\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const rankingTypeName = (x: RankingType): string => {\r\n switch (x) {\r\n case RankingType.Manual:\r\n return t(\"QualityPointsCalcDeviationTypes_0\");\r\n case RankingType.Route:\r\n return t(\"Route\");\r\n case RankingType.Client:\r\n return t(\"Client\");\r\n case RankingType.System:\r\n return \"C-Load\";\r\n case RankingType.NoLoads:\r\n return t(\"NoLoadsFound\");\r\n case RankingType.Price:\r\n return t(\"PriceRanking\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const daysBackName = (x: LoadFilterDaysBack): string => {\r\n switch (x) {\r\n case LoadFilterDaysBack.Today:\r\n return t(\"Today\");\r\n case LoadFilterDaysBack.Yesterday:\r\n return t(\"Yesterday\");\r\n case LoadFilterDaysBack.OneWeek:\r\n return t(\"LoadListFilterWeekBack\");\r\n case LoadFilterDaysBack.TwoWeeks:\r\n return t(\"LoadListFilterWeeksBack\").replace(\"{0}\", \"2\");\r\n case LoadFilterDaysBack.OneMonth:\r\n return t(\"LoadListFilterMonthBack\");\r\n case LoadFilterDaysBack.TwoMonths:\r\n return t(\"LoadListFilterMonthsBack\").replace(\"{0}\", \"2\");\r\n case LoadFilterDaysBack.OneYear:\r\n return t(\"LoadListFilterYearBack\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const daysForwardName = (x: LoadFilterDaysForward): string => {\r\n switch (x) {\r\n case LoadFilterDaysForward.Today:\r\n return t(\"Today\");\r\n case LoadFilterDaysForward.Tomorrow:\r\n return t(\"Tomorrow\");\r\n case LoadFilterDaysForward.OneWeek:\r\n return t(\"LoadListFilterWeekForward\");\r\n case LoadFilterDaysForward.TwoWeeks:\r\n return t(\"LoadListFilterWeeksForward\").replace(\"{0}\", \"2\");\r\n case LoadFilterDaysForward.OneMonth:\r\n return t(\"LoadListFilterMonthForward\");\r\n case LoadFilterDaysForward.TwoMonths:\r\n return t(\"LoadListFilterMonthsForward\").replace(\"{0}\", \"2\");\r\n case LoadFilterDaysForward.Infinite:\r\n return t(\"LoadListFilterIndefinitely\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const filterDateTypeName = (x: LoadFilterDateType): string => {\r\n switch (x) {\r\n case LoadFilterDateType.RegDate:\r\n return t(\"Ordered\");\r\n case LoadFilterDateType.PickupEarliest:\r\n return t(\"PickupEarliest\");\r\n case LoadFilterDateType.BookedDate:\r\n return t(\"Booked\");\r\n case LoadFilterDateType.LoadedDate:\r\n return t(\"Loaded\");\r\n case LoadFilterDateType.DeliverDate:\r\n return t(\"Delivered\");\r\n case LoadFilterDateType.PickupLatest:\r\n return t(\"PickupLatest\");\r\n case LoadFilterDateType.DeliveryEarliest:\r\n return t(\"DeliveryEarliest\");\r\n case LoadFilterDateType.DeliveryLatest:\r\n return t(\"DeliveryLatest\");\r\n case LoadFilterDateType.BookedPickupDate:\r\n return t(\"BookedPickupDate\");\r\n case LoadFilterDateType.BookedDeliveryDate:\r\n return t(\"BookedDeliveryDate\");\r\n case LoadFilterDateType.SpotTenderEndDate:\r\n return t(\"SpotTenderEnds\");\r\n case LoadFilterDateType.AlterDate:\r\n return t(\"LastAltered\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const agreementHistoryTypeName = (x: AgreementHistoryType): string => {\r\n switch (x) {\r\n case AgreementHistoryType.PriceRemoved:\r\n return t(\"PriceRemoved\");\r\n case AgreementHistoryType.FromToEstimateChanged:\r\n return t(\"EstimatedNoOfLoads\");\r\n case AgreementHistoryType.ProcurementCreated:\r\n return t(\"ProcurementCreated\");\r\n case AgreementHistoryType.ProcurementPeriodAdded:\r\n return t(\"AdditionalProcurementPeriod\");\r\n case AgreementHistoryType.RankedByEndUser:\r\n return t(\"RankedByEndUser\");\r\n case AgreementHistoryType.RankedByBackgroundService:\r\n return \"¤RankedByBackgroundService\";\r\n case AgreementHistoryType.AgreementCreated:\r\n return t(\"AgreementCreated\");\r\n case AgreementHistoryType.PriceUpdated:\r\n return \"¤PriceUpdated\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const triggerStateName = (x: TriggerState): string => {\r\n switch (x) {\r\n case TriggerState.Normal:\r\n return \"Normal\";\r\n case TriggerState.Paused:\r\n return \"Paused\";\r\n case TriggerState.Complete:\r\n return \"Complete\";\r\n case TriggerState.Error:\r\n return \"Error\";\r\n case TriggerState.Blocked:\r\n return \"Blocked\";\r\n case TriggerState.None:\r\n return \"None\";\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const routingExactnessName = (x: RoutingExactness): string => {\r\n switch (x) {\r\n case RoutingExactness.Unknown:\r\n return t(\"Unknown\");\r\n case RoutingExactness.Manual:\r\n return t(\"Manual\");\r\n case RoutingExactness.Fail:\r\n return t(\"Unknown\");\r\n case RoutingExactness.AgreementRoute:\r\n return t(\"AgreementRoute\");\r\n case RoutingExactness.Country:\r\n return t(\"Country\");\r\n case RoutingExactness.ZipcodeArea:\r\n return t(\"ZipCodeArea\");\r\n case RoutingExactness.County:\r\n return t(\"CountyAddress\");\r\n case RoutingExactness.Zipcode:\r\n return t(\"ZipCode\");\r\n case RoutingExactness.Address:\r\n return t(\"Address\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const costForecastRankMethodName = (\r\n x: CostForecastRankMethod\r\n): string => {\r\n switch (x) {\r\n case CostForecastRankMethod.All:\r\n return t(\"AllGivenPrices\");\r\n case CostForecastRankMethod.Smart:\r\n return t(\"LastAgreementAverageRank\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const fuelIndexTypeName = (x: FuelIndexType): string => {\r\n switch (x) {\r\n case FuelIndexType.NordicFuelIndex:\r\n return t(\"DMT_SE\");\r\n case FuelIndexType.ContinentalFuelIndex:\r\n return t(\"VLT_DMT\");\r\n case FuelIndexType.ContinentalFuelInternalIndex:\r\n return t(\"DMT_EU\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const publishSpeedName = (x: PublishSpeed): string => {\r\n switch (x) {\r\n case PublishSpeed.Economy:\r\n return t(\"Economy\");\r\n case PublishSpeed.Normal:\r\n return t(\"LoadPublishSpeedNormal\");\r\n case PublishSpeed.Broadcast:\r\n return t(\"Broadcast\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const publishRuleTypeName = (x: PublishRuleType): string => {\r\n switch (x) {\r\n case PublishRuleType.Road:\r\n return t(\"Road\");\r\n case PublishRuleType.Railroad:\r\n return t(\"Railroad\");\r\n case PublishRuleType.Container:\r\n return t(\"Container\");\r\n case PublishRuleType.MachineTransport:\r\n return t(\"MachineTransport\");\r\n case PublishRuleType.Broadcast:\r\n return t(\"Broadcast\");\r\n case PublishRuleType.Economy:\r\n return t(\"Economy\");\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\n/****************** Price formulas *******************/\r\n\r\nconst freightPriceFormulaPart = (x: CargoType): string => {\r\n switch (x) {\r\n case CargoType.Road:\r\n return `${t(\"AgreedPrice\")} * ${t(\"Index\")} + ${t(\"StopPrice\")} * ${t(\r\n \"ExtraStops\"\r\n )}`;\r\n case CargoType.Railroad:\r\n return `${t(\"AgreedPrice\")}`;\r\n case CargoType.Container:\r\n return `${t(\"AgreedPrice\")} * ${t(\"NoOfContainers\")} + ${t(\r\n \"ServiceFee\"\r\n )}`;\r\n case CargoType.MachineTransport:\r\n return `${t(\"AgreedPrice\")} * ${t(\"Kilometer\")} + ${t(\"EscortCar\")} * ${t(\r\n \"Kilometer\"\r\n )} + ${t(\"StopPrice\")} * ${t(\"ExtraStops\")} + ${t(\"TruckTypeFee\")} + ${t(\r\n \"VTL\"\r\n )}`;\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nconst invoicePriceFormulaPart = (x: CargoType): string => {\r\n switch (x) {\r\n case CargoType.Road:\r\n return `${t(\"BookingFee\")}`;\r\n case CargoType.Railroad:\r\n return `${t(\"BookingFee\")}`;\r\n case CargoType.Container:\r\n return `${t(\"BookingFee\")} * ${t(\"NoOfContainers\")}`;\r\n case CargoType.MachineTransport:\r\n return `${t(\"BookingFee\")}`;\r\n default:\r\n return neverHappens(x);\r\n }\r\n};\r\n\r\nexport const freightPriceFormula = (x: CargoType): string => {\r\n return `${t(\"FreightPrice\")} = ${freightPriceFormulaPart(x)}`;\r\n};\r\n\r\nexport const freightPriceFormulaOtherPrice = (x: CargoType): string => {\r\n return `${t(\"FreightPrice\")} = ${t(\"OtherPrice\")}`;\r\n};\r\n\r\nexport const invoicePriceFormulaShort = (x: CargoType): string => {\r\n return `${t(\"InvoicePrices\")} = ${t(\r\n \"FreightPrice\"\r\n )} - ${invoicePriceFormulaPart(x)}`;\r\n};\r\n\r\nexport const invoicePriceFormulaLong = (x: CargoType): string => {\r\n return `${t(\"InvoicePrices\")} = ${freightPriceFormulaPart(\r\n x\r\n )} - ${invoicePriceFormulaPart(x)}`;\r\n};\r\n\r\nexport const invoicePriceFormulaOtherPrice = (x: CargoType): string => {\r\n return `${t(\"InvoicePrices\")} = ${t(\r\n \"OtherPrice\"\r\n )} - ${invoicePriceFormulaPart(x)}`;\r\n};\r\n","/* ALLT ANVÄNDANDE AV Luxon SKA GÅ GENOM DENNA KLASS */\r\nimport { DurationLikeObject, DateTime, Duration, IANAZone } from \"luxon\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\nimport { zoneName } from \"@/scripts/misc/enumNames\";\r\n\r\nconst minDate = \"2000-01-01 00:00:00.000\";\r\nconst maxDate = \"2049-12-31 23:59:59.999\";\r\n\r\nclass CDate {\r\n private d: DateTime;\r\n private isCDate: boolean = true;\r\n public readonly zoneName: string;\r\n public readonly offsetName: string;\r\n\r\n private constructor(input: string, format: string, zone: IANAZone) {\r\n if (!zone || !zone.isValid) {\r\n throw Error(\"Invalid zone: \" + zone.name + \" \" + JSON.stringify(zone));\r\n }\r\n this.d = DateTime.fromFormat(input, format, { zone: zone });\r\n if (this.d < DateTime.fromISO(minDate, { zone: zone })) {\r\n this.d = DateTime.fromISO(minDate, { zone: zone });\r\n } else if (this.d > DateTime.fromISO(maxDate, { zone: zone })) {\r\n this.d = DateTime.fromISO(maxDate, { zone: zone });\r\n }\r\n this.zoneName = this.d.zoneName!;\r\n this.offsetName = this.d.offsetNameShort!;\r\n }\r\n private static fromLuxon(d: DateTime): CDate {\r\n return new CDate(\r\n d.toFormat(\"yyyy-MM-dd HH:mm:ss.SSS\"),\r\n \"yyyy-MM-dd HH:mm:ss.SSS\",\r\n d.zone\r\n );\r\n }\r\n static now(zone: TimeZone): CDate {\r\n return CDate.fromLuxon(DateTime.now().setZone(zoneName(zone)));\r\n }\r\n static fromString(\r\n str: string | undefined | null,\r\n zone: TimeZone | string\r\n ): CDate {\r\n if (typeof zone === \"number\") {\r\n zone = zoneName(zone);\r\n }\r\n if (!str) {\r\n return CDate.fromLuxon(DateTime.invalid(\"Invalid date\").setZone(zone));\r\n }\r\n const [formattedStr, format] = getFormat(str);\r\n return new CDate(formattedStr, format, new IANAZone(zone));\r\n }\r\n static fromApiString(str: string): CDate | undefined {\r\n if (str.substring(0, 4) === \"null\") {\r\n return undefined;\r\n }\r\n const ianaZoneStart = str.indexOf(\"|\");\r\n const datetimeString = str.substring(0, ianaZoneStart);\r\n const zone = str.substring(ianaZoneStart + 1, str.length);\r\n const cdate = CDate.fromString(datetimeString, zone);\r\n return cdate;\r\n }\r\n static fromSeconds(seconds: number, zone: TimeZone): CDate {\r\n return CDate.fromLuxon(\r\n DateTime.fromSeconds(seconds, {\r\n zone: zoneName(zone)\r\n })\r\n );\r\n }\r\n static isCDate(obj: any): boolean {\r\n return obj && (obj as CDate).isCDate === true;\r\n }\r\n static minDate(): CDate {\r\n return CDate.fromString(minDate, TimeZone.Europe_Stockholm);\r\n }\r\n static maxDate(): CDate {\r\n return CDate.fromString(minDate, TimeZone.Europe_Stockholm);\r\n }\r\n\r\n dayPrint(locale: string): string {\r\n return this.d.setLocale(locale).toFormat(\"cccc\");\r\n }\r\n shortDayPrint(locale: string): string {\r\n return this.d.setLocale(locale).toFormat(\"ccc\");\r\n }\r\n monthNamePrint(locale: string): string {\r\n return this.d.setLocale(locale).toFormat(\"LLLL\");\r\n }\r\n quarterPrint(): string {\r\n return \"Q\" + this.d.quarter;\r\n }\r\n yearMonthNamePrint(locale: string): string {\r\n return this.yearPrint() + \" \" + this.monthNamePrint(locale);\r\n }\r\n yearQuarterPrint(): string {\r\n return this.yearPrint() + \" \" + this.quarterPrint();\r\n }\r\n yearPrint(): string {\r\n return this.d.toFormat(\"yyyy\");\r\n }\r\n datePrint(): string {\r\n return this.d.toFormat(\"yyyy-MM-dd\");\r\n }\r\n shortTimePrint(): string {\r\n return this.d.toFormat(\"HH:mm\");\r\n }\r\n timePrint(): string {\r\n return this.d.toFormat(\"HH:mm:ss\");\r\n }\r\n longTimePrint(): string {\r\n return this.d.toFormat(\"HH:mm:ss.SSS\");\r\n }\r\n dateTimePrint(): string {\r\n return this.datePrint() + \" \" + this.timePrint();\r\n }\r\n longDateTimePrint(): string {\r\n return this.datePrint() + \" \" + this.longTimePrint();\r\n }\r\n shortDateTextPrint(locale: string): string {\r\n return this.d.setLocale(locale).toFormat(\"d LLL\");\r\n }\r\n dateTextPrint(locale: string): string {\r\n return this.d.setLocale(locale).toFormat(\"ccc d LLLL\");\r\n }\r\n shortDateTimePrint(): string {\r\n return this.datePrint() + \" \" + this.shortTimePrint();\r\n }\r\n shortDateTimePrintSeparated(): string {\r\n return this.datePrint() + \" \" + this.shortTimePrint();\r\n }\r\n shortDateTimePrintWithTo(d: CDate, locale: string): string {\r\n return `${d.shortDateTimePrint()} (${this.toRelative(d, locale)})`;\r\n }\r\n toRelative(otherDate: CDate, locale: string): string {\r\n return otherDate.d.setLocale(locale).toRelative({ base: this.d })!;\r\n }\r\n minutes(): number {\r\n return this.d.minute;\r\n }\r\n hours(): number {\r\n return this.d.hour;\r\n }\r\n date(): number {\r\n return this.d.day;\r\n }\r\n month(): number {\r\n return this.d.month;\r\n }\r\n year(): number {\r\n return this.d.year;\r\n }\r\n startOfDay(): CDate {\r\n return CDate.fromLuxon(this.d.startOf(\"day\"));\r\n }\r\n endOfDay(): CDate {\r\n return CDate.fromLuxon(this.d.endOf(\"day\"));\r\n }\r\n startOfMonth(): CDate {\r\n return CDate.fromLuxon(this.d.startOf(\"month\"));\r\n }\r\n endOfMonth(): CDate {\r\n return CDate.fromLuxon(this.d.endOf(\"month\"));\r\n }\r\n startOfYear(): CDate {\r\n return CDate.fromLuxon(this.d.startOf(\"year\"));\r\n }\r\n endOfYear(): CDate {\r\n return CDate.fromLuxon(this.d.endOf(\"year\"));\r\n }\r\n withHours(hours: number): CDate {\r\n return CDate.fromLuxon(this.d.set({ hour: hours }));\r\n }\r\n withMinutes(minutes: number): CDate {\r\n return CDate.fromLuxon(this.d.set({ minute: minutes }));\r\n }\r\n addSeconds(amount: number): CDate {\r\n return CDate.fromLuxon(this.d.plus({ seconds: amount }));\r\n }\r\n addMinutes(amount: number): CDate {\r\n return CDate.fromLuxon(this.d.plus({ minutes: amount }));\r\n }\r\n addHours(amount: number): CDate {\r\n return CDate.fromLuxon(this.d.plus({ hours: amount }));\r\n }\r\n addDays(amount: number): CDate {\r\n return CDate.fromLuxon(this.d.plus({ days: amount }));\r\n }\r\n addMonths(amount: number): CDate {\r\n return CDate.fromLuxon(this.d.plus({ months: amount }));\r\n }\r\n addYears(amount: number): CDate {\r\n return CDate.fromLuxon(this.d.plus({ years: amount }));\r\n }\r\n loadingSlotNowish(): CDate {\r\n const d = this.d.startOf(\"minute\").plus({ minutes: 8 });\r\n return CDate.fromLuxon(d).withMinutes(d.minute - (d.minute % 5));\r\n }\r\n daysBetween(date: CDate): number {\r\n return this.d.diff(date.d, \"days\").days;\r\n }\r\n isBetween(date1: CDate, date2: CDate) {\r\n return this.isSameOrAfter(date1) && this.isSameOrBefore(date2);\r\n }\r\n isSame(date: CDate): boolean {\r\n return this.d.toSeconds() === date.toSeconds();\r\n }\r\n isBefore(date: CDate): boolean {\r\n return this.d.toSeconds() < date.toSeconds();\r\n }\r\n isSameOrBefore(date: CDate): boolean {\r\n return this.d.toSeconds() <= date.toSeconds();\r\n }\r\n isAfter(date: CDate): boolean {\r\n return this.d.toSeconds() > date.toSeconds();\r\n }\r\n isSameOrAfter(date: CDate): boolean {\r\n return this.d.toSeconds() >= date.toSeconds();\r\n }\r\n isValid(): boolean {\r\n return this.d.isValid;\r\n }\r\n toSeconds(): number {\r\n return this.d.toSeconds();\r\n }\r\n toDuration(): CDuration {\r\n return CDuration.fromObject(this.d.toObject());\r\n }\r\n toString(): string {\r\n if (this.d.toFormat(\"HHmmss\") === \"000000\") {\r\n return this.datePrint();\r\n }\r\n return this.shortDateTimePrint();\r\n }\r\n toISOString(_: any): string {\r\n return `${this.longDateTimePrint()}|${this.zoneName}`;\r\n }\r\n}\r\n\r\nexport class CDuration {\r\n private d: Duration;\r\n\r\n private constructor(input: DurationLikeObject) {\r\n this.d = Duration.fromObject(input);\r\n }\r\n\r\n static fromISO(iso: string): CDuration {\r\n // Kolla om de är en ISO sträng\r\n if (iso.startsWith(\"P\") || iso.startsWith(\"PT\")) {\r\n return new CDuration(Duration.fromISO(iso));\r\n } else {\r\n // Hanterar strings som tex \"HH:mm:ss\"\r\n const [hours, minutes, seconds] = iso.split(\":\").map(Number);\r\n return new CDuration({ hours, minutes, seconds });\r\n }\r\n }\r\n static fromObject(obj: DurationLikeObject): CDuration {\r\n return new CDuration(obj);\r\n }\r\n format(format: string, _: any): string {\r\n return this.d.toFormat(format);\r\n }\r\n hours(): number {\r\n return this.d.hours;\r\n }\r\n minutes(): number {\r\n return this.d.minutes;\r\n }\r\n hoursAndMinutes(): string {\r\n return (\r\n this.d.hours.toString().padStart(2, \"0\") +\r\n \":\" +\r\n this.d.minutes.toString().padStart(2, \"0\")\r\n );\r\n }\r\n toCDate(zone: TimeZone): CDate {\r\n return CDate.now(zone)\r\n .startOfDay()\r\n .withHours(this.hours())\r\n .withMinutes(this.minutes());\r\n }\r\n}\r\n\r\nconst separators = [\"-\", \"/\", \".\", \":\"];\r\nconst getFormat = (str: string): [string, string] => {\r\n separators.map(sep => (str = str.replaceAll(sep, \" \")));\r\n let parts = str.split(\" \").filter(p => p.length > 0);\r\n\r\n // Tvättar bort ex (CET) och (GMT+1)\r\n if (parts[parts.length - 1].startsWith(\"(\")) {\r\n parts = parts.slice(0, -1);\r\n } else if (parts.length > 1 && parts[parts.length - 2].startsWith(\"(\")) {\r\n parts = parts.slice(0, -2);\r\n }\r\n\r\n if (parts.length === 1 && parts[0].length === 8) {\r\n //Vi antar att någon skrivit ex 20232131 istf 2023-12-31\r\n parts = [\r\n parts[0].substring(0, 4),\r\n parts[0].substring(4, 6),\r\n parts[0].substring(6, 8)\r\n ];\r\n }\r\n\r\n if (parts.length === 1 && parts[0].length === 6) {\r\n //Vi antar att någon skrivit ex 231231 istf 2023-12-31\r\n parts = [\r\n parts[0].substring(0, 2),\r\n parts[0].substring(2, 4),\r\n parts[0].substring(4, 6)\r\n ];\r\n }\r\n\r\n let format = \"\";\r\n if (parts[0]) {\r\n format += \"y\".repeat(parts[0].length) + \" \";\r\n }\r\n if (parts[1]) {\r\n format += \"M\".repeat(parts[1].length) + \" \";\r\n }\r\n if (parts[2]) {\r\n format += \"d\".repeat(parts[2].length) + \" \";\r\n }\r\n if (parts[3]) {\r\n format += \"H\".repeat(parts[3].length) + \" \";\r\n }\r\n if (parts[4]) {\r\n format += \"m\".repeat(parts[4].length) + \" \";\r\n }\r\n if (parts[5]) {\r\n format += \"s\".repeat(parts[5].length) + \" \";\r\n }\r\n if (parts[6]) {\r\n format += \"S\".repeat(parts[6].length) + \" \";\r\n }\r\n return [parts.join(\" \"), format.trim()];\r\n};\r\n\r\nexport default CDate;\r\n","import CDate from \"@/scripts/misc/cdate\";\r\nimport {\r\n CargoType,\r\n AgreementDataDto,\r\n ActorType,\r\n LoadStatus,\r\n LoadActionPermission,\r\n LoadOrderBy,\r\n CargoLoadingDto,\r\n LoadingSlotDto,\r\n LoadingSlotType,\r\n Country,\r\n Currency,\r\n TruckType,\r\n ProfileDto,\r\n MegaReportSearchCriteria,\r\n UserLevel,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nexport interface UserInfo {\r\n loadUserId: number | undefined;\r\n actorId: number | undefined;\r\n actorName: string;\r\n actorType: ActorType | undefined;\r\n userLevel: UserLevel | undefined;\r\n supportAdminLevel: number;\r\n actorCargoTypes: CargoType[];\r\n zone: TimeZone | undefined;\r\n}\r\n\r\nexport const userInfoFromProfileDto = (profile: ProfileDto): UserInfo => {\r\n return {\r\n loadUserId: profile.loadUserId,\r\n actorId: profile.actorId,\r\n actorName: profile.actorName!,\r\n actorType: profile.actorType,\r\n userLevel: profile.userLevel,\r\n actorCargoTypes: profile.actorCargoTypes!,\r\n supportAdminLevel: profile.supportAdminLevel,\r\n zone: profile.timeZone\r\n };\r\n};\r\n\r\nexport class AgreementDataDtoX extends AgreementDataDto {\r\n selectable: boolean;\r\n constructor(data: AgreementDataDto) {\r\n super(data);\r\n this.selectable = procurementEditable(\r\n this.procurementFromDate,\r\n this.procurementToDate\r\n );\r\n }\r\n}\r\n\r\nexport const procurementEditable = (\r\n procurementFromDate: CDate,\r\n procurementToDate: CDate\r\n): boolean => {\r\n return !CDate.now(TimeZone.Europe_Stockholm).isBetween(\r\n procurementFromDate,\r\n procurementToDate.endOfDay()\r\n );\r\n};\r\n\r\nexport interface ConfirmationOptions {\r\n dialog?: boolean;\r\n width?: number;\r\n warning?: boolean;\r\n noCloseButton?: boolean;\r\n closeButtonCallback?: Function;\r\n title?: string;\r\n body?: string;\r\n btnText1?: string;\r\n btnColor1?: string;\r\n btnCallback1: Function;\r\n btnText2?: string;\r\n btnColor2?: string;\r\n btnCallback2?: Function;\r\n}\r\n\r\nexport interface InfoMenuObject {\r\n visible: boolean;\r\n x: number;\r\n y: number;\r\n}\r\n\r\nexport enum Sound {\r\n Notification1 = 1,\r\n Countdown = 2\r\n}\r\n\r\nexport class CalendarConfiguration implements ICalendarConfiguration {\r\n calendarAutoDateSliding: boolean;\r\n constructor(vals: ICalendarConfiguration) {\r\n this.calendarAutoDateSliding = vals.calendarAutoDateSliding;\r\n }\r\n}\r\n\r\ninterface ICalendarConfiguration {\r\n calendarAutoDateSliding: boolean;\r\n}\r\n\r\nexport class ReadDocuments implements IReadDocuments {\r\n agreements: number[];\r\n constructor(vals: IReadDocuments) {\r\n this.agreements = vals.agreements;\r\n }\r\n}\r\n\r\ninterface IReadDocuments {\r\n agreements: number[];\r\n}\r\n\r\nexport class MobilePopupConfiguration implements IMobilePopupConfiguration {\r\n dismissedDates: CDate[];\r\n constructor(vals: IMobilePopupConfiguration) {\r\n this.dismissedDates = vals.dismissedDates;\r\n }\r\n}\r\n\r\ninterface IMobilePopupConfiguration {\r\n dismissedDates: CDate[];\r\n}\r\n\r\nexport class SupplierProcurementConfig implements ISupplierProcurementConfig {\r\n kmPrices: SupplierProcurementConfigEntry[];\r\n stopPrices: SupplierProcurementConfigEntry[];\r\n truckPercentage: number | undefined;\r\n wagonPercentage: number | undefined;\r\n constructor(vals: ISupplierProcurementConfig) {\r\n this.kmPrices = vals.kmPrices;\r\n this.stopPrices = vals.stopPrices;\r\n this.truckPercentage = vals.truckPercentage;\r\n this.wagonPercentage = vals.wagonPercentage;\r\n }\r\n}\r\n\r\ninterface ISupplierProcurementConfig {\r\n kmPrices: SupplierProcurementConfigEntry[];\r\n stopPrices: SupplierProcurementConfigEntry[];\r\n truckPercentage: number | undefined;\r\n wagonPercentage: number | undefined;\r\n}\r\n\r\nexport interface SupplierProcurementConfigEntry {\r\n truckType?: TruckType;\r\n currency: Currency;\r\n value: number | undefined;\r\n}\r\n\r\nexport enum ChartType {\r\n Loads,\r\n Containers,\r\n BookingFees,\r\n FreightPrices,\r\n AvgFreightPrice,\r\n AvgFreightPricePerVolume,\r\n PercentDelivered,\r\n PercentBookedPickup,\r\n PercentBookedDelivery,\r\n PercentHasDistanceLoad,\r\n PercentHasDistanceRoute,\r\n PercentEconomy,\r\n PercentBroadcast,\r\n PercentHasOtherPrice\r\n}\r\n\r\nexport interface MegaPreset {\r\n title: string;\r\n creator: string;\r\n chartType: ChartType;\r\n criteria: MegaReportSearchCriteria;\r\n}\r\n\r\nexport const createMegaReportCriteria = () =>\r\n new MegaReportSearchCriteria({\r\n fromDate: CDate.now(TimeZone.Europe_Stockholm)\r\n .addYears(-3)\r\n .startOfYear(),\r\n toDate: CDate.now(TimeZone.Europe_Stockholm).endOfYear(),\r\n fromCountries: [],\r\n toCountries: [],\r\n fromCounties: [],\r\n toCounties: [],\r\n units: [],\r\n accumulate: false,\r\n monthsInGroup: 3,\r\n clientIds: [],\r\n supplierIds: [],\r\n cargoTypes: [],\r\n truckTypes: [],\r\n loadStatuses: [],\r\n deviationCauses: [],\r\n otherPriceCauses: [],\r\n numExtraStops: [],\r\n splitBookingFeeType: false,\r\n stackYears: false\r\n });\r\n\r\nexport class TableOptions {\r\n page: number = 1;\r\n itemsPerPage: number = 100;\r\n sortBy: string[] | number[] = [];\r\n sortDesc: boolean[] = [false];\r\n groupBy: string[] = [];\r\n groupDesc: boolean[] = [false];\r\n multiSort: boolean = false;\r\n mustSort: boolean = true;\r\n constructor(data: {\r\n itemsPerPage?: number;\r\n sortBy?: string[] | number[];\r\n sortDesc?: boolean[];\r\n groupBy?: string[];\r\n }) {\r\n this.itemsPerPage =\r\n data.itemsPerPage === undefined ? this.itemsPerPage : data.itemsPerPage;\r\n this.sortBy = data.sortBy === undefined ? this.sortBy : data.sortBy;\r\n this.sortDesc = data.sortDesc === undefined ? this.sortDesc : data.sortDesc;\r\n this.groupBy = data.groupBy === undefined ? this.groupBy : data.groupBy;\r\n }\r\n}\r\n\r\nexport interface TableHeader {\r\n value: string;\r\n text?: string;\r\n id?: number;\r\n width?: number;\r\n /*\r\n * sortValue undefined means it won't be sortable.\r\n * sortValue true means it will be sorted based on the value field in this interface\r\n * sortValue as a number means it will be sorted based on that number (which should be an enum). This is used for server side sorting.\r\n */\r\n sortValue?: number | boolean;\r\n untranslated?: boolean;\r\n customHeader?: boolean;\r\n multiLine?: boolean;\r\n tooltip?: string;\r\n}\r\n\r\nexport interface LoadingSlotBox {\r\n id: number;\r\n cargoLoadingId?: number;\r\n type: LoadingSlotType;\r\n seconds: number;\r\n startDate: CDate;\r\n endDate: CDate;\r\n hovered: boolean;\r\n color?: string;\r\n roundedLeft: boolean;\r\n roundedRight: boolean;\r\n kilograms?: number;\r\n kilogramsBefore?: number;\r\n kilogramsAfter?: number;\r\n loadId?: number;\r\n truckNo?: string;\r\n transportNo?: string;\r\n bookingNo?: string;\r\n note?: string;\r\n}\r\n\r\nexport interface LoadingDockSchedule {\r\n id: number;\r\n name: string;\r\n boxes: LoadingSlotBox[];\r\n}\r\n\r\nexport interface CargoLoadingContainer {\r\n id: number;\r\n cargoLoading: CargoLoadingDto;\r\n extraSeconds: number;\r\n booking: LoadingSlotDto | undefined;\r\n ignoreFromDb: boolean;\r\n}\r\n\r\nexport interface LoadWithCargoLoadingContainer {\r\n loadId: number;\r\n transportNo: string | undefined;\r\n pickupEarliest: CDate;\r\n pickupLatest: CDate;\r\n bookingNo: string | undefined;\r\n truckNo: string | undefined;\r\n note: string | undefined;\r\n clientName: string | undefined;\r\n cargoLoadingContainers: CargoLoadingContainer[];\r\n status: LoadStatus | undefined;\r\n}\r\n\r\nexport interface CargoLoadingMobileEventsContainer {\r\n name: string;\r\n start: string | undefined;\r\n end: string | undefined;\r\n color: string;\r\n category: LoadingDockCategory;\r\n type: LoadingSlotType;\r\n cargoLoading: CargoLoadingContainer | undefined;\r\n}\r\n\r\nexport interface LoadingDockCategory {\r\n id: number;\r\n name: String;\r\n}\r\n\r\nexport interface SupplierDeleted {\r\n id: number;\r\n name: string;\r\n deleted: boolean;\r\n}\r\n\r\nexport interface AgreementRouteFilter {\r\n cargoType: CargoType;\r\n routeId: string;\r\n pickupCounty: string;\r\n pickupZipcode: string;\r\n pickupCountry: Country | undefined;\r\n pickupInfo: string;\r\n deliveryCounty: string;\r\n deliveryZipcode: string;\r\n deliveryCountries: Country[] | undefined;\r\n destinationInfo: string;\r\n currency: Currency | undefined;\r\n estimate: boolean | undefined;\r\n specReq: string;\r\n tag: string | undefined;\r\n procurement: boolean | undefined;\r\n agreementEnd: number | undefined;\r\n}\r\n\r\nexport class LoadAction {\r\n id: LoadActionPermission;\r\n text: string;\r\n icon: string;\r\n allowed: boolean;\r\n lockNeeded: boolean;\r\n\r\n constructor(id: LoadActionPermission, text: string, icon: string) {\r\n this.id = id;\r\n this.text = t(text);\r\n this.icon = icon;\r\n this.allowed = false;\r\n this.lockNeeded = false;\r\n }\r\n}\r\n\r\nexport interface MultiLoad {\r\n loadId: number;\r\n routeName: string;\r\n pickupEarliest: CDate;\r\n deliverLatest: CDate;\r\n truckType: TruckType | undefined;\r\n transportNo: string | undefined;\r\n clientName: string | undefined;\r\n numExtraStops: number;\r\n numContainers: number;\r\n valid: boolean;\r\n saved: boolean | undefined;\r\n customsInfoRequired: boolean;\r\n pickupZone: TimeZone | undefined;\r\n deliverZone: TimeZone | undefined;\r\n}\r\n\r\nexport class CreateLoadPresets {\r\n unit: string | undefined;\r\n referenceNo: string | undefined;\r\n\r\n constructor(unit: string | undefined, referenceNo: string | undefined) {\r\n this.unit = unit || undefined;\r\n this.referenceNo = referenceNo || undefined;\r\n }\r\n}\r\n\r\nexport const spotTenderTabId = 99;\r\n\r\nexport const loadListTabName = (tabId: number): string => {\r\n switch (tabId) {\r\n case LoadStatus.Ordered:\r\n return t(\"Ordered\");\r\n case LoadStatus.Booked:\r\n return t(\"Booked\");\r\n case LoadStatus.Loaded:\r\n return t(\"Loaded\");\r\n case LoadStatus.Delivered:\r\n return t(\"Delivered\");\r\n case LoadStatus.Annulled:\r\n return t(\"Annulled\");\r\n case spotTenderTabId:\r\n return t(\"SpotTender\");\r\n default:\r\n throw Error(\"Unknown load tab id\");\r\n }\r\n};\r\n\r\nexport const loadListTabSortOrder = (tabId: number): number => {\r\n switch (tabId) {\r\n case LoadStatus.Ordered:\r\n return 1;\r\n case LoadStatus.Booked:\r\n return 2;\r\n case LoadStatus.Loaded:\r\n return 3;\r\n case LoadStatus.Delivered:\r\n return 4;\r\n case LoadStatus.Annulled:\r\n return 5;\r\n case spotTenderTabId:\r\n return 6;\r\n default:\r\n throw Error(\"Unknown load tab id\");\r\n }\r\n};\r\n\r\nexport class LoadListTab {\r\n id: number;\r\n headers: number[];\r\n constructor(id: number, actorType: ActorType) {\r\n this.id = id;\r\n this.headers = this.defaultHeaders(id, actorType);\r\n }\r\n defaultHeaders(id: number, actorType: ActorType): LoadOrderBy[] {\r\n switch (actorType) {\r\n case ActorType.Client:\r\n return this.defaultHeadersClient(id);\r\n case ActorType.Supplier:\r\n return this.defaultHeadersSupplier(id);\r\n case ActorType.Customer:\r\n return this.defaultHeadersCustomer(id);\r\n case ActorType.Terminal:\r\n return this.defaultHeadersTerminal(id);\r\n default:\r\n return neverHappens(actorType);\r\n }\r\n }\r\n defaultHeadersClient(id: number): LoadOrderBy[] {\r\n switch (id) {\r\n case LoadStatus.Ordered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Unit,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Booked:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedPickupDate,\r\n LoadOrderBy.SupplierName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Unit,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Loaded:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.LoadedDate,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.SupplierName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Unit,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Delivered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.LoadedDate,\r\n LoadOrderBy.DeliveryDate,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.SupplierName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Unit,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Annulled:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.AlterDate,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Unit,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case spotTenderTabId:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.SpotTenderEndDate,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Unit,\r\n LoadOrderBy.Id\r\n ];\r\n default:\r\n return [LoadOrderBy.Id];\r\n }\r\n }\r\n defaultHeadersSupplier(id: number): LoadOrderBy[] {\r\n switch (id) {\r\n case LoadStatus.Ordered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.VisibleToNextSupplier,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Booked:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedPickupDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Loaded:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.LoadedDate,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Delivered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.LoadedDate,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n case spotTenderTabId:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumExtraStops,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.SpotTenderEndDate,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.ReferenceNo,\r\n LoadOrderBy.Id\r\n ];\r\n default:\r\n return [LoadOrderBy.Id];\r\n }\r\n }\r\n defaultHeadersCustomer(id: number): LoadOrderBy[] {\r\n switch (id) {\r\n case LoadStatus.Ordered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Booked:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedPickupDate,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.SupplierName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Loaded:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.LoadedDate,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.SupplierName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Delivered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.DeliveryDate,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.ClientName,\r\n LoadOrderBy.SupplierName,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n default:\r\n return [LoadOrderBy.Id];\r\n }\r\n }\r\n defaultHeadersTerminal(id: number): LoadOrderBy[] {\r\n switch (id) {\r\n case LoadStatus.Ordered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumRelatedLoads,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Booked:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumRelatedLoads,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Loaded:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumRelatedLoads,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n case LoadStatus.Delivered:\r\n return [\r\n LoadOrderBy.PickupLocationFormatted,\r\n LoadOrderBy.DeliveryLocationFormatted,\r\n LoadOrderBy.NumRelatedLoads,\r\n LoadOrderBy.TruckTypeName,\r\n LoadOrderBy.PickupEarliest,\r\n LoadOrderBy.DeliveryLatest,\r\n LoadOrderBy.BookedDeliveryDate,\r\n LoadOrderBy.TransportNo,\r\n LoadOrderBy.Id\r\n ];\r\n default:\r\n return [LoadOrderBy.Id];\r\n }\r\n }\r\n}\r\n","import * as cfg from \"@/scripts/config/values.json\";\r\n\r\ninterface ConfigParameter {\r\n default: string | null;\r\n localhost: string | null;\r\n \"alpha.c-load.com\": string | null;\r\n \"beta.c-load.com\": string | null;\r\n \"test.c-load.com\": string | null;\r\n \"acceptance.c-load.com\": string | null;\r\n \"demo.c-load.com\": string | null;\r\n \"www.c-load.com\": string | null;\r\n}\r\n\r\ninterface ConfigInterface {\r\n auth: {\r\n authority: ConfigParameter;\r\n clientId: ConfigParameter;\r\n redirectUriBase: ConfigParameter;\r\n scope: ConfigParameter;\r\n };\r\n docsUrl: ConfigParameter;\r\n title: ConfigParameter;\r\n}\r\n\r\nexport default class Config {\r\n private static instance: Config | undefined = undefined;\r\n private config: ConfigInterface | undefined = undefined;\r\n\r\n private static getInstance = (): Config => {\r\n if (Config.instance === undefined) {\r\n Config.instance = new Config();\r\n }\r\n return Config.instance;\r\n };\r\n\r\n private constructor() {\r\n this.config = (cfg.default);\r\n }\r\n\r\n private static getParameter = (cp: ConfigParameter): string => {\r\n const hostname = window.location.hostname;\r\n let value: string | null = null;\r\n switch (hostname) {\r\n case \"localhost\":\r\n value = cp[\"localhost\"];\r\n break;\r\n case \"alpha.c-load.com\":\r\n value = cp[\"alpha.c-load.com\"];\r\n break;\r\n case \"beta.c-load.com\":\r\n value = cp[\"beta.c-load.com\"];\r\n break;\r\n case \"test.c-load.com\":\r\n value = cp[\"test.c-load.com\"];\r\n break;\r\n case \"acceptance.c-load.com\":\r\n value = cp[\"acceptance.c-load.com\"];\r\n break;\r\n case \"demo.c-load.com\":\r\n value = cp[\"demo.c-load.com\"];\r\n break;\r\n case \"www.c-load.com\":\r\n value = cp[\"www.c-load.com\"];\r\n break;\r\n default:\r\n throw new Error(\"Could not get parameter for \" + hostname);\r\n }\r\n if (value === null) {\r\n value = cp[\"default\"];\r\n }\r\n if (value === null) {\r\n throw new Error(\"All values where null for \" + hostname);\r\n }\r\n return value;\r\n };\r\n\r\n static getAuthority = (): string =>\r\n Config.getParameter(Config.getInstance().config!.auth.authority);\r\n static getClientId = (): string =>\r\n Config.getParameter(Config.getInstance().config!.auth.clientId);\r\n static getRedirectUriBase = (): string =>\r\n Config.getParameter(Config.getInstance().config!.auth.redirectUriBase);\r\n static getScope = (): string =>\r\n Config.getParameter(Config.getInstance().config!.auth.scope);\r\n static getDocsUrl = (): string =>\r\n Config.getParameter(Config.getInstance().config!.docsUrl);\r\n static getTitle = (): string =>\r\n Config.getParameter(Config.getInstance().config!.title);\r\n}\r\n","import Oidc, { UserManagerSettings } from \"oidc-client\";\r\nimport Config from \"@/scripts/config/config\";\r\n\r\nconst _browsingMobile = window.location.pathname.startsWith(\"/mobile\");\r\nconst _browsingSupportAdmin = window.location.pathname.startsWith(\r\n \"/support-admin\"\r\n);\r\nconst signinEndpoint =\r\n (_browsingSupportAdmin\r\n ? \"/support-admin\"\r\n : _browsingMobile\r\n ? \"/mobile\"\r\n : \"\") + \"/auth-signin\";\r\nconst signoutEndpoint =\r\n (_browsingSupportAdmin\r\n ? \"/support-admin\"\r\n : _browsingMobile\r\n ? \"/mobile\"\r\n : \"\") + \"/auth-signout\";\r\nconst silentEndpoint =\r\n (_browsingSupportAdmin\r\n ? \"/support-admin\"\r\n : _browsingMobile\r\n ? \"/mobile\"\r\n : \"\") + \"/auth-silent\";\r\nconst settings: UserManagerSettings = {\r\n authority: Config.getAuthority(),\r\n client_id: Config.getClientId(),\r\n redirect_uri: Config.getRedirectUriBase() + signinEndpoint,\r\n post_logout_redirect_uri: Config.getRedirectUriBase() + signoutEndpoint,\r\n response_type: \"id_token token\",\r\n scope: Config.getScope(),\r\n silent_redirect_uri: Config.getRedirectUriBase() + silentEndpoint,\r\n silentRequestTimeout: 10000,\r\n filterProtocolClaims: true,\r\n loadUserInfo: true\r\n};\r\nconst userManager = new Oidc.UserManager(settings);\r\nOidc.Log.logger = console;\r\nOidc.Log.level = Oidc.Log.WARN;\r\n//Oidc.Log.level = Oidc.Log.DEBUG; //Ger mer utskrifter\r\nuserManager.events.addUserSignedOut(() => {\r\n userManager.removeUser();\r\n console.error(\"User is no longer signed into the loginserver.\");\r\n});\r\n\r\nexport default {\r\n browsingSupportAdmin() {\r\n return _browsingSupportAdmin;\r\n },\r\n browsingMobile() {\r\n return _browsingMobile;\r\n },\r\n browsingProd() {\r\n return (\r\n window.location.hostname && window.location.hostname.startsWith(\"www\")\r\n );\r\n },\r\n browsingDev() {\r\n return (\r\n window.location.hostname &&\r\n window.location.hostname.startsWith(\"localhost\")\r\n );\r\n },\r\n getUser() {\r\n return userManager.getUser();\r\n },\r\n removeUser() {\r\n return userManager.removeUser();\r\n },\r\n startSigninSilent() {\r\n userManager.clearStaleState();\r\n return userManager.signinSilent();\r\n },\r\n endSigninSilent() {\r\n return userManager.signinSilentCallback();\r\n },\r\n startSigninMainWindow(path: string) {\r\n userManager.clearStaleState();\r\n return userManager.signinRedirect({\r\n state: { pathBeforeAuthentication: path }\r\n });\r\n },\r\n endSigninMainWindow() {\r\n return userManager.signinRedirectCallback();\r\n },\r\n startSignoutMainWindow(path: string) {\r\n userManager.clearStaleState();\r\n return userManager.signoutRedirect({\r\n state: { pathBeforeAuthentication: path }\r\n });\r\n },\r\n endSignoutMainWindow() {\r\n return userManager.signoutRedirectCallback();\r\n }\r\n};\r\n","export const gets = {\r\n //Root\r\n userInfo: \"userInfo\",\r\n unviewedMessages: \"unviewedMessages\",\r\n currentClientVersion: \"currentClientVersion\",\r\n clientOutdated: \"clientOutdated\",\r\n locationCacheOutdated: \"locationCacheOutdated\",\r\n broadcast: \"broadcast\",\r\n globalError: \"globalError\",\r\n dimensions: \"dimensions\",\r\n activityDate: \"activityDate\",\r\n\r\n //Auth\r\n username: \"username\",\r\n token: \"token\",\r\n pathBeforeAuthentication: \"pathBeforeAuthentication\",\r\n autoRenewing: \"autoRenewing\",\r\n\r\n //Feedback\r\n confirmationOptions: \"confirmationOptions\",\r\n notifications: \"notifications\",\r\n sounds: \"sounds\",\r\n preventLeaving: \"preventLeaving\",\r\n tryingToLeave: \"tryingToLeave\",\r\n\r\n //Load\r\n lock: \"lock\",\r\n lockNeeded: \"lockNeeded\",\r\n loadActions: \"loadActions\",\r\n\r\n //Conf\r\n userConf: \"userConf\",\r\n allUserConfs: \"allUserConfs\",\r\n actorConf: \"actorConf\",\r\n allActorConfs: \"allActorConfs\"\r\n};\r\n\r\nexport const mutations = {\r\n //Root\r\n setUserInfo: \"setUserInfo\",\r\n setUnviewedMessages: \"setUnviewedMessages\",\r\n setClientOutdated: \"setClientOutdated\",\r\n setLocationCacheOutdated: \"setLocationCacheOutdated\",\r\n setBroadcast: \"setBroadcast\",\r\n setGlobalError: \"setGlobalError\",\r\n setDimensions: \"setDimensions\",\r\n setVisible: \"setVisible\",\r\n setMouseActivityDate: \"setMouseActivityDate\",\r\n\r\n //Auth\r\n setUsername: \"setUsername\",\r\n setToken: \"setToken\",\r\n setPathBeforeAuthentication: \"setPathBeforeAuthentication\",\r\n setAutoRenewing: \"setAutoRenewing\",\r\n\r\n //Feedback\r\n setConfirmationOptions: \"setConfirmationOptions\",\r\n addNotification: \"addNotification\",\r\n removeNotification: \"removeNotification\",\r\n pushSound: \"pushSound\",\r\n popSound: \"popSound\",\r\n setPreventLeaving: \"setPreventLeaving\",\r\n setTryingToLeave: \"setTryingToLeave\",\r\n\r\n //Load\r\n setLocks: \"setLocks\",\r\n updateLock: \"updateLock\",\r\n removeLock: \"removeLock\",\r\n tickLocks: \"tickLocks\",\r\n setPermissions: \"setPermissions\",\r\n\r\n //Conf\r\n setUserConf: \"setUserConf\",\r\n emptyUserConf: \"emptyUserConf\",\r\n setActorConf: \"setActorConf\",\r\n emptyActorConf: \"emptyActorConf\"\r\n};\r\n\r\nexport const actions = {\r\n //Root\r\n handleLoginError: \"handleLoginError\",\r\n handleApiError: \"handleApiError\",\r\n handleUnhandledError: \"handleUnhandledError\",\r\n handleBasicError: \"handleBasicError\",\r\n handleBasicErrorSilently: \"handleBasicErrorSilently\",\r\n handleBrowserWarning: \"handleBrowserWarning\",\r\n\r\n //Auth\r\n autoTokenRenew: \"autoTokenRenew\",\r\n startSignin: \"startSignin\",\r\n endSignin: \"endSignin\",\r\n startSignout: \"startSignout\",\r\n endSignout: \"endSignout\",\r\n startSigninSilent: \"startSigninSilent\",\r\n endSigninSilent: \"endSigninSilent\",\r\n\r\n //Feedback\r\n\r\n //Load\r\n fetchLocks: \"fetchLocks\",\r\n lock: \"lock\",\r\n unlock: \"unlock\",\r\n fetchPermissions: \"fetchPermissions\",\r\n\r\n //Conf\r\n resetUserConf: \"resetUserConf\",\r\n initUserConf: \"initUserConf\",\r\n saveUserConf: \"saveUserConf\",\r\n\r\n resetActorConf: \"resetActorConf\",\r\n initActorConf: \"initActorConf\",\r\n saveActorConf: \"saveActorConf\",\r\n deleteActorConf: \"deleteActorConf\"\r\n};\r\n","import { Module } from \"vuex\";\r\nimport { RootState } from \"@/scripts/store/store\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\n\r\nexport interface AuthState {\r\n username: String;\r\n token: String;\r\n pathBeforeAuthentication: String;\r\n autoRenewing: boolean;\r\n}\r\n\r\nconst state: AuthState = {\r\n username: \"\",\r\n token: \"\",\r\n pathBeforeAuthentication: \"\",\r\n autoRenewing: false\r\n};\r\n\r\nexport const authModule: Module = {\r\n state: state,\r\n getters: {\r\n [gets.username]: (state): String => {\r\n return state.username;\r\n },\r\n [gets.token]: (state): String => {\r\n return state.token;\r\n },\r\n [gets.pathBeforeAuthentication]: (state): String => {\r\n return state.pathBeforeAuthentication;\r\n },\r\n [gets.autoRenewing]: (state): boolean => {\r\n return state.autoRenewing;\r\n }\r\n },\r\n mutations: {\r\n [mutations.setUsername]: (state, username: string) => {\r\n state.username = username;\r\n },\r\n [mutations.setToken]: (state, token: string) => {\r\n state.token = token;\r\n },\r\n [mutations.setPathBeforeAuthentication]: (state, path: string) => {\r\n state.pathBeforeAuthentication = path;\r\n },\r\n [mutations.setAutoRenewing]: (state, value: boolean) => {\r\n state.autoRenewing = value;\r\n }\r\n },\r\n actions: {\r\n [actions.autoTokenRenew]: async (\r\n context,\r\n pathBeforeAuthentication: string\r\n ) => {\r\n Auth.getUser()\r\n .then(user => {\r\n let msUntilNextCheck = 2000;\r\n if (user === null || user!.expires_in < 15) {\r\n context.dispatch(\r\n actions.startSigninSilent,\r\n pathBeforeAuthentication\r\n );\r\n msUntilNextCheck = 10000;\r\n } else {\r\n context.commit(\r\n mutations.setUsername,\r\n user.profile.preferred_username\r\n );\r\n context.commit(mutations.setToken, user.id_token);\r\n }\r\n let browsingRoute = \"/\";\r\n if (Auth.browsingMobile()) {\r\n browsingRoute = \"/mobile\";\r\n }\r\n if (Auth.browsingSupportAdmin()) {\r\n browsingRoute = \"/support-admin\";\r\n }\r\n setTimeout(\r\n () => context.dispatch(actions.autoTokenRenew, browsingRoute),\r\n msUntilNextCheck\r\n );\r\n })\r\n .catch(error => {\r\n context.dispatch(actions.handleLoginError, error);\r\n });\r\n },\r\n [actions.startSignin]: async (\r\n context,\r\n pathBeforeAuthentication: string\r\n ) => {\r\n return Auth.startSigninMainWindow(pathBeforeAuthentication).catch(\r\n error => {\r\n context.dispatch(actions.handleLoginError, error);\r\n }\r\n );\r\n },\r\n [actions.endSignin]: async context => {\r\n return Auth.endSigninMainWindow()\r\n .then(user => {\r\n context.commit(\r\n mutations.setPathBeforeAuthentication,\r\n user.state.pathBeforeAuthentication\r\n );\r\n context.commit(\r\n mutations.setUsername,\r\n user.profile.preferred_username\r\n );\r\n context.commit(mutations.setToken, user.id_token);\r\n if (!context.getters[gets.autoRenewing]) {\r\n context.commit(mutations.setAutoRenewing, true);\r\n let browsingRoute = \"/\";\r\n if (Auth.browsingMobile()) {\r\n browsingRoute = \"/mobile\";\r\n }\r\n if (Auth.browsingSupportAdmin()) {\r\n browsingRoute = \"/support-admin\";\r\n }\r\n context.dispatch(actions.autoTokenRenew, browsingRoute);\r\n }\r\n })\r\n .catch(error => {\r\n context.dispatch(actions.handleLoginError, error);\r\n });\r\n },\r\n [actions.startSignout]: async (context, path: string) => {\r\n return Auth.startSignoutMainWindow(path).catch(error => {\r\n context.dispatch(actions.handleLoginError, error);\r\n });\r\n },\r\n [actions.endSignout]: async context => {\r\n return Auth.endSignoutMainWindow()\r\n .then(res => {\r\n context.commit(mutations.setUsername, \"\");\r\n context.commit(mutations.setToken, \"\");\r\n context.commit(\r\n \"setPathBeforeAuthentication\",\r\n res.state.pathBeforeAuthentication\r\n );\r\n })\r\n .catch(error => {\r\n context.dispatch(actions.handleLoginError, error);\r\n });\r\n },\r\n [actions.startSigninSilent]: (\r\n context,\r\n pathBeforeAuthentication: string\r\n ) => {\r\n Auth.startSigninSilent()\r\n .then(user => {\r\n context.commit(\r\n mutations.setUsername,\r\n user.profile.preferred_username\r\n );\r\n context.commit(mutations.setToken, user.id_token);\r\n })\r\n .catch(error => {\r\n if (error !== undefined && error.error === \"login_required\") {\r\n context.dispatch(actions.startSignin, pathBeforeAuthentication);\r\n } else {\r\n context.dispatch(actions.handleLoginError, error);\r\n }\r\n });\r\n },\r\n [actions.endSigninSilent]: async context => {\r\n return Auth.endSigninSilent().catch(error => {\r\n context.dispatch(actions.handleLoginError, error);\r\n });\r\n }\r\n }\r\n};\r\n","import { Module } from \"vuex\";\r\nimport { RootState } from \"@/scripts/store/store\";\r\nimport { gets, mutations } from \"@/scripts/store/constants\";\r\nimport { ConfirmationOptions, Sound } from \"@/scripts/types\";\r\nimport { Notification } from \"@/scripts/misc/notifications\";\r\n\r\nexport interface FeedbackState {\r\n confirmationOptions: ConfirmationOptions;\r\n notifications: Notification[];\r\n sounds: Sound[];\r\n preventLeaving: boolean;\r\n tryingToLeave: Function | undefined;\r\n}\r\n\r\nconst state: FeedbackState = {\r\n confirmationOptions: {\r\n btnCallback1: () => {}\r\n },\r\n notifications: [],\r\n sounds: [],\r\n preventLeaving: false,\r\n tryingToLeave: undefined\r\n};\r\n\r\nexport const feedbackModule: Module = {\r\n state: state,\r\n getters: {\r\n [gets.confirmationOptions]: (state): ConfirmationOptions => {\r\n return state.confirmationOptions;\r\n },\r\n [gets.notifications]: (state): Notification[] => {\r\n return state.notifications;\r\n },\r\n [gets.sounds]: (state): Sound[] => {\r\n return state.sounds;\r\n },\r\n [gets.preventLeaving]: (state): boolean => {\r\n return state.preventLeaving;\r\n },\r\n [gets.tryingToLeave]: (state): Function | undefined => {\r\n return state.tryingToLeave;\r\n }\r\n },\r\n mutations: {\r\n [mutations.setConfirmationOptions]: (state, options) => {\r\n state.confirmationOptions = options;\r\n },\r\n [mutations.addNotification]: (state, notification) => {\r\n state.notifications = [...state.notifications, notification];\r\n },\r\n [mutations.removeNotification]: (state, id) => {\r\n state.notifications = state.notifications.filter(n => n.id !== id);\r\n },\r\n [mutations.pushSound]: (state, sound: Sound) => {\r\n state.sounds = [...state.sounds, sound];\r\n },\r\n [mutations.popSound]: state => {\r\n state.sounds = state.sounds = state.sounds.slice(1);\r\n },\r\n [mutations.setPreventLeaving]: (state, val) => {\r\n state.preventLeaving = val;\r\n },\r\n [mutations.setTryingToLeave]: (state, val) => {\r\n state.tryingToLeave = val;\r\n }\r\n },\r\n actions: {}\r\n};\r\n","import { Module } from \"vuex\";\r\nimport { RootState } from \"@/scripts/store/store\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport {\r\n ApiConfiguration,\r\n LoadActionPermission,\r\n LoadActionPermissionContainerDto,\r\n LoadLockDto,\r\n LoadsClient,\r\n LoadStatus,\r\n LockStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { LoadAction } from \"@/scripts/types\";\r\nimport { loadStatusIcon } from \"../misc/enumNames\";\r\n\r\nexport interface LoadState {\r\n locks: LoadLockDto[];\r\n permissions: LoadActionPermissionContainerDto[];\r\n}\r\n\r\nconst state: LoadState = {\r\n locks: [],\r\n permissions: []\r\n};\r\n\r\nexport const loadModule: Module = {\r\n state: state,\r\n getters: {\r\n [gets.lock]: (state): { (loadId: number): LoadLockDto | undefined } => {\r\n return (loadId: number) => {\r\n return state.locks.find(l => l.loadId === loadId);\r\n };\r\n },\r\n [gets.lockNeeded]: (\r\n state,\r\n getters\r\n ): {\r\n (actionId: LoadActionPermission | undefined, loadIds: number[]): boolean;\r\n } => {\r\n return (\r\n actionId: LoadActionPermission | undefined,\r\n loadIds: number[]\r\n ) => {\r\n if (!actionId || !loadIds.length) {\r\n return false;\r\n }\r\n return loadIds.some(\r\n id =>\r\n getters[gets.loadActions](id).find(\r\n (a: LoadAction) => a.id === actionId\r\n )!.lockNeeded\r\n );\r\n };\r\n },\r\n [gets.loadActions]: (state): { (loadId: number): LoadAction[] } => {\r\n return (loadId: number) => {\r\n const loadActions: LoadAction[] = [\r\n new LoadAction(\r\n LoadActionPermission.Details,\r\n \"Details\",\r\n \"mdi-text-box-search-outline\"\r\n ),\r\n new LoadAction(LoadActionPermission.ClientEdit, \"Edit\", \"mdi-pencil\"),\r\n new LoadAction(\r\n LoadActionPermission.Book,\r\n \"Book\",\r\n \"mdi-book-check-outline\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Load,\r\n \"SetLoaded\",\r\n \"mdi-tray-arrow-down\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Deliver,\r\n \"Deliver\",\r\n \"mdi-tray-arrow-up\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Unbook,\r\n \"UnBook\",\r\n \"mdi-book-remove-outline\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.CreateSpotTender,\r\n \"StartSpotTender\",\r\n loadStatusIcon(LoadStatus.Ordered, true)\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.EditSpotTender,\r\n \"ManageSpotTender\",\r\n loadStatusIcon(LoadStatus.Ordered, true)\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.SupplierSpotTender,\r\n \"ManageSpotTender\",\r\n loadStatusIcon(LoadStatus.Ordered, true)\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Reorder,\r\n \"ReorderLoad\",\r\n \"mdi-undo-variant\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Resign,\r\n \"Resign\",\r\n \"mdi-book-cancel-outline\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.SupplierEdit,\r\n \"Edit\",\r\n \"mdi-pencil\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Annul,\r\n \"Annul\",\r\n \"mdi-trash-can-outline\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.Deviation,\r\n \"Deviations\",\r\n \"mdi-sticker-alert-outline\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.ContainerExport,\r\n \"ContainerExport\",\r\n \"mdi-file-pdf-box\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.ContainerEdit,\r\n \"EditContainers\",\r\n \"mdi-playlist-edit\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.SupplierEditDocuments,\r\n \"Documents\",\r\n \"mdi-file-document-edit-outline\"\r\n ),\r\n new LoadAction(\r\n LoadActionPermission.LoadingSlotEdit,\r\n \"EditLoadingSlot\",\r\n \"mdi-calendar-edit\"\r\n )\r\n ];\r\n const permission = state.permissions.find(p => p.loadId === loadId);\r\n const allowedActions = permission ? permission.allowedActions! : [];\r\n\r\n loadActions.map(a => {\r\n a.allowed =\r\n allowedActions.find(aa => aa.action === a.id && aa.allowed) !==\r\n undefined;\r\n a.lockNeeded =\r\n allowedActions.find(aa => aa.action === a.id && aa.lockNeeded) !==\r\n undefined;\r\n });\r\n return loadActions;\r\n };\r\n }\r\n },\r\n mutations: {\r\n [mutations.setLocks]: (state, locks: LoadLockDto[]) => {\r\n state.locks = locks;\r\n },\r\n [mutations.updateLock]: (state, locks: LoadLockDto[]) => {\r\n state.locks = [\r\n ...state.locks.filter(l => !locks.some(ll => ll.loadId === l.loadId)),\r\n ...locks\r\n ];\r\n },\r\n [mutations.removeLock]: (state, loadIds: number[]) => {\r\n state.locks = state.locks.filter(l => !loadIds.includes(l.loadId));\r\n },\r\n [mutations.tickLocks]: state => {\r\n state.locks.map(l => l.secondsLeft--);\r\n },\r\n [mutations.setPermissions]: (\r\n state,\r\n permissions: LoadActionPermissionContainerDto[]\r\n ) => {\r\n state.permissions = [\r\n ...permissions,\r\n ...state.permissions.filter(\r\n p => !permissions.some(x => x.loadId === p.loadId)\r\n )\r\n ];\r\n }\r\n },\r\n actions: {\r\n [actions.fetchLocks]: (context, loadIds: number[]) => {\r\n return new LoadsClient(new ApiConfiguration(context))\r\n .lockStatus(loadIds)\r\n .then(res => {\r\n context.commit(mutations.setLocks, res);\r\n });\r\n },\r\n [actions.lock]: (context, loadIds: number[]): Promise => {\r\n return new LoadsClient(new ApiConfiguration(context))\r\n .lock(loadIds)\r\n .then(res => {\r\n context.commit(mutations.updateLock, res);\r\n return loadIds.every(id =>\r\n res.some(\r\n r =>\r\n r.loadId === id &&\r\n r.lockStatus !== LockStatus.LockedBySomeoneElse\r\n )\r\n );\r\n });\r\n },\r\n [actions.unlock]: (context, loadIds: number[]) => {\r\n return new LoadsClient(new ApiConfiguration(context))\r\n .unlock(loadIds)\r\n .then(() => {\r\n context.commit(mutations.removeLock, loadIds);\r\n });\r\n },\r\n [actions.fetchPermissions]: (context, loadIds: number[]) => {\r\n context.commit(mutations.setPermissions, []);\r\n return new LoadsClient(new ApiConfiguration(context))\r\n .allowedActions(loadIds)\r\n .then(res => {\r\n context.commit(mutations.setPermissions, res);\r\n });\r\n }\r\n }\r\n};\r\n","import {\r\n LoadSearchCriteriaDto,\r\n LoadStatus,\r\n CargoType,\r\n ClientAgreementSearchCriteria,\r\n SupplierAgreementSearchCriteria,\r\n EmailSearchCriteria,\r\n UserConfigurationType,\r\n LoadFilterDateType,\r\n ExplorerSearchCriteria,\r\n ActorType,\r\n CostReportSearchCriteria,\r\n SaveProcurementDto,\r\n AgreementPeriodDto,\r\n ProcurementPeriodDto,\r\n InvoiceReportSearchCriteria,\r\n DeviationReportSearchCriteria,\r\n DistanceReportSearchCriteria,\r\n LoadStatisticsReportSearchCriteria,\r\n InvoiceReportTreatedStatus,\r\n LoadStatisticsReportTab,\r\n LoadStatisticsReportSplit,\r\n AgreementStatisticsReportSearchCriteria,\r\n LoadVisibilityFilter,\r\n SupplierProcurementSearchCriteria,\r\n ProcurementAnalyticsSearchCriteria,\r\n AgreementRouteDistanceSearchCriteria,\r\n QualityPointsSearchCriteria,\r\n ClientMonitoringSearchCriteria,\r\n InvoiceSearchDto,\r\n InvoicedFeesSearchCriteria,\r\n QualityPointsReportSplit,\r\n HeatMapSearchCriteria,\r\n AnnulledLoadsReportSearchCriteria,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport {\r\n AgreementRouteFilter,\r\n CalendarConfiguration,\r\n CreateLoadPresets,\r\n LoadListTab,\r\n MobilePopupConfiguration,\r\n ReadDocuments,\r\n spotTenderTabId,\r\n SupplierProcurementConfig\r\n} from \"@/scripts/types\";\r\nimport { UserConfigurationEntry } from \"@/scripts/store/userConfModule\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport {\r\n currencies,\r\n truckTypes,\r\n truckTypesByCargoType\r\n} from \"@/scripts/misc/enumLists\";\r\nimport { zoneName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default (\r\n type: UserConfigurationType,\r\n subTypeId: number,\r\n actorType: ActorType,\r\n zone: TimeZone,\r\n json?: string\r\n): UserConfigurationEntry => {\r\n let conf;\r\n switch (type) {\r\n case UserConfigurationType.ClientAgreement:\r\n conf = createClientAgreementSearchCriteria(subTypeId, zone, json);\r\n break;\r\n case UserConfigurationType.ClientProcurement:\r\n conf = createClientAgreementSearchCriteria(subTypeId, zone, json);\r\n break;\r\n case UserConfigurationType.SupplierAgreement:\r\n conf = createSupplierAgreementSearchCriteria(subTypeId, zone, json);\r\n break;\r\n case UserConfigurationType.SupplierProcurement:\r\n conf = createSupplierProcurementSearchCriteria(subTypeId, zone, json);\r\n break;\r\n case UserConfigurationType.LoadList:\r\n conf = createLoadSearchCriteria(subTypeId, zone, json);\r\n break;\r\n case UserConfigurationType.LoadTab:\r\n conf = createLoadTabConf(subTypeId, actorType, zone, json);\r\n break;\r\n case UserConfigurationType.CreateLoad:\r\n conf = createCreateLoadPresetsConf(zone, json);\r\n break;\r\n case UserConfigurationType.ProcurementDraft:\r\n conf = createProcurementDraftConf(zone, json);\r\n break;\r\n case UserConfigurationType.AgreementRoute:\r\n conf = createAgreementRouteConf(zone, json);\r\n break;\r\n case UserConfigurationType.CostReport:\r\n conf = createCostReportSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.InvoiceReport:\r\n conf = createInvoiceReportSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.LoadStatisticsReport:\r\n conf = createLoadStatisticsReportSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.AgreementStatisticsReport:\r\n conf = createAgreementStatisticsReportSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.DeviationReport:\r\n conf = createDeviationReportSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.DistanceReport:\r\n conf = createDistanceReportSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.MobilePopup:\r\n conf = createMobilePopupConfiguration(zone, json);\r\n break;\r\n case UserConfigurationType.SupplierProcurementConfig:\r\n conf = createSupplierProcurementConfiguration(zone, json);\r\n break;\r\n case UserConfigurationType.CalendarConfiguration:\r\n conf = createCalendarConfiguration(zone, json);\r\n break;\r\n case UserConfigurationType.ReadDocuments:\r\n conf = createReadDocuments(zone, json);\r\n break;\r\n case UserConfigurationType.ProcurementAnalytics:\r\n conf = createProcurementAnalyticsSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.QualityPoints:\r\n conf = createQualityPointsSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.ClientMonitoring:\r\n conf = createClientMonitoringSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.InvoicedFees: //Denna är väl c-admin?\r\n conf = createInvoicedFeesSearchCriteria(zone, json);\r\n break;\r\n case UserConfigurationType.AnnulledLoadsReport:\r\n conf = createAnnulledLoadsReportSearchCriteria(zone, json);\r\n break;\r\n /*********************** C-Admin ************************/\r\n case UserConfigurationType.Mailviewer:\r\n conf = createMailviewerCriteria();\r\n break;\r\n case UserConfigurationType.Explorer:\r\n conf = createExplorerSearchCriteria();\r\n break;\r\n case UserConfigurationType.Distance:\r\n conf = createDistanceSearchCriteria();\r\n break;\r\n case UserConfigurationType.InvoiceGenerator:\r\n conf = createInvoiceGeneratorSearchCriteria();\r\n break;\r\n case UserConfigurationType.HeatMap:\r\n conf = createHeatMapSearchCriteria();\r\n break;\r\n default:\r\n neverHappens(type);\r\n }\r\n\r\n return {\r\n type: type,\r\n subTypeId: subTypeId,\r\n conf: conf\r\n } as UserConfigurationEntry;\r\n};\r\n\r\nfunction createClientAgreementSearchCriteria(\r\n cargoType: CargoType,\r\n zone: TimeZone,\r\n json: string | undefined\r\n): ClientAgreementSearchCriteria {\r\n let searchCriteria = new ClientAgreementSearchCriteria({\r\n cargoType: cargoType,\r\n currencyType: undefined,\r\n truckType: undefined,\r\n supplierId: undefined,\r\n priceFilter: undefined,\r\n pickupCountry: null as any,\r\n deliveryCountry: null as any,\r\n pickupLocationCounty: null as any,\r\n deliveryLocationCounty: null as any,\r\n pickupLocationZipCode: null as any,\r\n deliveryLocationZipCode: null as any,\r\n tag: null as any,\r\n date: CDate.now(zone),\r\n unitBasePrice: false,\r\n unitBasePriceDate: mostRelevantBasePriceDate,\r\n baseIndexDate: undefined,\r\n noOfItemsInAverage: 5\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.date !== undefined) {\r\n parsed.date = dateFromString(parsed.date, zone);\r\n }\r\n if (parsed.unitBasePriceDate !== undefined) {\r\n parsed.unitBasePriceDate = dateFromString(\r\n parsed.unitBasePriceDate,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n if (parsed.baseIndexDate !== undefined) {\r\n parsed.baseIndexDate = dateFromString(\r\n parsed.baseIndexDate,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.unitBasePrice = false;\r\n return searchCriteria;\r\n}\r\n\r\nfunction createSupplierAgreementSearchCriteria(\r\n cargoType: CargoType,\r\n zone: TimeZone,\r\n json: string | undefined\r\n): SupplierAgreementSearchCriteria {\r\n let searchCriteria = new SupplierAgreementSearchCriteria({\r\n cargoType: cargoType,\r\n currencyType: undefined,\r\n truckType: undefined,\r\n clientId: undefined,\r\n pickupCountry: null as any,\r\n deliveryCountry: null as any,\r\n pickupLocationCounty: null as any,\r\n deliveryLocationCounty: null as any,\r\n pickupLocationZipCode: null as any,\r\n deliveryLocationZipCode: null as any,\r\n date: CDate.now(zone),\r\n unitBasePrice: false,\r\n unitBasePriceDate: mostRelevantBasePriceDate,\r\n baseIndexDate: undefined\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.date !== undefined) {\r\n parsed.date = dateFromString(parsed.date, zone);\r\n }\r\n if (parsed.unitBasePriceDate !== undefined) {\r\n parsed.unitBasePriceDate = dateFromString(\r\n parsed.unitBasePriceDate,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n if (parsed.baseIndexDate !== undefined) {\r\n parsed.baseIndexDate = dateFromString(\r\n parsed.baseIndexDate,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.unitBasePrice = false;\r\n return searchCriteria;\r\n}\r\n\r\nfunction createSupplierProcurementSearchCriteria(\r\n cargoType: CargoType,\r\n zone: TimeZone,\r\n json: string | undefined\r\n): SupplierProcurementSearchCriteria {\r\n let searchCriteria = new SupplierProcurementSearchCriteria({\r\n cargoType: cargoType,\r\n truckTypes: [],\r\n clientId: undefined,\r\n priceFilter: undefined,\r\n currency: undefined,\r\n daysForward: 30,\r\n pickupCountries: [],\r\n deliveryCountries: [],\r\n pickupCounty: null as any,\r\n deliveryCounty: null as any,\r\n pickupZipCode: null as any,\r\n deliveryZipCode: null as any,\r\n closedProcurements: false\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n return searchCriteria;\r\n}\r\n\r\nfunction createLoadSearchCriteria(\r\n subTypeId: number,\r\n zone: TimeZone,\r\n json: string | undefined\r\n): LoadSearchCriteriaDto {\r\n let filterType: LoadFilterDateType;\r\n let daysBack: number;\r\n let daysForward: number;\r\n const statuses: LoadStatus[] = [subTypeId as LoadStatus];\r\n\r\n switch (subTypeId) {\r\n case LoadStatus.Ordered:\r\n filterType = LoadFilterDateType.RegDate;\r\n daysBack = 31;\r\n daysForward = -1;\r\n statuses.push(LoadStatus.MissingAgreement);\r\n break;\r\n case LoadStatus.Booked:\r\n filterType = LoadFilterDateType.BookedDate;\r\n daysBack = 31;\r\n daysForward = -1;\r\n break;\r\n case LoadStatus.Loaded:\r\n filterType = LoadFilterDateType.LoadedDate;\r\n daysBack = 31;\r\n daysForward = -1;\r\n break;\r\n case LoadStatus.Delivered:\r\n filterType = LoadFilterDateType.DeliverDate;\r\n daysBack = 31;\r\n daysForward = -1;\r\n break;\r\n case LoadStatus.Annulled:\r\n filterType = LoadFilterDateType.AlterDate;\r\n daysBack = 31;\r\n daysForward = -1;\r\n break;\r\n case spotTenderTabId:\r\n filterType = LoadFilterDateType.SpotTenderEndDate;\r\n (daysBack = 370), (daysForward = -1);\r\n statuses.length = 0;\r\n statuses.push(LoadStatus.Ordered);\r\n break;\r\n default:\r\n throw Error(\"Unknown load tab id\");\r\n }\r\n let searchCriteria = new LoadSearchCriteriaDto({\r\n loadId: undefined,\r\n transportNo: undefined,\r\n unit: undefined,\r\n referenceNo: undefined,\r\n regNo: undefined,\r\n statuses: statuses,\r\n supplierId: undefined,\r\n terminalId: undefined,\r\n customerId: undefined,\r\n truckType: [],\r\n hasExtraStops: undefined,\r\n resignedLoads: subTypeId !== LoadStatus.Ordered,\r\n loadVisibilityFilter:\r\n subTypeId === LoadStatus.Ordered\r\n ? LoadVisibilityFilter.OnlyPublished\r\n : subTypeId === spotTenderTabId\r\n ? LoadVisibilityFilter.OnlySpotTenders\r\n : LoadVisibilityFilter.NoFilter,\r\n pickupLocationCountryId: null as any,\r\n deliveryLocationCountryId: null as any,\r\n pickupLocationCounty: null as any,\r\n deliveryLocationCounty: null as any,\r\n pickupLocationZipCode: null as any,\r\n deliveryLocationZipCode: null as any,\r\n filterDateType: filterType!,\r\n filterDateDaysBack: daysBack!,\r\n filterDateDaysForward: daysForward!\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.filterDate !== undefined) {\r\n parsed.filterDate = dateFromString(parsed.filterDate, zone);\r\n }\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n return searchCriteria;\r\n}\r\n\r\nfunction createLoadTabConf(\r\n subTypeId: number,\r\n actorType: ActorType,\r\n zone: TimeZone,\r\n json: string | undefined\r\n): LoadListTab {\r\n let conf = new LoadListTab(subTypeId, actorType);\r\n try {\r\n const parsed = JSON.parse(json!);\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\nfunction createCreateLoadPresetsConf(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): CreateLoadPresets {\r\n let conf = new CreateLoadPresets(\"\", \"\");\r\n try {\r\n const parsed = JSON.parse(json!);\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\nfunction createProcurementDraftConf(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): SaveProcurementDto {\r\n let saveDto = new SaveProcurementDto({\r\n cargoType: undefined as any,\r\n timeZone: undefined as any,\r\n country: undefined as any,\r\n message: \"\",\r\n documentGroupId: undefined as any,\r\n agreementRouteIds: [],\r\n supplierIds: [],\r\n agreementPeriod: new AgreementPeriodDto({\r\n from: undefined as any,\r\n to: undefined as any\r\n }),\r\n procurementPeriods: [\r\n new ProcurementPeriodDto({\r\n number: 1,\r\n from: undefined as any,\r\n to: undefined as any,\r\n rankingMethod: undefined as any,\r\n qualityPointsFrom: undefined as any,\r\n qualityPointsTo: undefined as any\r\n })\r\n ]\r\n });\r\n try {\r\n const parsed: SaveProcurementDto = JSON.parse(json!);\r\n saveDto = new SaveProcurementDto({\r\n cargoType: parsed.cargoType,\r\n timeZone: parsed.timeZone,\r\n country: parsed.country,\r\n message: parsed.message,\r\n documentGroupId: parsed.documentGroupId,\r\n agreementRouteIds: parsed.agreementRouteIds,\r\n supplierIds: parsed.supplierIds,\r\n agreementPeriod: new AgreementPeriodDto({\r\n from: dateFromString(parsed.agreementPeriod!.from as any, zone),\r\n to: dateFromString(parsed.agreementPeriod!.to as any, zone)\r\n }),\r\n procurementPeriods: parsed.procurementPeriods!.map(\r\n p =>\r\n new ProcurementPeriodDto({\r\n number: p.number,\r\n from: dateFromString(p.from as any, zone),\r\n to: dateFromString(p.to as any, zone),\r\n rankingMethod: p.rankingMethod,\r\n qualityPointsFrom: dateFromString(p.qualityPointsFrom as any, zone),\r\n qualityPointsTo: dateFromString(p.qualityPointsTo as any, zone)\r\n })\r\n )\r\n });\r\n } catch (error) {}\r\n return saveDto;\r\n}\r\n\r\nfunction createAgreementRouteConf(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): AgreementRouteFilter {\r\n let filter: AgreementRouteFilter = {\r\n cargoType: CargoType.Road,\r\n routeId: \"\",\r\n pickupCounty: \"\",\r\n pickupZipcode: \"\",\r\n pickupCountry: undefined,\r\n pickupInfo: \"\",\r\n deliveryCounty: \"\",\r\n deliveryZipcode: \"\",\r\n deliveryCountries: [],\r\n destinationInfo: \"\",\r\n currency: undefined,\r\n estimate: undefined,\r\n specReq: \"\",\r\n tag: undefined,\r\n procurement: undefined,\r\n agreementEnd: undefined\r\n };\r\n try {\r\n const parsed: AgreementRouteFilter = JSON.parse(json!);\r\n filter = Object.assign(filter, parsed);\r\n filter.agreementEnd = undefined; //Nollställs för att inte förvirra användare med gammalt filter\r\n } catch (error) {}\r\n return filter;\r\n}\r\n\r\n/******************************************** REPORTS *****************************************/\r\n\r\nfunction createCostReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): CostReportSearchCriteria {\r\n let searchCriteria = new CostReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n currencyType: undefined,\r\n truckType: undefined,\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n unit: undefined,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone)\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = CDate.now(zone);\r\n parsed.toDate = CDate.now(zone);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n //Vi skriver över datumet som kom från db.\r\n searchCriteria.fromDate = CDate.now(zone).startOfMonth();\r\n searchCriteria.toDate = CDate.now(zone).endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createInvoiceReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): InvoiceReportSearchCriteria {\r\n let searchCriteria = new InvoiceReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n actorId: undefined,\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n unit: undefined,\r\n currency: undefined,\r\n transportNo: undefined,\r\n treatedStatuses: [\r\n InvoiceReportTreatedStatus.Treated,\r\n InvoiceReportTreatedStatus.Untreated\r\n ]\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = CDate.now(zone);\r\n parsed.toDate = CDate.now(zone);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n //Vi skriver över datumet som kom från db.\r\n searchCriteria.fromDate = CDate.now(TimeZone.Europe_Stockholm).startOfMonth(); // Invoice report should be swedish time.\r\n searchCriteria.toDate = CDate.now(TimeZone.Europe_Stockholm).endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createLoadStatisticsReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): LoadStatisticsReportSearchCriteria {\r\n let searchCriteria = new LoadStatisticsReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n actorId: undefined,\r\n unit: undefined,\r\n truckTypes: [],\r\n pickupCountry: undefined,\r\n deliveryCountries: [],\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n includeBroadcast: true,\r\n splitColumns: [LoadStatisticsReportSplit.Actors],\r\n tab: LoadStatisticsReportTab.Bookings\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = CDate.now(zone);\r\n parsed.toDate = CDate.now(zone);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n //Vi skriver över datumet som kom från db.\r\n searchCriteria.fromDate = CDate.now(zone).startOfMonth();\r\n searchCriteria.toDate = CDate.now(zone).endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createAgreementStatisticsReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): AgreementStatisticsReportSearchCriteria {\r\n let searchCriteria = new AgreementStatisticsReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n actorId: undefined,\r\n truckTypes: [],\r\n pickupCountry: undefined,\r\n deliveryCountries: [],\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n includeBroadcast: true\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = CDate.now(zone);\r\n parsed.toDate = CDate.now(zone);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n //Vi skriver över datumet som kom från db.\r\n searchCriteria.fromDate = CDate.now(zone).startOfMonth();\r\n searchCriteria.toDate = CDate.now(zone).endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createDeviationReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): DeviationReportSearchCriteria {\r\n let searchCriteria = new DeviationReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n supplierId: undefined,\r\n pickupCountry: undefined,\r\n deliveryCountries: [],\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n deviationCauses: [],\r\n otherPriceCauses: []\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = CDate.now(zone);\r\n parsed.toDate = CDate.now(zone);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n //Vi skriver över datumet som kom från db.\r\n searchCriteria.fromDate = CDate.now(zone).startOfMonth();\r\n searchCriteria.toDate = CDate.now(zone).endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createDistanceReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): DistanceReportSearchCriteria {\r\n let searchCriteria = new DistanceReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n mergeTruckTypes: false\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = CDate.now(zone);\r\n parsed.toDate = CDate.now(zone);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n //Vi skriver över datumet som kom från db.\r\n searchCriteria.fromDate = CDate.now(zone).startOfMonth();\r\n searchCriteria.toDate = CDate.now(zone).endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createProcurementAnalyticsSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): ProcurementAnalyticsSearchCriteria {\r\n let searchCriteria = new ProcurementAnalyticsSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n agreementValidDate: CDate.now(zone),\r\n unitBasePriceDate: mostRelevantBasePriceDate,\r\n supplierId: undefined,\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n tag: undefined,\r\n currency: undefined\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.unitBasePriceDate !== undefined) {\r\n parsed.unitBasePriceDate = dateFromString(\r\n parsed.unitBasePriceDate,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.agreementValidDate = CDate.now(zone);\r\n return searchCriteria;\r\n}\r\n\r\nfunction createQualityPointsSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): QualityPointsSearchCriteria {\r\n let searchCriteria = new QualityPointsSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n actorId: undefined,\r\n unit: undefined,\r\n split: QualityPointsReportSplit.Route\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.fromDate = CDate.now(zone)\r\n .addYears(-1)\r\n .startOfDay();\r\n searchCriteria.toDate = CDate.now(zone).startOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createClientMonitoringSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): ClientMonitoringSearchCriteria {\r\n let searchCriteria = new ClientMonitoringSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n unit: undefined\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.fromDate = CDate.now(zone)\r\n .addMonths(-1)\r\n .startOfDay();\r\n searchCriteria.toDate = CDate.now(zone).startOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createInvoicedFeesSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): InvoicedFeesSearchCriteria {\r\n let searchCriteria = new InvoicedFeesSearchCriteria({\r\n actorId: undefined as any,\r\n invoiceDate: undefined as any,\r\n loadId: undefined,\r\n transportNo: undefined,\r\n pickupCountry: undefined,\r\n pickupCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryCountry: undefined,\r\n deliveryCounty: undefined,\r\n deliveryZipCode: undefined,\r\n unit: undefined,\r\n feeType: undefined,\r\n currency: undefined\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.invoiceDate !== undefined) {\r\n parsed.invoiceDate = dateFromString(parsed.invoiceDate, zone);\r\n }\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n return searchCriteria;\r\n}\r\n\r\nfunction createAnnulledLoadsReportSearchCriteria(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): AnnulledLoadsReportSearchCriteria {\r\n let searchCriteria = new AnnulledLoadsReportSearchCriteria({\r\n loadId: undefined,\r\n transportNo: undefined,\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: CDate.now(zone),\r\n toDate: CDate.now(zone),\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n unit: undefined\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.fromDate = CDate.now(zone)\r\n .addMonths(-1)\r\n .startOfDay();\r\n searchCriteria.toDate = CDate.now(zone).endOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createMobilePopupConfiguration(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): MobilePopupConfiguration {\r\n let conf = new MobilePopupConfiguration({\r\n dismissedDates: []\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.dismissedDates) {\r\n parsed.dismissedDates = parsed.dismissedDates.map((d: string) =>\r\n dateFromString(d, zone)\r\n );\r\n }\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\nfunction createCalendarConfiguration(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): CalendarConfiguration {\r\n let conf = new CalendarConfiguration({\r\n calendarAutoDateSliding: true\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\nfunction createReadDocuments(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): ReadDocuments {\r\n let conf = new ReadDocuments({\r\n agreements: []\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\nfunction createSupplierProcurementConfiguration(\r\n zone: TimeZone,\r\n json: string | undefined\r\n): SupplierProcurementConfig {\r\n let conf = new SupplierProcurementConfig({\r\n kmPrices: truckTypes()\r\n .filter(tt =>\r\n truckTypesByCargoType(CargoType.Road).some(t => t.id === tt.id)\r\n )\r\n .flatMap(tt =>\r\n currencies().map(c => ({\r\n truckType: tt.id,\r\n currency: c.id,\r\n value: undefined\r\n }))\r\n ),\r\n stopPrices: currencies().map(c => ({ currency: c.id, value: undefined })),\r\n truckPercentage: 45,\r\n wagonPercentage: 70\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\n/******************************************** C-ADMIN *****************************************/\r\n\r\nfunction createMailviewerCriteria() {\r\n return new EmailSearchCriteria({\r\n topMailCount: 100,\r\n emailAddressFilter: \"\",\r\n fromDate: CDate.fromString(\"2010-01-01\", TimeZone.Europe_Stockholm),\r\n toDate: CDate.fromString(\"2030-01-01\", TimeZone.Europe_Stockholm),\r\n withRetries: undefined,\r\n subject: \"\",\r\n body: \"\"\r\n });\r\n}\r\n\r\nfunction createExplorerSearchCriteria(): ExplorerSearchCriteria {\r\n return new ExplorerSearchCriteria({\r\n method: 1,\r\n text: \"\",\r\n loadStatuses: [],\r\n client: undefined,\r\n fromDate: CDate.fromString(\"2010-01-01\", TimeZone.Europe_Stockholm),\r\n toDate: CDate.fromString(\"2030-01-01\", TimeZone.Europe_Stockholm)\r\n });\r\n}\r\n\r\nfunction createDistanceSearchCriteria(): AgreementRouteDistanceSearchCriteria {\r\n return new AgreementRouteDistanceSearchCriteria({\r\n clientId: undefined,\r\n cargoType: undefined,\r\n hasDistance: undefined,\r\n hidden: undefined,\r\n pickupCountry: undefined,\r\n deliveryCountry: undefined,\r\n pickupCounty: undefined,\r\n deliveryCounty: undefined,\r\n pickupZipCode: undefined,\r\n deliveryZipCode: undefined,\r\n routingExactnessPickup: undefined,\r\n routingExactnessDelivery: undefined\r\n });\r\n}\r\n\r\nfunction createInvoiceGeneratorSearchCriteria(): InvoiceSearchDto {\r\n return new InvoiceSearchDto({\r\n date: CDate.now(TimeZone.Europe_Stockholm).startOfMonth(),\r\n feeTypes: []\r\n });\r\n}\r\n\r\nfunction createHeatMapSearchCriteria(): HeatMapSearchCriteria {\r\n return new HeatMapSearchCriteria({\r\n fromDate: CDate.now(TimeZone.Europe_Stockholm)\r\n .startOfDay()\r\n .addDays(1)\r\n .addYears(-1),\r\n toDate: CDate.now(TimeZone.Europe_Stockholm)\r\n .startOfDay()\r\n .addDays(1),\r\n hoursPerGroup: 1,\r\n clientId: 1,\r\n units: []\r\n });\r\n}\r\n\r\nconst mostRelevantBasePriceDate = CDate.fromString(\r\n \"2021-12-10\",\r\n TimeZone.Europe_Stockholm\r\n);\r\n\r\nexport const dateFromString = (\r\n str: string | undefined | null,\r\n zone: TimeZone\r\n): CDate => {\r\n if (str) {\r\n const date = CDate.fromApiString(str);\r\n if (date) {\r\n if (date.zoneName !== zoneName(zone)) {\r\n console.error(\r\n \"Expected zone \" + zoneName(zone) + \" but got \" + date.zoneName\r\n );\r\n }\r\n return date;\r\n }\r\n }\r\n return undefined as any;\r\n};\r\n","import { Module } from \"vuex\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n CargoType,\r\n ClientAgreementSearchCriteria,\r\n LoadStatus,\r\n SupplierAgreementSearchCriteria,\r\n TimeZone,\r\n UserConfigurationDto,\r\n UserConfigurationType,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { RootState } from \"@/scripts/store/store\";\r\nimport { mutations, actions, gets } from \"@/scripts/store/constants\";\r\nimport createUserConf from \"@/scripts/store/createUserConf\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { AgreementRouteFilter, spotTenderTabId } from \"@/scripts/types\";\r\n\r\nexport interface UserConfigurationEntry {\r\n type: UserConfigurationType;\r\n subTypeId: number;\r\n conf: Object;\r\n}\r\n\r\nexport interface UserConfigurationState {\r\n confs: UserConfigurationEntry[];\r\n}\r\n\r\nconst state: UserConfigurationState = {\r\n confs: []\r\n};\r\n\r\nexport const userConfModule: Module = {\r\n state: state,\r\n getters: {\r\n [gets.userConf]: state => {\r\n return (type: UserConfigurationType, subTypeId: number): Object => {\r\n return state.confs.find(\r\n c => c.type === type && c.subTypeId === subTypeId\r\n )!.conf;\r\n };\r\n },\r\n [gets.allUserConfs]: state => {\r\n return (type: UserConfigurationType): UserConfigurationEntry[] => {\r\n return [...state.confs.filter(c => c.type === type)].sort(\r\n (a, b) => a.subTypeId - b.subTypeId\r\n );\r\n };\r\n }\r\n },\r\n mutations: {\r\n [mutations.setUserConf]: (state, conf: UserConfigurationEntry) => {\r\n state.confs = [\r\n conf,\r\n ...state.confs.filter(\r\n c => c.type !== conf.type || c.subTypeId !== conf.subTypeId\r\n )\r\n ];\r\n },\r\n [mutations.emptyUserConf]: state => {\r\n state.confs = [];\r\n }\r\n },\r\n actions: {\r\n [actions.resetUserConf]: (\r\n context,\r\n data: {\r\n type: UserConfigurationType;\r\n subTypeId: number;\r\n actorType: ActorType;\r\n }\r\n ) => {\r\n const entry = createUserConf(\r\n data.type,\r\n data.subTypeId,\r\n data.actorType,\r\n context.getters[gets.userInfo].zone\r\n );\r\n switch (entry.type) {\r\n case UserConfigurationType.ClientAgreement:\r\n case UserConfigurationType.ClientProcurement:\r\n (entry.conf as ClientAgreementSearchCriteria).unitBasePriceDate = context.getters[\r\n gets.userConf\r\n ](data.type, data.subTypeId).unitBasePriceDate;\r\n break;\r\n case UserConfigurationType.SupplierAgreement:\r\n case UserConfigurationType.SupplierProcurement:\r\n (entry.conf as SupplierAgreementSearchCriteria).unitBasePriceDate = context.getters[\r\n gets.userConf\r\n ](data.type, data.subTypeId).unitBasePriceDate;\r\n break;\r\n case UserConfigurationType.AgreementRoute:\r\n (entry.conf as AgreementRouteFilter).cargoType = context.getters[\r\n gets.userConf\r\n ](data.type, data.subTypeId).cargoType;\r\n break;\r\n case UserConfigurationType.LoadList:\r\n case UserConfigurationType.LoadTab:\r\n case UserConfigurationType.CreateLoad:\r\n case UserConfigurationType.ProcurementDraft:\r\n case UserConfigurationType.CostReport:\r\n case UserConfigurationType.InvoiceReport:\r\n case UserConfigurationType.LoadStatisticsReport:\r\n case UserConfigurationType.AgreementStatisticsReport:\r\n case UserConfigurationType.DeviationReport:\r\n case UserConfigurationType.DistanceReport:\r\n case UserConfigurationType.MobilePopup:\r\n case UserConfigurationType.SupplierProcurementConfig:\r\n case UserConfigurationType.CalendarConfiguration:\r\n case UserConfigurationType.ReadDocuments:\r\n case UserConfigurationType.ProcurementAnalytics:\r\n case UserConfigurationType.QualityPoints:\r\n case UserConfigurationType.ClientMonitoring:\r\n case UserConfigurationType.InvoicedFees:\r\n case UserConfigurationType.AnnulledLoadsReport:\r\n /*--------------- C-Admin ---------------*/\r\n case UserConfigurationType.Mailviewer:\r\n case UserConfigurationType.Explorer:\r\n case UserConfigurationType.Distance:\r\n case UserConfigurationType.InvoiceGenerator:\r\n case UserConfigurationType.HeatMap:\r\n break;\r\n default:\r\n neverHappens(entry.type);\r\n }\r\n\r\n context.commit(mutations.setUserConf, entry);\r\n },\r\n [actions.initUserConf]: (\r\n context,\r\n data: {\r\n actorType: ActorType;\r\n zone: TimeZone;\r\n confs: UserConfigurationDto[];\r\n }\r\n ) => {\r\n context.commit(mutations.emptyUserConf);\r\n const confs: UserConfigurationEntry[] = [];\r\n Object.values(UserConfigurationType)\r\n .filter(t => !isNaN(Number(t)))\r\n .map(t => t as UserConfigurationType)\r\n .map(t => {\r\n switch (t) {\r\n case UserConfigurationType.ClientAgreement:\r\n case UserConfigurationType.ClientProcurement:\r\n case UserConfigurationType.SupplierAgreement:\r\n case UserConfigurationType.SupplierProcurement:\r\n confs.push(\r\n createUserConf(t, CargoType.Road, data.actorType, data.zone)\r\n );\r\n confs.push(\r\n createUserConf(t, CargoType.Railroad, data.actorType, data.zone)\r\n );\r\n confs.push(\r\n createUserConf(\r\n t,\r\n CargoType.Container,\r\n data.actorType,\r\n data.zone\r\n )\r\n );\r\n confs.push(\r\n createUserConf(\r\n t,\r\n CargoType.MachineTransport,\r\n data.actorType,\r\n data.zone\r\n )\r\n );\r\n break;\r\n case UserConfigurationType.LoadList:\r\n case UserConfigurationType.LoadTab:\r\n confs.push(\r\n createUserConf(t, LoadStatus.Ordered, data.actorType, data.zone)\r\n );\r\n confs.push(\r\n createUserConf(t, LoadStatus.Booked, data.actorType, data.zone)\r\n );\r\n confs.push(\r\n createUserConf(t, LoadStatus.Loaded, data.actorType, data.zone)\r\n );\r\n confs.push(\r\n createUserConf(\r\n t,\r\n LoadStatus.Delivered,\r\n data.actorType,\r\n data.zone\r\n )\r\n );\r\n if ([ActorType.Client].includes(data.actorType)) {\r\n confs.push(\r\n createUserConf(\r\n t,\r\n LoadStatus.Annulled,\r\n data.actorType,\r\n data.zone\r\n )\r\n );\r\n }\r\n if (\r\n [ActorType.Client, ActorType.Supplier].includes(data.actorType)\r\n ) {\r\n confs.push(\r\n createUserConf(t, spotTenderTabId, data.actorType, data.zone)\r\n );\r\n }\r\n break;\r\n case UserConfigurationType.CreateLoad:\r\n case UserConfigurationType.ProcurementDraft:\r\n case UserConfigurationType.AgreementRoute:\r\n case UserConfigurationType.CostReport:\r\n case UserConfigurationType.InvoiceReport:\r\n case UserConfigurationType.LoadStatisticsReport:\r\n case UserConfigurationType.AgreementStatisticsReport:\r\n case UserConfigurationType.DeviationReport:\r\n case UserConfigurationType.DistanceReport:\r\n case UserConfigurationType.MobilePopup:\r\n case UserConfigurationType.SupplierProcurementConfig:\r\n case UserConfigurationType.CalendarConfiguration:\r\n case UserConfigurationType.ReadDocuments:\r\n case UserConfigurationType.ProcurementAnalytics:\r\n case UserConfigurationType.QualityPoints:\r\n case UserConfigurationType.ClientMonitoring:\r\n case UserConfigurationType.InvoicedFees:\r\n case UserConfigurationType.AnnulledLoadsReport:\r\n /*--------------- C-Admin ---------------*/\r\n case UserConfigurationType.Mailviewer:\r\n case UserConfigurationType.Explorer:\r\n case UserConfigurationType.Distance:\r\n case UserConfigurationType.InvoiceGenerator:\r\n case UserConfigurationType.HeatMap:\r\n confs.push(createUserConf(t, 1, data.actorType, data.zone));\r\n break;\r\n default:\r\n neverHappens(t);\r\n }\r\n });\r\n for (const conf of confs) {\r\n context.commit(mutations.setUserConf, conf);\r\n }\r\n return new Promise(resolve => {\r\n for (const conf of data.confs) {\r\n context.commit(\r\n mutations.setUserConf,\r\n createUserConf(\r\n conf.type,\r\n conf.subTypeId,\r\n data.actorType,\r\n data.zone,\r\n conf.configuration\r\n )\r\n );\r\n }\r\n resolve();\r\n });\r\n },\r\n [actions.saveUserConf]: (\r\n context,\r\n data: { type: UserConfigurationType; subTypeId: number }\r\n ) => {\r\n const configuration = context.getters[gets.userConf](\r\n data.type,\r\n data.subTypeId\r\n );\r\n return new UsersClient(new ApiConfiguration(context))\r\n .userConfiguration(\r\n new UserConfigurationDto({\r\n type: data.type,\r\n subTypeId: data.subTypeId,\r\n configuration: JSON.stringify(configuration)\r\n })\r\n )\r\n .catch(error => {\r\n context.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n }\r\n};\r\n","import {\r\n ActorConfigurationType,\r\n ActorType,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { ActorConfigurationEntry } from \"@/scripts/store/actorConfModule\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport {\r\n ChartType,\r\n createMegaReportCriteria,\r\n MegaPreset\r\n} from \"@/scripts/types\";\r\nimport { dateFromString } from \"@/scripts/store/createUserConf\";\r\n\r\nexport default (\r\n type: ActorConfigurationType,\r\n subTypeId: number,\r\n actorType: ActorType,\r\n json?: string\r\n): ActorConfigurationEntry => {\r\n let conf;\r\n switch (type) {\r\n case ActorConfigurationType.ZipcodeByCounty:\r\n conf = createZipcodeByCountyConf(json);\r\n break;\r\n case ActorConfigurationType.MegaPresets:\r\n conf = createMegaPreset(json);\r\n break;\r\n default:\r\n neverHappens(type);\r\n }\r\n\r\n return {\r\n type: type,\r\n subTypeId: subTypeId,\r\n conf: conf\r\n } as ActorConfigurationEntry;\r\n};\r\n\r\nfunction createZipcodeByCountyConf(json?: string): RepositoryDto[] {\r\n let conf: RepositoryDto[] = [];\r\n try {\r\n const parsed = JSON.parse(json!);\r\n conf = parsed;\r\n } catch (error) {}\r\n return conf;\r\n}\r\n\r\nfunction createMegaPreset(json?: string): MegaPreset {\r\n let conf: MegaPreset = {\r\n title: \"untitled\",\r\n creator: \"unknown\",\r\n chartType: ChartType.Loads,\r\n criteria: createMegaReportCriteria()\r\n };\r\n\r\n try {\r\n const parsed = JSON.parse(json!);\r\n if (parsed.fromDate !== undefined) {\r\n parsed.fromDate = dateFromString(\r\n parsed.fromDate,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n if (parsed.toDate !== undefined) {\r\n parsed.toDate = dateFromString(parsed.toDate, TimeZone.Europe_Stockholm);\r\n }\r\n conf = Object.assign(conf, parsed);\r\n } catch (error) {}\r\n return conf;\r\n}\r\n","import { Module } from \"vuex\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n ActorConfigurationDto,\r\n ActorConfigurationType,\r\n ActorsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { RootState } from \"@/scripts/store/store\";\r\nimport { mutations, actions, gets } from \"@/scripts/store/constants\";\r\nimport createActorConf from \"@/scripts/store/createActorConf\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nexport interface ActorConfigurationEntry {\r\n type: ActorConfigurationType;\r\n subTypeId: number;\r\n conf: Object;\r\n}\r\n\r\nexport interface ActorConfigurationState {\r\n confs: ActorConfigurationEntry[];\r\n}\r\n\r\nconst state: ActorConfigurationState = {\r\n confs: []\r\n};\r\n\r\nexport const actorConfModule: Module = {\r\n state: state,\r\n getters: {\r\n [gets.actorConf]: state => {\r\n return (type: ActorConfigurationType, subTypeId: number): Object => {\r\n return state.confs.find(\r\n c => c.type === type && c.subTypeId === subTypeId\r\n )!.conf;\r\n };\r\n },\r\n [gets.allActorConfs]: state => {\r\n return (type: ActorConfigurationType): ActorConfigurationEntry[] => {\r\n return [...state.confs.filter(c => c.type === type)].sort(\r\n (a, b) => a.subTypeId - b.subTypeId\r\n );\r\n };\r\n }\r\n },\r\n mutations: {\r\n [mutations.setActorConf]: (state, conf: ActorConfigurationEntry) => {\r\n state.confs = [\r\n conf,\r\n ...state.confs.filter(\r\n c => c.type !== conf.type || c.subTypeId !== conf.subTypeId\r\n )\r\n ];\r\n },\r\n [mutations.emptyActorConf]: state => {\r\n state.confs = [];\r\n }\r\n },\r\n actions: {\r\n [actions.resetActorConf]: (\r\n context,\r\n data: {\r\n type: ActorConfigurationType;\r\n subTypeId: number;\r\n actorType: ActorType;\r\n }\r\n ) => {\r\n const conf = createActorConf(data.type, data.subTypeId, data.actorType);\r\n context.commit(mutations.setActorConf, conf);\r\n },\r\n [actions.initActorConf]: (\r\n context,\r\n data: { actorType: ActorType; confs: ActorConfigurationDto[] }\r\n ) => {\r\n context.commit(mutations.emptyActorConf);\r\n const confs: ActorConfigurationEntry[] = [];\r\n Object.values(ActorConfigurationType)\r\n .filter(t => !isNaN(Number(t)))\r\n .map(t => t as ActorConfigurationType)\r\n .map(t => {\r\n switch (t) {\r\n case ActorConfigurationType.ZipcodeByCounty:\r\n confs.push(createActorConf(t, 1, data.actorType));\r\n break;\r\n case ActorConfigurationType.MegaPresets:\r\n break;\r\n default:\r\n neverHappens(t);\r\n }\r\n });\r\n for (const conf of confs) {\r\n context.commit(mutations.setActorConf, conf);\r\n }\r\n return new Promise(resolve => {\r\n for (const conf of data.confs) {\r\n context.commit(\r\n mutations.setActorConf,\r\n createActorConf(\r\n conf.type,\r\n conf.subTypeId,\r\n data.actorType,\r\n conf.configuration\r\n )\r\n );\r\n }\r\n resolve();\r\n });\r\n },\r\n [actions.saveActorConf]: (\r\n context,\r\n data: { type: ActorConfigurationType; subTypeId: number }\r\n ) => {\r\n const configuration = context.getters[gets.actorConf](\r\n data.type,\r\n data.subTypeId\r\n );\r\n return new ActorsClient(new ApiConfiguration(context))\r\n .actorConfiguration(\r\n new ActorConfigurationDto({\r\n type: data.type,\r\n subTypeId: data.subTypeId,\r\n configuration: JSON.stringify(configuration)\r\n })\r\n )\r\n .then(() => {})\r\n .catch(error => {\r\n context.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n [actions.deleteActorConf]: (\r\n context,\r\n data: { type: ActorConfigurationType; subTypeId: number }\r\n ) => {\r\n return new ActorsClient(new ApiConfiguration(context))\r\n .deleteActorConfiguration(\r\n new ActorConfigurationDto({\r\n type: data.type,\r\n subTypeId: data.subTypeId,\r\n configuration: undefined\r\n })\r\n )\r\n .then(() => {})\r\n .catch(error => {\r\n context.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n }\r\n};\r\n","export const ble = (error: any): boolean => {\r\n return error && error.status && error.status === 418;\r\n};\r\n\r\nexport const clientOutdated = (error: any): boolean => {\r\n return error && error.status && error.status === 406;\r\n};\r\n\r\nexport const unauthorized = (error: any): boolean => {\r\n return error && error.status && error.status === 401;\r\n};\r\n\r\nexport const endpointNotFound = (error: any): boolean => {\r\n return error && error.status && error.status === 404;\r\n};\r\n\r\nexport const internalServerError = (error: any): boolean => {\r\n return error && error.status && error.status === 500;\r\n};\r\n\r\nexport const frameWindowTimedOutError = (error: any): boolean => {\r\n return error && error.message && error.message === \"Frame window timed out\";\r\n};\r\n\r\nexport const networkError = (error: any): boolean => {\r\n return error && error.message && error.message === \"Network Error\";\r\n};\r\n","import Vue from \"vue\";\r\nimport Vuex, { StoreOptions } from \"vuex\";\r\nimport { UserInfo } from \"@/scripts/types\";\r\nimport { authModule } from \"@/scripts/store/authModule\";\r\nimport { feedbackModule } from \"@/scripts/store/feedbackModule\";\r\nimport { loadModule } from \"@/scripts/store/loadModule\";\r\nimport { userConfModule } from \"@/scripts/store/userConfModule\";\r\nimport { actorConfModule } from \"@/scripts/store/actorConfModule\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { BroadcastDto, TimeZone } from \"@/scripts/cld.api\";\r\nimport {\r\n ble,\r\n clientOutdated,\r\n endpointNotFound,\r\n frameWindowTimedOutError,\r\n internalServerError,\r\n networkError,\r\n unauthorized\r\n} from \"@/scripts/misc/apiErrors\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport Auth from \"@/scripts/auth\";\r\n\r\nVue.use(Vuex);\r\n\r\nexport interface RootState {\r\n userInfo: UserInfo;\r\n unviewedMessages: number | undefined;\r\n clientOutdated: boolean;\r\n currentClientVersion: string;\r\n locationCacheOutdated: boolean;\r\n broadcast: BroadcastDto | undefined;\r\n globalError: {\r\n show: boolean;\r\n message: String;\r\n closable: boolean;\r\n };\r\n dimensions: {\r\n width: number;\r\n height: number;\r\n };\r\n visible: boolean;\r\n mouseActivityDate: CDate;\r\n activityDate: CDate;\r\n}\r\n\r\nconst store: StoreOptions = {\r\n state: {\r\n userInfo: {\r\n loadUserId: undefined,\r\n actorName: \"\",\r\n actorId: undefined,\r\n actorType: undefined,\r\n userLevel: undefined,\r\n actorCargoTypes: [],\r\n supportAdminLevel: 0,\r\n zone: undefined\r\n },\r\n unviewedMessages: undefined,\r\n clientOutdated: false,\r\n currentClientVersion: getScriptName(),\r\n locationCacheOutdated: false,\r\n broadcast: undefined,\r\n globalError: {\r\n show: false,\r\n message: \"\",\r\n closable: true\r\n },\r\n dimensions: {\r\n width: 1000,\r\n height: 1000\r\n },\r\n visible: true,\r\n mouseActivityDate: CDate.now(TimeZone.Europe_Stockholm),\r\n activityDate: CDate.now(TimeZone.Europe_Stockholm)\r\n },\r\n modules: {\r\n authModule,\r\n feedbackModule,\r\n loadModule,\r\n userConfModule,\r\n actorConfModule\r\n },\r\n getters: {\r\n [gets.userInfo]: (state): UserInfo => {\r\n return state.userInfo;\r\n },\r\n [gets.unviewedMessages]: (state): number | undefined => {\r\n return state.unviewedMessages;\r\n },\r\n [gets.currentClientVersion]: (state): string => {\r\n return state.currentClientVersion;\r\n },\r\n [gets.clientOutdated]: (state): boolean => {\r\n return state.clientOutdated;\r\n },\r\n [gets.locationCacheOutdated]: (state): boolean => {\r\n return state.locationCacheOutdated;\r\n },\r\n [gets.broadcast]: (state): BroadcastDto | undefined => {\r\n return state.broadcast;\r\n },\r\n [gets.globalError]: state => {\r\n return state.globalError;\r\n },\r\n [gets.dimensions]: state => {\r\n return {\r\n width: state.dimensions.width,\r\n height:\r\n state.dimensions.height - (state.broadcast === undefined ? 0 : 43)\r\n };\r\n },\r\n [gets.activityDate]: (state): CDate => {\r\n return state.activityDate;\r\n }\r\n },\r\n mutations: {\r\n [mutations.setUserInfo]: (state, userInfo) => {\r\n state.userInfo = userInfo;\r\n },\r\n [mutations.setUnviewedMessages]: (state, unviewedMessages) => {\r\n state.unviewedMessages = unviewedMessages;\r\n },\r\n [mutations.setClientOutdated]: state => {\r\n state.clientOutdated = true;\r\n },\r\n [mutations.setLocationCacheOutdated]: (state, outdated) => {\r\n state.locationCacheOutdated = outdated;\r\n },\r\n [mutations.setBroadcast]: (state, broadcast) => {\r\n state.broadcast = broadcast;\r\n },\r\n [mutations.setGlobalError]: (state, error) => {\r\n state.globalError = error;\r\n },\r\n [mutations.setDimensions]: (state, dim) => {\r\n state.dimensions = dim;\r\n },\r\n [mutations.setVisible]: (state, visible) => {\r\n state.visible = visible;\r\n if (visible) {\r\n state.activityDate = CDate.now(TimeZone.Europe_Stockholm);\r\n }\r\n },\r\n [mutations.setMouseActivityDate]: state => {\r\n state.mouseActivityDate = CDate.now(TimeZone.Europe_Stockholm);\r\n state.activityDate = CDate.now(TimeZone.Europe_Stockholm);\r\n }\r\n },\r\n actions: {\r\n [actions.handleLoginError]: (context, error) => {\r\n console.error(\"Loginserver error\", error);\r\n if (endpointNotFound(error)) {\r\n context.dispatch(\r\n actions.handleBasicError,\r\n \"Loginserver endpoint not found.\"\r\n );\r\n } else if (internalServerError(error)) {\r\n context.dispatch(actions.handleBasicError, \"Loginserver error.\");\r\n } else if (frameWindowTimedOutError(error)) {\r\n context.dispatch(\r\n actions.handleBasicErrorSilently,\r\n \"Frame window timed out.\"\r\n );\r\n } else {\r\n context.dispatch(actions.handleUnhandledError, error);\r\n }\r\n },\r\n [actions.handleApiError]: (context, error) => {\r\n console.error(\"API error\", error);\r\n if (clientOutdated(error)) {\r\n context.commit(mutations.setClientOutdated);\r\n } else if (ble(error)) {\r\n context.dispatch(actions.handleBasicError, \"Business logic exception.\");\r\n } else if (unauthorized(error)) {\r\n context.dispatch(\r\n actions.handleBasicErrorSilently,\r\n \"Unauthorized request.\"\r\n );\r\n } else if (endpointNotFound(error)) {\r\n context.dispatch(actions.handleBasicError, \"Endpoint not found.\");\r\n } else if (internalServerError(error)) {\r\n context.dispatch(actions.handleBasicError, \"Internal server error.\");\r\n } else if (networkError(error)) {\r\n context.dispatch(actions.handleBasicErrorSilently, \"Network error.\");\r\n } else {\r\n context.dispatch(actions.handleUnhandledError, error);\r\n }\r\n },\r\n [actions.handleUnhandledError]: (context, error) => {\r\n console.error(\"Unhandled error\", error);\r\n const formattedMessage =\r\n error.message +\r\n \" | HTTP-Status: \" +\r\n error.status +\r\n \" | Headers: \" +\r\n JSON.stringify(error.headers);\r\n context.dispatch(actions.handleBasicError, formattedMessage);\r\n },\r\n [actions.handleBasicError]: (context, message: string) => {\r\n message =\r\n \"ERROR: \" +\r\n message +\r\n \"\\n\" +\r\n \"Please try again or contact our support if the issue remains.\" +\r\n \"\\n\" +\r\n CDate.now(TimeZone.Europe_Stockholm).dateTimePrint();\r\n console.error(message);\r\n context.commit(mutations.setGlobalError, {\r\n show: true,\r\n message: message,\r\n closable: true\r\n });\r\n },\r\n [actions.handleBasicErrorSilently]: (context, message: string) => {\r\n message =\r\n \"ERROR: \" +\r\n message +\r\n \"\\n\" +\r\n CDate.now(TimeZone.Europe_Stockholm).dateTimePrint();\r\n console.error(message);\r\n if (!Auth.browsingProd()) {\r\n message += \"\\nJUST DET HÄR MEDDELANDET DYKER INTE UPP I PROD!\";\r\n context.commit(mutations.setGlobalError, {\r\n show: true,\r\n message: message,\r\n closable: true\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nfunction getScriptName(): string {\r\n const scriptTags = document.getElementsByTagName(\"script\");\r\n const scriptPath = scriptTags[scriptTags.length - 1].src;\r\n const scriptNameStart = scriptPath.indexOf(\"/app.\") + 1;\r\n const scriptName = scriptPath.substr(scriptNameStart);\r\n return scriptName;\r\n}\r\n\r\nexport default new Vuex.Store(store);\r\n","import {\r\n UserLevel,\r\n ActorType,\r\n CargoType,\r\n Culture,\r\n Currency,\r\n DeviationCause,\r\n DocType,\r\n FeeType,\r\n FuelIndexType,\r\n InvoiceReportTreatedStatus,\r\n LoadFilterDaysBack,\r\n LoadFilterDaysForward,\r\n LoadStatus,\r\n MessageType,\r\n OtherPriceCause,\r\n RankingMethod,\r\n RepositoryDto,\r\n RoutingExactness,\r\n TruckType,\r\n LoadFilterDateType,\r\n PublishRuleType,\r\n DayType,\r\n CostForecastRankMethod,\r\n StandardPhraseType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport store from \"@/scripts/store/store\";\r\nimport {\r\n actorTypeName,\r\n cargoTypeName,\r\n cultureName,\r\n currencyName,\r\n daysBackName,\r\n daysForwardName,\r\n deviationCauseName,\r\n docTypeName,\r\n feeTypeName,\r\n fuelIndexTypeName,\r\n loadStatusName,\r\n messageTypeName,\r\n otherPriceCauseName,\r\n rankingMethodName,\r\n userLevelName,\r\n routingExactnessName,\r\n treatedStatusName,\r\n truckTypeName,\r\n filterDateTypeName,\r\n publishRuleTypeName,\r\n dayTypeName,\r\n costForecastRankMethodName,\r\n standardPhraseTypeName,\r\n zoneName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { t } from \"../language/i18n\";\r\nimport { gets } from \"../store/constants\";\r\n\r\nconst enumList = (e: any, f: any): RepositoryDto[] => {\r\n return Object.values(e)\r\n .filter(v => !isNaN(Number(v)))\r\n .map(\r\n v =>\r\n new RepositoryDto({\r\n id: Number(v),\r\n text: f(Number(v))\r\n })\r\n );\r\n};\r\n\r\nexport const actorTypes = (): RepositoryDto[] => {\r\n return enumList(ActorType, actorTypeName);\r\n};\r\n\r\nexport const cargoTypes = (): RepositoryDto[] => {\r\n return enumList(CargoType, cargoTypeName);\r\n};\r\nexport const standardPhraseTypes = (): RepositoryDto[] => {\r\n return enumList(StandardPhraseType, standardPhraseTypeName);\r\n};\r\n\r\nexport const zones = (): RepositoryDto[] => {\r\n return enumList(TimeZone, zoneName);\r\n};\r\n\r\nexport const actorCargoTypes = (): RepositoryDto[] => {\r\n return (store.getters[gets.userInfo].actorCargoTypes as CargoType[])\r\n .map(c => new RepositoryDto({ id: c, text: cargoTypeName(c) }))\r\n .sort((a, b) => a.id - b.id);\r\n};\r\n\r\nexport const truckTypes = (): RepositoryDto[] => {\r\n return Object.values(TruckType)\r\n .filter(v => !isNaN(Number(v)))\r\n .map(v => v as TruckType)\r\n .sort((a, b) => cargoTypeByTruckType(a) - cargoTypeByTruckType(b) || a - b)\r\n .map(v => new RepositoryDto({ id: Number(v), text: truckTypeName(v) }));\r\n};\r\n\r\nexport const cargoTypeByTruckType = (tt: TruckType): CargoType => {\r\n switch (tt) {\r\n case TruckType.TruckAndWagon:\r\n return CargoType.Road;\r\n case TruckType.Truck:\r\n return CargoType.Road;\r\n case TruckType.Wagon:\r\n return CargoType.Road;\r\n case TruckType.Trailer25:\r\n return CargoType.Road;\r\n case TruckType.Trailer30:\r\n return CargoType.Road;\r\n\r\n case TruckType.TwoShaft:\r\n return CargoType.Railroad;\r\n case TruckType.FourShaft:\r\n return CargoType.Railroad;\r\n case TruckType.FourShaftOpen:\r\n return CargoType.Railroad;\r\n\r\n case TruckType.Container20:\r\n return CargoType.Container;\r\n case TruckType.Container40:\r\n return CargoType.Container;\r\n case TruckType.Container40HC:\r\n return CargoType.Container;\r\n case TruckType.Container45HC:\r\n return CargoType.Container;\r\n\r\n case TruckType.TruckType10:\r\n return CargoType.MachineTransport;\r\n case TruckType.TruckType20:\r\n return CargoType.MachineTransport;\r\n case TruckType.TruckType30:\r\n return CargoType.MachineTransport;\r\n case TruckType.TruckType40:\r\n return CargoType.MachineTransport;\r\n case TruckType.TruckType50:\r\n return CargoType.MachineTransport;\r\n case TruckType.TruckType60:\r\n return CargoType.MachineTransport;\r\n case TruckType.TruckType70:\r\n return CargoType.MachineTransport;\r\n default:\r\n return neverHappens(tt);\r\n }\r\n};\r\n\r\nexport const truckTypesByCargoType = (\r\n cargoType: CargoType\r\n): RepositoryDto[] => {\r\n return truckTypes().filter(tt => cargoTypeByTruckType(tt.id) === cargoType);\r\n};\r\n\r\nexport const actorTruckTypes = (): RepositoryDto[] => {\r\n return truckTypes().filter(tt =>\r\n actorCargoTypes()\r\n .map(c => c.id)\r\n .includes(cargoTypeByTruckType(tt.id))\r\n );\r\n};\r\n\r\nexport const currencies = (): RepositoryDto[] => {\r\n return enumList(Currency, currencyName);\r\n};\r\n\r\nexport const cultures = (): RepositoryDto[] => {\r\n return enumList(Culture, cultureName);\r\n};\r\n\r\nexport const feeTypes = (): RepositoryDto[] => {\r\n return enumList(FeeType, feeTypeName);\r\n};\r\n\r\nexport const rankingMethods = (): RepositoryDto[] => {\r\n return enumList(RankingMethod, rankingMethodName);\r\n};\r\n\r\nexport const userLevels = (): RepositoryDto[] => {\r\n return enumList(UserLevel, userLevelName);\r\n};\r\n\r\nexport const messageTypes = (): RepositoryDto[] => {\r\n return enumList(MessageType, messageTypeName);\r\n};\r\n\r\nexport const dayTypes = (): RepositoryDto[] => {\r\n return enumList(DayType, dayTypeName);\r\n};\r\n\r\nexport const treatedStatuses = (): RepositoryDto[] => {\r\n return enumList(InvoiceReportTreatedStatus, treatedStatusName);\r\n};\r\n\r\nexport const otherPriceCauses = (): RepositoryDto[] => {\r\n return enumList(OtherPriceCause, otherPriceCauseName);\r\n};\r\n\r\nexport const deviationCauses = (): RepositoryDto[] => {\r\n return enumList(DeviationCause, deviationCauseName);\r\n};\r\n\r\nexport const daysBack = (): RepositoryDto[] => {\r\n return enumList(LoadFilterDaysBack, daysBackName);\r\n};\r\n\r\nexport const daysForward = (): RepositoryDto[] => {\r\n return enumList(LoadFilterDaysForward, daysForwardName);\r\n};\r\n\r\nexport const filterDateTypes = (): RepositoryDto[] => {\r\n return enumList(LoadFilterDateType, filterDateTypeName);\r\n};\r\n\r\nexport const routingExactnesses = (): RepositoryDto[] => {\r\n return enumList(RoutingExactness, routingExactnessName);\r\n};\r\n\r\nexport const costForecastRankMethods = (): RepositoryDto[] => {\r\n return enumList(CostForecastRankMethod, costForecastRankMethodName);\r\n};\r\n\r\nexport const docTypes = (): RepositoryDto[] => {\r\n return enumList(DocType, docTypeName);\r\n};\r\n\r\nexport const loadStatuses = (): RepositoryDto[] => {\r\n return enumList(LoadStatus, loadStatusName);\r\n};\r\n\r\nexport const yesNoItems = (): RepositoryDto[] => {\r\n return [\r\n new RepositoryDto({ id: true as any, text: t(\"Survey_Yes\") }),\r\n new RepositoryDto({ id: false as any, text: t(\"Survey_No\") })\r\n ];\r\n};\r\n\r\nexport const activeInactiveItems = (): RepositoryDto[] => {\r\n return [\r\n new RepositoryDto({ id: true as any, text: t(\"Activated\") }),\r\n new RepositoryDto({ id: false as any, text: t(\"Inactivated\") })\r\n ];\r\n};\r\n\r\nexport const fuelIndexTypes = (): RepositoryDto[] => {\r\n return enumList(FuelIndexType, fuelIndexTypeName);\r\n};\r\n\r\nexport const publishRuleTypes = (): RepositoryDto[] => {\r\n return enumList(PublishRuleType, publishRuleTypeName);\r\n};\r\n","import {\r\n ActorType,\r\n CargoType,\r\n SupportAdminLevel,\r\n UserLevel\r\n} from \"@/scripts/cld.api\";\r\nimport { UserInfo } from \"@/scripts/types\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { cargoTypeNameTag, cargoTypeIcon } from \"@/scripts/misc/enumNames\";\r\n\r\nexport interface menu {\r\n text?: string;\r\n to?: string;\r\n icon?: string;\r\n minUserLevel?: UserLevel;\r\n onlyForCargoTypes?: CargoType[];\r\n minSupportAdminLevel?: number;\r\n untranslated?: boolean;\r\n invisible?: boolean;\r\n items?: menu[];\r\n onlyForActors?: number[];\r\n}\r\n\r\nexport const pageForbiddenReason = (\r\n userInfo: UserInfo,\r\n to: string\r\n): string | undefined => {\r\n const menuItems = menuBase(userInfo);\r\n const match = matchingItem(menuItems, to);\r\n if (match === undefined) {\r\n return `This page is not visible for your actor type. You have actor type ${userInfo.actorType}.`;\r\n }\r\n if (!visibleForUserLevel(match, userInfo.userLevel!)) {\r\n return `This page is only visible for user levels ${match.minUserLevel} and above. You have userLevel ${userInfo.userLevel}.`;\r\n }\r\n if (!visibleForCargoTypes(match, userInfo.actorCargoTypes)) {\r\n return `This page is only visible for cargo types ${match.onlyForCargoTypes}. You have cargo types ${userInfo.actorCargoTypes}.`;\r\n }\r\n if (Auth.browsingSupportAdmin() && userInfo.supportAdminLevel < 1) {\r\n return `This page is part of c-admin and therefore requires a support admin level of at least ${1}. You have support admin level ${\r\n userInfo.supportAdminLevel\r\n }.`;\r\n }\r\n if (!visibleForSupportAdminLevel(match, userInfo.supportAdminLevel)) {\r\n return `This page is a unusually dangerous and therefore requires a support admin level of at least ${match.minSupportAdminLevel}. You have support admin level ${userInfo.supportAdminLevel}.`;\r\n }\r\n if (!visibleForCargoLoadingActors(match, userInfo.actorId!)) {\r\n return `This page is only visible for actors with slotbooking.`;\r\n }\r\n return undefined;\r\n};\r\n\r\nexport default (userInfo: UserInfo): menu[] => {\r\n let menuItems = menuBase(userInfo);\r\n menuItems = visibleItems(\r\n menuItems,\r\n userInfo.userLevel!,\r\n userInfo.actorCargoTypes,\r\n userInfo.supportAdminLevel,\r\n userInfo.actorId!\r\n );\r\n for (const item of menuItems) {\r\n item.items = visibleItems(\r\n item.items !== undefined ? item.items : [],\r\n userInfo.userLevel!,\r\n userInfo.actorCargoTypes,\r\n userInfo.supportAdminLevel,\r\n userInfo.actorId!\r\n );\r\n }\r\n return menuItems;\r\n};\r\n\r\nconst matchingItem = (items: menu[], to: string): menu | undefined => {\r\n for (const item of items) {\r\n if (matchingRoute(to, item.to)) {\r\n return item;\r\n } else if (item.items !== undefined) {\r\n const match = matchingItem(item.items, to);\r\n if (match !== undefined) {\r\n return match;\r\n }\r\n }\r\n }\r\n return undefined;\r\n};\r\n\r\nconst matchingRoute = (\r\n requestedRoute: string,\r\n systemRoute: string | undefined\r\n): boolean => {\r\n if (systemRoute === undefined) {\r\n return false;\r\n }\r\n const [reqPath, reqQS] = destructuredRoute(requestedRoute);\r\n const [sysPath, sysQS] = destructuredRoute(systemRoute);\r\n if (reqPath === sysPath && reqQS.startsWith(sysQS)) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst destructuredRoute = (route: string): [string, string] => {\r\n let qs = \"\";\r\n const qsStart = route.indexOf(\"?\");\r\n if (qsStart !== -1) {\r\n qs = route.substring(qsStart);\r\n route = route.substr(0, qsStart);\r\n }\r\n if (route.endsWith(\"/\")) {\r\n route = route.substr(0, route.length - 1);\r\n }\r\n return [route.toLowerCase(), qs.toLowerCase()];\r\n};\r\n\r\nconst menuBase = (userInfo: UserInfo): menu[] => {\r\n let menu: menu[];\r\n\r\n if (Auth.browsingSupportAdmin()) {\r\n menu = supportAdminMenu;\r\n } else if (Auth.browsingMobile()) {\r\n menu = mobileMenu;\r\n } else if (userInfo.userLevel === UserLevel.Integration) {\r\n return [];\r\n } else if (userInfo.actorType === ActorType.Client) {\r\n menu = clientMenu;\r\n } else if (userInfo.actorType === ActorType.Supplier) {\r\n menu = supplierMenu;\r\n } else if (userInfo.actorType === ActorType.Customer) {\r\n menu = customerMenu;\r\n } else if (userInfo.actorType === ActorType.Terminal) {\r\n menu = terminalMenu;\r\n } else {\r\n throw new Error(`ActorType ${userInfo.actorType} has no menu`);\r\n }\r\n return menu.map(m => ({ ...m, items: m.items }));\r\n};\r\n\r\nconst visibleItems = (\r\n items: menu[],\r\n userLevel: UserLevel,\r\n cargoTypes: CargoType[],\r\n supportAdminLevel: number,\r\n actorId: number\r\n) => {\r\n items = items.filter(item => !item.invisible);\r\n items = items.filter(item => visibleForUserLevel(item, userLevel));\r\n items = items.filter(item => visibleForCargoTypes(item, cargoTypes));\r\n items = items.filter(item =>\r\n visibleForSupportAdminLevel(item, supportAdminLevel)\r\n );\r\n items = items.filter(item => visibleForCargoLoadingActors(item, actorId));\r\n return items;\r\n};\r\n\r\nconst visibleForUserLevel = (item: menu, userLevel: UserLevel): boolean => {\r\n const minUserLevel = item.minUserLevel || UserLevel.Viewer;\r\n return userLevel >= minUserLevel;\r\n};\r\n\r\nconst visibleForCargoTypes = (item: menu, cargoTypes: CargoType[]): boolean => {\r\n return (\r\n item.onlyForCargoTypes === undefined ||\r\n item.onlyForCargoTypes.some(c => cargoTypes.includes(c))\r\n );\r\n};\r\n\r\nconst visibleForSupportAdminLevel = (\r\n item: menu,\r\n supportAdminLevel: number\r\n): boolean => {\r\n return (\r\n item.minSupportAdminLevel === undefined ||\r\n item.minSupportAdminLevel <= supportAdminLevel\r\n );\r\n};\r\nconst visibleForCargoLoadingActors = (item: menu, actorId: number): boolean => {\r\n return (\r\n item.onlyForActors === undefined ||\r\n item.onlyForActors.some(a => a === actorId)\r\n );\r\n};\r\n\r\n/******************** Quick links ********************/\r\nconst quickLinks: menu = {\r\n text: \"Länkar\",\r\n minSupportAdminLevel: 1,\r\n untranslated: true,\r\n items: [\r\n {\r\n text: \"C-Admin\",\r\n to: \"/support-admin\",\r\n icon: \"mdi-chess-king\",\r\n minSupportAdminLevel: 1,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Web\",\r\n to: \"/\",\r\n icon: \"mdi-monitor\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Mobile\",\r\n to: \"/mobile\",\r\n icon: \"mdi-cellphone\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"AppOptics\",\r\n to: \"https://my.appoptics.com/s/public/883czgr6v\",\r\n icon: \"mdi-open-in-new\",\r\n minSupportAdminLevel: 1,\r\n untranslated: true\r\n }\r\n ]\r\n};\r\n\r\n/********************** C-Admin **********************/\r\nconst supportAdminMenu: menu[] = [\r\n {\r\n text: \"Utforskaren\",\r\n to: \"/support-admin/explorer\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Aktörer\",\r\n to: \"/support-admin/actors\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Användare\",\r\n to: \"/support-admin/users\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Avtal\",\r\n to: \"/support-admin/agreements\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Mailviewer\",\r\n to: \"/support-admin/mailviewer\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Nyheter\",\r\n to: \"/support-admin/news\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Övrigt\",\r\n untranslated: true,\r\n items: [\r\n {\r\n text: \"Lägg till ort\",\r\n to: \"/support-admin/add-location\",\r\n icon: \"mdi-map-marker-plus\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Lägg till i upphandling\",\r\n to: \"/support-admin/add-to-procurements\",\r\n icon: \"mdi-plus-thick\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Aktörers dokument\",\r\n to: \"/support-admin/documents\",\r\n icon: \"mdi-file-document\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Avtalssignering\",\r\n to: \"/support-admin/actor-signing\",\r\n icon: \"mdi-file-sign\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"QP-visualisering\",\r\n to: \"/support-admin/qp-vis\",\r\n icon: \"mdi-clipboard-list\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"QP-viktning\",\r\n to: \"/support-admin/qp-weights\",\r\n icon: \"mdi-clipboard-list\",\r\n untranslated: true\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Avancerat\",\r\n untranslated: true,\r\n minSupportAdminLevel: 2,\r\n items: [\r\n {\r\n text: \"Kraftfulla knappar\",\r\n to: \"/support-admin/power-buttons\",\r\n icon: \"mdi-weight-lifter\",\r\n minSupportAdminLevel: 2,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Bakgrundsjobb\",\r\n to: \"/support-admin/background-tasks\",\r\n icon: \"mdi-update\",\r\n minSupportAdminLevel: 2,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Indexuppdatering\",\r\n to: \"/support-admin/index-components\",\r\n icon: \"mdi-chart-line\",\r\n minSupportAdminLevel: 2,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Generera fakturaunderlag\",\r\n to: \"/support-admin/invoicing\",\r\n icon: \"mdi-currency-usd\",\r\n minSupportAdminLevel: 2,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Uppdatera avstånd\",\r\n to: \"/support-admin/distance\",\r\n icon: \"mdi-map-marker-distance\",\r\n minSupportAdminLevel: 2,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Star Wars\",\r\n to: \"/support-admin/but-why\",\r\n icon: \"mdi-space-invaders\",\r\n minSupportAdminLevel: 2,\r\n untranslated: true\r\n },\r\n {\r\n text: \"MailTemplate\",\r\n to: \"/support-admin/mail-template\",\r\n icon: \"mdi-skull\",\r\n minSupportAdminLevel: 3,\r\n untranslated: true\r\n },\r\n {\r\n text: \"Playground\",\r\n to: \"/support-admin/playground\",\r\n icon: \"mdi-skull\",\r\n minSupportAdminLevel: 3,\r\n untranslated: true\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Statistik\",\r\n untranslated: true,\r\n items: [\r\n {\r\n text: \"Megarapporten\",\r\n to: \"/support-admin/mega-report\",\r\n icon: \"mdi-chart-bell-curve\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Värmekarta lastning\",\r\n to: \"/support-admin/heat-map\",\r\n icon: \"mdi-chart-bell-curve\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Aktörer\",\r\n to: \"/support-admin/actors-statistics\",\r\n icon: \"mdi-account-multiple\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Fakturerade avgifter\",\r\n to: \"/support-admin/invoiced-fees-report\",\r\n icon: \"mdi-credit-card-clock\",\r\n untranslated: true\r\n }\r\n ]\r\n },\r\n quickLinks,\r\n {\r\n //ALLOWED NON-MENU ITEMS FOR C-ADMIN,\r\n invisible: true,\r\n items: [\r\n {\r\n to: \"/support-admin/edit-news\"\r\n },\r\n {\r\n to: \"/support-admin/active-users-statistics\"\r\n }\r\n ]\r\n }\r\n];\r\n\r\n/******************** Client ********************/\r\nconst clientMenu: menu[] = [\r\n {\r\n text: \"ManageLoads\",\r\n items: [\r\n {\r\n text: \"LoadList\",\r\n to: \"/loads\",\r\n icon: \"mdi-format-list-bulleted\"\r\n },\r\n {\r\n text: \"FindLoad\",\r\n to: \"/search\",\r\n icon: \"mdi-magnify\"\r\n },\r\n ...cargoTypes()\r\n .map(x => x.id as CargoType)\r\n .map(c => ({\r\n text: \"CreateNewLoad\",\r\n to: \"/loads?action=1&cargoType=\" + c,\r\n icon: cargoTypeIcon(c),\r\n minUserLevel: UserLevel.User,\r\n onlyForCargoTypes: [c]\r\n })),\r\n {\r\n text: \"LoadingSlots\",\r\n to: \"/slots\",\r\n icon: \"mdi-calendar-check\",\r\n onlyForActors: [51, 49]\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Procurements\",\r\n items: [\r\n {\r\n text: \"AgreementRoutes\",\r\n to: \"/agreement-routes\",\r\n icon: \"mdi-map-marker-distance\"\r\n },\r\n {\r\n text: \"CreateProcurement\",\r\n to: \"/create-procurement\",\r\n icon: \"mdi-text-box-plus\",\r\n minUserLevel: UserLevel.Admin\r\n },\r\n ...cargoTypes()\r\n .map(x => x.id as CargoType)\r\n .map(c => ({\r\n text: cargoTypeNameTag(c),\r\n to: \"/procurements?cargoType=\" + c,\r\n icon: cargoTypeIcon(c),\r\n onlyForCargoTypes: [c],\r\n minUserLevel: UserLevel.Admin\r\n })),\r\n {\r\n text: \"StandardPhrases\",\r\n to: \"/standard-phrases\",\r\n icon: \"mdi-note-edit-outline\",\r\n minUserLevel: UserLevel.Admin\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Agreements\",\r\n minUserLevel: UserLevel.User,\r\n items: [\r\n ...cargoTypes()\r\n .map(x => x.id as CargoType)\r\n .map(c => ({\r\n text: cargoTypeNameTag(c),\r\n to: \"/agreements?cargoType=\" + c,\r\n icon: cargoTypeIcon(c),\r\n onlyForCargoTypes: [c]\r\n })),\r\n {\r\n text: \"Timber Direct Export\",\r\n untranslated: true,\r\n to: \"/setra-export\",\r\n icon: \"mdi-microsoft-excel\",\r\n onlyForActors: [311, 49]\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Monitoring\",\r\n minUserLevel: UserLevel.User,\r\n items: [\r\n {\r\n text: \"LoadStatistics\",\r\n to: \"/load-statistics\",\r\n icon: \"mdi-chart-bar\"\r\n },\r\n {\r\n text: \"AgreementStatistics\",\r\n to: \"/agreement-statistics\",\r\n icon: \"mdi-text-box-multiple\"\r\n },\r\n {\r\n text: \"QualityPoints\",\r\n to: \"/quality-points\",\r\n icon: \"mdi-clipboard-list\"\r\n },\r\n {\r\n text: \"ClientMonitoring\",\r\n to: \"/client-monitoring\",\r\n icon: \"mdi-finance\"\r\n },\r\n {\r\n text: \"AnnulledLoads\",\r\n to: \"/annulled-loads\",\r\n icon: \"mdi-trash-can-outline\"\r\n },\r\n {\r\n text: \"ClientRouteCost\",\r\n to: \"/cost-report\",\r\n icon: \"mdi-currency-usd\"\r\n },\r\n {\r\n text: \"CostForecast\",\r\n to: \"/cost-forecast\",\r\n icon: \"mdi-poll\"\r\n },\r\n {\r\n text: \"ProcurementAnalytics\",\r\n to: \"/procurement-analytics\",\r\n icon: \"mdi-poll\"\r\n },\r\n {\r\n text: \"InvoiceAudit\",\r\n to: \"/invoice-report\",\r\n icon: \"mdi-credit-card-search-outline\"\r\n },\r\n {\r\n text: \"Deviations\",\r\n to: \"/deviation-report\",\r\n icon: \"mdi-sticker-alert-outline\"\r\n },\r\n {\r\n text: \"TransportDistances\",\r\n to: \"/distance-report\",\r\n icon: \"mdi-map-marker-distance\",\r\n onlyForCargoTypes: [CargoType.Road, CargoType.MachineTransport]\r\n },\r\n {\r\n text: \"Sustainability\",\r\n to: \"/surveys\",\r\n icon: \"mdi-leaf\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Actors\",\r\n items: [\r\n {\r\n text: \"MyActor\",\r\n to: \"/my-actor\",\r\n icon: \"mdi-account-multiple\"\r\n },\r\n {\r\n text: \"Suppliers\",\r\n to: \"/actors?actorType=\" + ActorType.Supplier,\r\n icon: \"mdi-account-multiple\"\r\n },\r\n {\r\n text: \"Customers\",\r\n to: \"/actors?actorType=\" + ActorType.Customer,\r\n icon: \"mdi-account-multiple\"\r\n },\r\n {\r\n text: \"WeightningQualitypoint\",\r\n to: \"/quality-points-weights\",\r\n icon: \"mdi-clipboard-list\",\r\n minUserLevel: UserLevel.Admin\r\n },\r\n {\r\n text: \"BusinessQualitypoints\",\r\n to: \"/subjective-quality-points\",\r\n icon: \"mdi-clipboard-account\",\r\n minUserLevel: UserLevel.Admin\r\n },\r\n {\r\n text: \"Documents\",\r\n to: \"/documents\",\r\n icon: \"mdi-file-document\",\r\n minUserLevel: UserLevel.User\r\n }\r\n ]\r\n },\r\n {\r\n text: \"MenuItemAdmin\",\r\n minUserLevel: UserLevel.SuperAdmin,\r\n items: [\r\n {\r\n text: \"AdminActor\",\r\n to: \"/administrate-actor\",\r\n icon: \"mdi-account-multiple\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n },\r\n {\r\n text: \"AdministrateUsers\",\r\n to: \"/administrate-users\",\r\n icon: \"mdi-account-multiple\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n },\r\n {\r\n text: \"PublishRules\",\r\n to: \"/publish-rules\",\r\n icon: \"mdi-format-list-numbered\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n },\r\n {\r\n text: \"ExcludedSuppliers\",\r\n to: \"/excluded-actors\",\r\n icon: \"mdi-account-cancel\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n }\r\n ]\r\n },\r\n {\r\n text: \"About\",\r\n items: [\r\n {\r\n text: \"CurrentIndexes\",\r\n to: \"/indexes\",\r\n icon: \"mdi-chart-line\"\r\n },\r\n {\r\n text: \"AboutLasset\",\r\n to: \"/about\",\r\n icon: \"mdi-information\"\r\n },\r\n {\r\n text: \"News\",\r\n to: \"/news\",\r\n icon: \"mdi-newspaper-variant-outline\"\r\n },\r\n {\r\n text: \"ReleaseNotes\",\r\n to: \"/documentation/docs_release_notes/_site/release_notes/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"ServiceSpec\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/service_specification/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"PriceList\",\r\n to: \"/price-list\",\r\n icon: \"mdi-currency-usd\"\r\n },\r\n {\r\n text: \"CodeOfConduct\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/code_of_conduct/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsIt\",\r\n to: \"/i/ITServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsCloud\",\r\n to: \"/i/CloudServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Support\",\r\n items: [\r\n {\r\n text: \"SupportForm\",\r\n to: \"/support-form\",\r\n icon: \"mdi-face-agent\"\r\n },\r\n {\r\n text: \"FAQ\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/faq/index.html\",\r\n icon: \"mdi-frequently-asked-questions\"\r\n },\r\n {\r\n text: \"UserManual\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/index.html\",\r\n icon: \"mdi-help-box\"\r\n }\r\n ]\r\n },\r\n quickLinks,\r\n {\r\n //ALLOWED NON-MENU ITEMS FOR CLIENTS,\r\n invisible: true,\r\n items: [\r\n {\r\n to: \"/\"\r\n },\r\n {\r\n to: \"/my-settings\"\r\n },\r\n {\r\n to: \"/procurement-overview\",\r\n minUserLevel: UserLevel.Admin\r\n },\r\n {\r\n to: \"/messages\",\r\n minUserLevel: UserLevel.User\r\n },\r\n {\r\n to: \"/user-mutation\",\r\n minSupportAdminLevel: SupportAdminLevel.MegaUser\r\n }\r\n ]\r\n }\r\n];\r\n\r\n/******************** Supplier ********************/\r\nconst supplierMenu: menu[] = [\r\n {\r\n text: \"ManageLoads\",\r\n items: [\r\n {\r\n text: \"LoadList\",\r\n to: \"/loads\",\r\n icon: \"mdi-format-list-bulleted\"\r\n },\r\n {\r\n text: \"FindLoad\",\r\n to: \"/search\",\r\n icon: \"mdi-magnify\"\r\n },\r\n {\r\n text: \"LoadingSlots\",\r\n to: \"/slots\",\r\n icon: \"mdi-calendar-check\",\r\n onlyForActors: [982, 48]\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Procurements\",\r\n minUserLevel: UserLevel.Admin,\r\n items: cargoTypes()\r\n .map(x => x.id as CargoType)\r\n .map(c => ({\r\n text: cargoTypeNameTag(c),\r\n to: \"/procurements?cargoType=\" + c,\r\n icon: cargoTypeIcon(c),\r\n onlyForCargoTypes: [c]\r\n }))\r\n },\r\n {\r\n text: \"Agreements\",\r\n minUserLevel: UserLevel.User,\r\n items: [\r\n ...cargoTypes()\r\n .map(x => x.id as CargoType)\r\n .map(c => ({\r\n text: cargoTypeNameTag(c),\r\n to: \"/agreements?cargoType=\" + c,\r\n icon: cargoTypeIcon(c),\r\n onlyForCargoTypes: [c]\r\n })),\r\n {\r\n text: \"TermsOfAgreement\",\r\n to: \"/documents\",\r\n icon: \"mdi-file-sign\",\r\n minUserLevel: UserLevel.User\r\n },\r\n {\r\n text: \"InvoicingInformation\",\r\n to: \"/documents\",\r\n icon: \"mdi-currency-usd\",\r\n minUserLevel: UserLevel.User\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Monitoring\",\r\n minUserLevel: UserLevel.User,\r\n items: [\r\n {\r\n text: \"LoadStatistics\",\r\n to: \"/load-statistics\",\r\n icon: \"mdi-finance\"\r\n },\r\n {\r\n text: \"AgreementStatistics\",\r\n to: \"/agreement-statistics\",\r\n icon: \"mdi-text-box-multiple\"\r\n },\r\n {\r\n text: \"QualityPoints\",\r\n to: \"/quality-points\",\r\n icon: \"mdi-clipboard-list\"\r\n },\r\n {\r\n text: \"InvoiceAudit\",\r\n to: \"/invoice-report\",\r\n icon: \"mdi-credit-card-search-outline\"\r\n },\r\n {\r\n text: \"TransportDistances\",\r\n to: \"/distance-report\",\r\n icon: \"mdi-map-marker-distance\",\r\n onlyForCargoTypes: [CargoType.Road, CargoType.MachineTransport]\r\n },\r\n {\r\n text: \"Survey_SustainabilitySurvey\",\r\n to: \"/surveys\",\r\n icon: \"mdi-leaf\",\r\n minUserLevel: UserLevel.Admin\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Actors\",\r\n items: [\r\n {\r\n text: \"MyActor\",\r\n to: \"/my-actor\",\r\n icon: \"mdi-account-multiple\"\r\n },\r\n {\r\n text: \"Clients\",\r\n to: \"/actors?actorType=\" + ActorType.Client,\r\n icon: \"mdi-account-multiple\"\r\n },\r\n {\r\n text: \"WeightningQualitypoint\",\r\n to: \"/quality-points-weights\",\r\n icon: \"mdi-clipboard-list\",\r\n minUserLevel: UserLevel.User\r\n },\r\n {\r\n text: \"BusinessQualitypoints\",\r\n to: \"/subjective-quality-points\",\r\n icon: \"mdi-clipboard-account\",\r\n minUserLevel: UserLevel.User\r\n }\r\n ]\r\n },\r\n {\r\n text: \"MenuItemAdmin\",\r\n minUserLevel: UserLevel.SuperAdmin,\r\n items: [\r\n {\r\n text: \"AdminActor\",\r\n to: \"/administrate-actor\",\r\n icon: \"mdi-account-multiple\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n },\r\n {\r\n text: \"AdministrateUsers\",\r\n to: \"/administrate-users\",\r\n icon: \"mdi-account-multiple\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n },\r\n {\r\n text: \"ExcludedClients\",\r\n to: \"/excluded-actors\",\r\n icon: \"mdi-account-cancel\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n }\r\n ]\r\n },\r\n {\r\n text: \"About\",\r\n items: [\r\n {\r\n text: \"CurrentIndexes\",\r\n to: \"/indexes\",\r\n icon: \"mdi-chart-line\"\r\n },\r\n {\r\n text: \"AboutLasset\",\r\n to: \"/about\",\r\n icon: \"mdi-information\"\r\n },\r\n {\r\n text: \"News\",\r\n to: \"/news\",\r\n icon: \"mdi-newspaper-variant-outline\"\r\n },\r\n {\r\n text: \"ReleaseNotes\",\r\n to: \"/documentation/docs_release_notes/_site/release_notes/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"ServiceSpec\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/service_specification/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"PriceList\",\r\n to: \"/price-list\",\r\n icon: \"mdi-currency-usd\"\r\n },\r\n {\r\n text: \"CodeOfConduct\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/code_of_conduct/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsIt\",\r\n to: \"/i/ITServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsCloud\",\r\n to: \"/i/CloudServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Support\",\r\n items: [\r\n {\r\n text: \"SupportForm\",\r\n to: \"/support-form\",\r\n icon: \"mdi-face-agent\"\r\n },\r\n {\r\n text: \"FAQ\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/faq/index.html\",\r\n icon: \"mdi-frequently-asked-questions\"\r\n },\r\n {\r\n text: \"UserManual\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/index.html\",\r\n icon: \"mdi-help-box\"\r\n }\r\n ]\r\n },\r\n quickLinks,\r\n {\r\n //ALLOWED NON-MENU ITEMS FOR SUPPLIERS,\r\n invisible: true,\r\n items: [\r\n {\r\n to: \"/\"\r\n },\r\n {\r\n to: \"/my-settings\"\r\n },\r\n {\r\n to: \"/survey\",\r\n minUserLevel: UserLevel.Admin\r\n },\r\n {\r\n to: \"/messages\",\r\n minUserLevel: UserLevel.User\r\n },\r\n {\r\n to: \"/user-mutation\",\r\n minSupportAdminLevel: SupportAdminLevel.MegaUser\r\n }\r\n ]\r\n }\r\n];\r\n\r\n/******************** Customer ********************/\r\nconst customerMenu: menu[] = [\r\n {\r\n text: \"ManageLoads\",\r\n items: [\r\n {\r\n text: \"LoadList\",\r\n to: \"/loads\",\r\n icon: \"mdi-format-list-bulleted\"\r\n },\r\n {\r\n text: \"FindLoad\",\r\n to: \"/search\",\r\n icon: \"mdi-magnify\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"MenuItemAdmin\",\r\n minUserLevel: UserLevel.SuperAdmin,\r\n items: [\r\n {\r\n text: \"AdministrateUsers\",\r\n to: \"/administrate-users\",\r\n icon: \"mdi-account-multiple\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n }\r\n ]\r\n },\r\n {\r\n text: \"About\",\r\n items: [\r\n {\r\n text: \"CurrentIndexes\",\r\n to: \"/indexes\",\r\n icon: \"mdi-chart-line\"\r\n },\r\n {\r\n text: \"AboutLasset\",\r\n to: \"/about\",\r\n icon: \"mdi-information\"\r\n },\r\n {\r\n text: \"News\",\r\n to: \"/news\",\r\n icon: \"mdi-newspaper-variant-outline\"\r\n },\r\n {\r\n text: \"ReleaseNotes\",\r\n to: \"/documentation/docs_release_notes/_site/release_notes/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"ServiceSpec\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/service_specification/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"PriceList\",\r\n to: \"/price-list\",\r\n icon: \"mdi-currency-usd\"\r\n },\r\n {\r\n text: \"CodeOfConduct\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/code_of_conduct/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsIt\",\r\n to: \"/i/ITServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsCloud\",\r\n to: \"/i/CloudServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Support\",\r\n items: [\r\n {\r\n text: \"SupportForm\",\r\n to: \"/support-form\",\r\n icon: \"mdi-face-agent\"\r\n },\r\n {\r\n text: \"FAQ\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/faq/index.html\",\r\n icon: \"mdi-frequently-asked-questions\"\r\n },\r\n {\r\n text: \"UserManual\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/index.html\",\r\n icon: \"mdi-help-box\"\r\n }\r\n ]\r\n },\r\n quickLinks,\r\n {\r\n //ALLOWED NON-MENU ITEMS FOR CUSTOMERS\r\n invisible: true,\r\n items: [\r\n {\r\n to: \"/\"\r\n },\r\n {\r\n to: \"/my-settings\"\r\n },\r\n {\r\n to: \"/user-mutation\",\r\n minSupportAdminLevel: SupportAdminLevel.MegaUser\r\n }\r\n ]\r\n }\r\n];\r\n\r\n/******************** Terminal ********************/\r\nconst terminalMenu: menu[] = [\r\n {\r\n text: \"ManageLoads\",\r\n items: [\r\n {\r\n text: \"LoadList\",\r\n to: \"/loads\",\r\n icon: \"mdi-format-list-bulleted\"\r\n },\r\n {\r\n text: \"FindLoad\",\r\n to: \"/search\",\r\n icon: \"mdi-magnify\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"MenuItemAdmin\",\r\n minUserLevel: UserLevel.SuperAdmin,\r\n items: [\r\n {\r\n text: \"AdministrateUsers\",\r\n to: \"/administrate-users\",\r\n icon: \"mdi-account-multiple\",\r\n minUserLevel: UserLevel.SuperAdmin\r\n }\r\n ]\r\n },\r\n {\r\n text: \"About\",\r\n items: [\r\n {\r\n text: \"CurrentIndexes\",\r\n to: \"/indexes\",\r\n icon: \"mdi-chart-line\"\r\n },\r\n {\r\n text: \"AboutLasset\",\r\n to: \"/about\",\r\n icon: \"mdi-information\"\r\n },\r\n {\r\n text: \"News\",\r\n to: \"/news\",\r\n icon: \"mdi-newspaper-variant-outline\"\r\n },\r\n {\r\n text: \"ReleaseNotes\",\r\n to: \"/documentation/docs_release_notes/_site/release_notes/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"ServiceSpec\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/service_specification/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"PriceList\",\r\n to: \"/price-list\",\r\n icon: \"mdi-currency-usd\"\r\n },\r\n {\r\n text: \"CodeOfConduct\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/code_of_conduct/index.html\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsIt\",\r\n to: \"/i/ITServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n },\r\n {\r\n text: \"GenProvisionsCloud\",\r\n to: \"/i/CloudServices_USERLANG.pdf\",\r\n icon: \"mdi-file-document\"\r\n }\r\n ]\r\n },\r\n {\r\n text: \"Support\",\r\n items: [\r\n {\r\n text: \"SupportForm\",\r\n to: \"/support-form\",\r\n icon: \"mdi-face-agent\"\r\n },\r\n {\r\n text: \"FAQ\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/faq/index.html\",\r\n icon: \"mdi-frequently-asked-questions\"\r\n },\r\n {\r\n text: \"UserManual\",\r\n to:\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/index.html\",\r\n icon: \"mdi-help-box\"\r\n }\r\n ]\r\n },\r\n quickLinks,\r\n {\r\n //ALLOWED NON-MENU ITEMS FOR TERMINAL\r\n invisible: true,\r\n items: [\r\n {\r\n to: \"/\"\r\n },\r\n {\r\n to: \"/my-settings\"\r\n },\r\n {\r\n to: \"/user-mutation\",\r\n minSupportAdminLevel: SupportAdminLevel.MegaUser\r\n }\r\n ]\r\n }\r\n];\r\n/******************** Mobile ********************/\r\nconst mobileMenu: menu[] = [\r\n {\r\n text: \"LoadList\",\r\n to: \"/mobile\"\r\n },\r\n {\r\n text: \"Support\",\r\n to: \"/mobile/support-form\"\r\n },\r\n {\r\n text: \"AboutLasset\",\r\n to: \"/mobile/about\"\r\n },\r\n ...quickLinks.items!,\r\n {\r\n //ALLOWED NON-MENU ITEMS FOR C-LOAD MOBILE,\r\n invisible: true,\r\n items: [\r\n {\r\n to: \"/mobile/slots\"\r\n }\r\n ]\r\n }\r\n];\r\n","import { ConfirmationOptions } from \"@/scripts/types\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { mutations } from \"@/scripts/store/constants\";\r\nimport store from \"@/scripts/store/store\";\r\n\r\nexport const errorDialog = (errorObject: any, callback: Function) => {\r\n const title = t(\"TheOperationWasCancelled\");\r\n let body;\r\n const lines = errorObject.response.errors\r\n ? Object.entries(errorObject.response.errors)[0]\r\n : [];\r\n if (lines && lines.length > 0) {\r\n body = lines[0];\r\n if (body.startsWith(\"$\")) {\r\n //Means we should translate it\r\n body = t(body.substr(1));\r\n }\r\n if (lines[1]) {\r\n for (const line of lines[1] as string[]) {\r\n body += `\\n${line}`;\r\n }\r\n }\r\n } else {\r\n body = \"An unhandled exception has occurred.\";\r\n }\r\n const options: ConfirmationOptions = {\r\n width: 600,\r\n noCloseButton: true,\r\n warning: true,\r\n title: title,\r\n body: body,\r\n btnText1: \"OK\",\r\n btnCallback1: () => {\r\n callback();\r\n }\r\n };\r\n popupDialog(options);\r\n};\r\n\r\nexport const alertDialog = (title: string, body: string, width?: number) => {\r\n const options: ConfirmationOptions = {\r\n width: width,\r\n noCloseButton: true,\r\n warning: true,\r\n title: title,\r\n body: body,\r\n btnText1: \"OK\",\r\n btnCallback1: () => {}\r\n };\r\n popupDialog(options);\r\n};\r\n\r\nexport const saveBeforeContinueDialog = (\r\n saveCallback: Function,\r\n dontSaveCallback: Function\r\n) => {\r\n const options: ConfirmationOptions = {\r\n title: t(\"UnsavedChanges\"),\r\n body: t(\"SaveBeforeExit\"),\r\n btnText1: t(\"Save\"),\r\n btnColor1: \"success\",\r\n btnCallback1: saveCallback,\r\n btnText2: t(\"DontSave\"),\r\n btnColor2: \"error\",\r\n btnCallback2: dontSaveCallback\r\n };\r\n popupDialog(options);\r\n};\r\n\r\nexport const discardChangesDialog = (callback: Function) => {\r\n const options: ConfirmationOptions = {\r\n title: t(\"UnsavedChanges\"),\r\n body: t(\"YouHaveUnsavedChanges\"),\r\n btnText1: t(\"Continue\"),\r\n btnColor1: \"error\",\r\n btnCallback1: callback\r\n };\r\n popupDialog(options);\r\n};\r\n\r\nexport const popupDialog = (options: ConfirmationOptions) => {\r\n store.commit(mutations.setConfirmationOptions, options);\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-app-bar',{attrs:{\"app\":\"\",\"dark\":\"\",\"elevation\":\"3\",\"src\":require(\"@/assets/img/triona-lines.png\"),\"color\":_vm.toolbarColor,\"clipped-left\":\"\"}},[(_vm.mobile)?_c('MobileToolbarMenu',{attrs:{\"menu\":_vm.menu,\"title\":_vm.title,\"actorName\":_vm.actorName,\"home\":_vm.home,\"unauthenticatedPage\":_vm.unauthenticatedPage},on:{\"signout\":_vm.signout,\"routeTo\":_vm.routeTo}}):_c('ToolbarMenu',{attrs:{\"menu\":_vm.menu,\"title\":_vm.title,\"actorName\":_vm.actorName,\"username\":_vm.username,\"home\":_vm.home,\"unauthenticatedPage\":_vm.unauthenticatedPage},on:{\"signout\":_vm.signout,\"routeTo\":_vm.routeTo}})],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:\"display-contents\"},[_c('v-toolbar-title',[_c('v-btn',{staticClass:\"headline font-weight-bold\",attrs:{\"link\":\"\",\"text\":\"\",\"large\":\"\"},on:{\"click\":function($event){return _vm.routeTo(_vm.home)}}},[_c('span',{staticClass:\"cld-font\",class:{ 'mini-earthquake': _vm.shouldWarnAboutMutation },attrs:{\"id\":\"page-title\"}},[_vm._v(_vm._s(_vm.title))])])],1),_vm._l((_vm.menu),function(item,index){return _c('v-menu',{key:index,attrs:{\"open-on-click\":false,\"open-on-hover\":(item.items || []).length > 0,\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({class:{\n 'narrow-menu-button': _vm.narrowButtons,\n 'mini-blur': _vm.shouldWarnAboutMutation\n },attrs:{\"text\":\"\",\"small\":!_vm.smallerButtons,\"x-small\":_vm.smallerButtons},on:{\"click\":function($event){item.to !== undefined ? _vm.routeTo(item.to) : ''}}},on),[_vm._v(\" \"+_vm._s(_vm.text(item))+\" \"),(_vm.showArrow(item))?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-menu-down \")]):_vm._e()],1)]}}],null,true)},[_c('v-list',{staticClass:\"tiny-vertical-padding\"},_vm._l((item.items || []),function(item2,index2){return _c('v-list-item',{key:index2,attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.routeTo(item2.to)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(item2.icon))])],1),_c('v-list-item-content',[_vm._v(\" \"+_vm._s(_vm.text(item2))+\" \")])],1)}),1)],1)}),_c('v-spacer'),(_vm.browsingSupportAdmin && _vm.menu.length > 0)?_c('div',[_c('v-btn',{class:{ 'narrow-menu-button': _vm.narrowButtons },attrs:{\"text\":\"\",\"small\":!_vm.smallerButtons,\"x-small\":_vm.smallerButtons},on:{\"click\":function($event){return _vm.routeTo('/support-admin/active-users-statistics')}}},[_c('ActiveUsersNow')],1)],1):(_vm.unviewedMessages !== undefined)?_c('div',{staticClass:\"tiniest-margin-bottom small-margin-right\"},[_c('v-badge',{attrs:{\"color\":\"btn-cyan\",\"content\":_vm.unviewedMessages,\"value\":_vm.unviewedMessages,\"overlap\":\"\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"height\":\"32\",\"width\":\"35\"},on:{\"click\":function($event){return _vm.routeTo('/messages')}}},[_c('v-icon',{attrs:{\"size\":\"30\"}},[_vm._v(\"mdi-email\")])],1)],1)],1):_vm._e(),(_vm.menu.length > 0 || _vm.unauthenticatedPage)?_c('Language',{attrs:{\"unauthenticatedPage\":_vm.unauthenticatedPage}}):_vm._e(),(_vm.menu.length > 0)?_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"tiny-padding narrow-menu-button\",class:{ 'mini-explosion': _vm.shouldWarnAboutMutation },attrs:{\"text\":\"\",\"small\":\"\"}},on),[_vm._v(\" \"+_vm._s(_vm.username)+\" \"),_c('br'),_c('span',{staticClass:\"actorname display-contents\"},[_vm._v(_vm._s(_vm.actorName ? _vm.actorName : \"-\"))]),_c('v-icon',[_vm._v(\"mdi-menu-down\")])],1)]}}],null,false,718021395)},[_c('v-list',{staticClass:\"tiny-vertical-padding\"},[_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.routeTo('/my-settings')}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-account-cog\")])],1),_c('v-list-item-content',[_c('div',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.$t(\"MySettings\")))])])],1),_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":_vm.signout}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-exit-to-app\")])],1),_c('v-list-item-content',[_c('div',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.$t(\"LogOut\")))])])],1),(_vm.allowedToMutateUser)?_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":_vm.mutateUser}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-radioactive\")])],1),_c('v-list-item-content',[_vm._v(\" Mutera \")])],1):_vm._e(),(_vm.allowedToMutateUser)?_c('v-list-item',{attrs:{\"dense\":\"\"},on:{\"click\":_vm.mutateTriona}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-radioactive-off\")])],1),_c('v-list-item-content',[_vm._v(\" Avmutera \")])],1):_vm._e(),(_vm.cldVersionData)?_c('v-divider'):_vm._e(),(_vm.cldVersionData)?_c('v-list-item',{attrs:{\"dense\":\"\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-wrench-clock\")])],1),_c('v-list-item-content',[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [(_vm.cldVersionData)?_c('div',_vm._g({staticClass:\"unselectable tiny-padding-top\"},on),[_vm._v(\" Version: \"+_vm._s(_vm.cldVersionData.Branch)+\" \")]):_vm._e()]}}],null,false,245375656)},_vm._l((_vm.cldVersionData),function(value,key){return _c('div',{key:key},[_vm._v(\" \"+_vm._s(key)+\": \"+_vm._s(value)+\" \")])}),0)],1)],1):_vm._e()],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('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"small-padding\",attrs:{\"text\":\"\",\"small\":\"\"}},on),[_c('v-img',{attrs:{\"src\":_vm.langImg,\"height\":\"20px\",\"width\":\"30px\"}}),_c('v-icon',[_vm._v(\"mdi-menu-down\")])],1)]}}])},[_c('v-list',{staticClass:\"tiny-vertical-padding\"},_vm._l((_vm.languages),function(lang){return _c('v-list-item',{key:lang.locale,attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.changeLang(lang.locale)}}},[_c('v-list-item-content',[_c('v-img',{staticClass:\"flag\",attrs:{\"src\":lang.image}})],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\r\nimport Vue from \"vue\";\r\nimport { ApiConfiguration, Culture, UsersClient } from \"@/scripts/cld.api\";\r\nimport { i18n, langs } from \"@/scripts/language/i18n\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n unauthenticatedPage: Boolean\r\n },\r\n computed: {\r\n languages() {\r\n return langs;\r\n },\r\n langImg(): any {\r\n return this.languages.find(l => l.locale === Number(i18n.locale))!.image;\r\n }\r\n },\r\n methods: {\r\n changeLang(lang: Culture) {\r\n if (this.unauthenticatedPage) {\r\n i18n.locale = lang.toString();\r\n window.localStorage.setItem(\"lang\", lang.toString());\r\n } else {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .saveLanguage(lang)\r\n .then(() => {\r\n location.reload();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n }\r\n },\r\n mounted() {\r\n if (this.unauthenticatedPage) {\r\n const lang = window.localStorage.getItem(\"lang\");\r\n if (!!lang) {\r\n i18n.locale = lang;\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Language.vue?vue&type=template&id=54283094&scoped=true&\"\nimport script from \"./Language.vue?vue&type=script&lang=ts&\"\nexport * from \"./Language.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Language.vue?vue&type=style&index=0&id=54283094&scoped=true&lang=css&\"\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 \"54283094\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VImg,VList,VListItem,VListItemContent,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.activeUsers !== undefined)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({attrs:{\"text\":\"\"}},on),[_vm._v(\" \"+_vm._s(_vm.activeWebUsers)+\" / \"+_vm._s(_vm.activeIntegrationUsers)+\" \")])]}}],null,false,212152168)},[_vm._v(\" \"+_vm._s(_vm.tooltip)+\" \")]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport {\r\n ActiveUsersNowDto,\r\n ActorType,\r\n ApiConfiguration,\r\n StatisticsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n computed: {\r\n activeClients(): number {\r\n return this.activeUsers!.filter(\r\n user => !user.integrationUser && user.actorType === ActorType.Client\r\n ).length;\r\n },\r\n activeSuppliers(): number {\r\n return this.activeUsers!.filter(\r\n user => !user.integrationUser && user.actorType === ActorType.Supplier\r\n ).length;\r\n },\r\n activeCustomers(): number {\r\n return this.activeUsers!.filter(\r\n user => !user.integrationUser && user.actorType === ActorType.Customer\r\n ).length;\r\n },\r\n activeTerminals(): number {\r\n return this.activeUsers!.filter(\r\n user => !user.integrationUser && user.actorType === ActorType.Terminal\r\n ).length;\r\n },\r\n activeWebUsers(): number {\r\n return (\r\n this.activeClients +\r\n this.activeSuppliers +\r\n this.activeCustomers +\r\n this.activeTerminals\r\n );\r\n },\r\n activeIntegrationUsers(): number {\r\n return this.activeUsers!.filter(user => user.integrationUser).length;\r\n },\r\n tooltip(): string {\r\n let tooltip = \"Webanvändare / Integrationsanvändare\\n\\n\";\r\n tooltip += \"Beställare: \" + this.activeClients + \"\\n\";\r\n tooltip += \"Leverantörer: \" + this.activeSuppliers + \"\\n\";\r\n tooltip += \"Kunder: \" + this.activeCustomers + \"\\n\";\r\n tooltip += \"Terminaler: \" + this.activeTerminals + \"\\n\";\r\n tooltip += \"Integratörer: \" + this.activeIntegrationUsers + \"\\n\\n\";\r\n tooltip += this.activeUsers!.map(user => user.name).join(\"\\n\");\r\n return tooltip;\r\n }\r\n },\r\n methods: {\r\n fetchActiveUsers() {\r\n new StatisticsClient(new ApiConfiguration(this.$store))\r\n .activeUsersNow()\r\n .then(res => {\r\n this.activeUsers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchActiveUsers();\r\n this.$nextTick(function() {\r\n this.intervalId = setInterval(() => {\r\n this.fetchActiveUsers();\r\n }, 14000);\r\n });\r\n },\r\n destroyed() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n },\r\n data: (): {\r\n intervalId?: number;\r\n activeUsers: ActiveUsersNowDto[] | undefined;\r\n } => ({\r\n intervalId: undefined,\r\n activeUsers: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveUsersNow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveUsersNow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActiveUsersNow.vue?vue&type=template&id=43bc3cfe&\"\nimport script from \"./ActiveUsersNow.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActiveUsersNow.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Language from \"@/components/shared/ui/Language.vue\";\r\nimport ActiveUsersNow from \"@/components/shared/ui/ActiveUsersNow.vue\";\r\nimport { menu } from \"@/scripts/misc/menuLayout\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport Config from \"@/scripts/config/config\";\r\nimport Auth from \"@/scripts/auth\";\r\n\r\ninterface BuildInfo {\r\n Branch: string;\r\n ArtefactBuildID: number;\r\n DeploymentDate: string;\r\n ArtefactBuildDate: string;\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n menu: Array as () => menu[],\r\n title: String,\r\n actorName: String,\r\n username: String,\r\n home: String,\r\n unauthenticatedPage: Boolean\r\n },\r\n components: {\r\n Language,\r\n ActiveUsersNow\r\n },\r\n computed: {\r\n screenWidth(): number {\r\n return this.$store.getters[gets.dimensions].width;\r\n },\r\n narrowButtons(): boolean {\r\n return this.screenWidth < 1300;\r\n },\r\n hideArrows(): boolean {\r\n return this.screenWidth < 1130;\r\n },\r\n smallerButtons(): boolean {\r\n return this.screenWidth < 1030;\r\n },\r\n allowedToMutateUser(): boolean {\r\n return this.$store.getters[gets.userInfo].supportAdminLevel >= 2;\r\n },\r\n allowedToSeeVersionInfo(): boolean {\r\n return this.$store.getters[gets.userInfo].supportAdminLevel >= 1;\r\n },\r\n shouldWarnAboutMutation(): boolean {\r\n return (\r\n Config.getTitle() === \"C-Load\" &&\r\n this.allowedToMutateUser &&\r\n this.$store.getters[gets.userInfo].actorId !== 48\r\n );\r\n },\r\n unviewedMessages(): number | undefined {\r\n return this.$store.getters[gets.unviewedMessages];\r\n },\r\n browsingSupportAdmin(): boolean {\r\n return Auth.browsingSupportAdmin();\r\n }\r\n },\r\n methods: {\r\n text(item: menu): string | undefined {\r\n if (!item.text || item.untranslated) {\r\n return item.text;\r\n }\r\n return t(item.text);\r\n },\r\n signout() {\r\n this.$emit(\"signout\");\r\n },\r\n mutateUser() {\r\n this.routeTo(\"/user-mutation\");\r\n },\r\n mutateTriona() {\r\n this.routeTo(\"/user-mutation?actorid=48\");\r\n },\r\n routeTo(path: string | undefined) {\r\n if (path && path.startsWith(\"https\")) {\r\n window.open(path, \"_blank\");\r\n } else {\r\n this.$emit(\"routeTo\", path);\r\n }\r\n },\r\n showArrow(item: menu): boolean {\r\n return !!item.items && item.items.length > 0 && !this.hideArrows;\r\n },\r\n fetchBuildInfo() {\r\n if (Auth.browsingDev()) {\r\n this.cldVersionData = {\r\n Branch: \"dev\",\r\n ArtefactBuildID: 1337,\r\n DeploymentDate: \"2018-09-01 08:00\",\r\n ArtefactBuildDate: \"1994-04-29 00:00\"\r\n };\r\n return;\r\n }\r\n const scriptTags = document.getElementsByTagName(\"script\");\r\n const scriptPath = scriptTags[scriptTags.length - 1].src;\r\n const cldVersionPath = scriptPath.replace(\r\n /\\/[^\\/]*$/,\r\n \"/CLDVersion.json\"\r\n );\r\n\r\n try {\r\n fetch(cldVersionPath).then(res => {\r\n if (!res.ok) {\r\n throw new Error(`Failed to fetch CLDVersion.json: ${res.status}`);\r\n }\r\n res.json().then(json => (this.cldVersionData = json));\r\n });\r\n } catch (error) {\r\n console.error(\"Unable to fetch data:\", error);\r\n }\r\n }\r\n },\r\n mounted() {\r\n setTimeout(() => {\r\n if (this.allowedToSeeVersionInfo) {\r\n this.fetchBuildInfo();\r\n }\r\n }, 5000);\r\n },\r\n data: (): { cldVersionData: BuildInfo | undefined } => ({\r\n cldVersionData: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ToolbarMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ToolbarMenu.vue?vue&type=template&id=f39dcd96&scoped=true&\"\nimport script from \"./ToolbarMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./ToolbarMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ToolbarMenu.vue?vue&type=style&index=0&id=f39dcd96&scoped=true&lang=css&\"\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 \"f39dcd96\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBadge,VBtn,VDivider,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VMenu,VSpacer,VToolbarTitle,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"display-contents\"},[(_vm.menu.length > 0)?_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"large\":\"\",\"width\":\"auto\",\"icon\":\"\"}},on),[_c('v-icon',[_vm._v(\"mdi-menu\")])],1)]}}],null,false,2655074272)},[_c('v-list',_vm._l((_vm.menu),function(item,i){return _c('v-list-item',{key:i,on:{\"click\":function($event){return _vm.routeTo(item.to)}}},[_c('v-list-item-title',[_vm._v(_vm._s(_vm.text(item)))])],1)}),1)],1):_vm._e(),_c('v-toolbar-title',[_c('v-btn',{staticClass:\"headline\",attrs:{\"link\":\"\",\"text\":\"\"},on:{\"click\":function($event){return _vm.routeTo(_vm.home)}}},[_c('span',{staticClass:\"cld-font\",attrs:{\"id\":\"page-title\"}},[_vm._v(_vm._s(_vm.title))])])],1),_c('v-spacer'),(_vm.menu.length > 0 || _vm.unauthenticatedPage)?_c('Language',{attrs:{\"unauthenticatedPage\":_vm.unauthenticatedPage}}):_vm._e(),(_vm.menu.length > 0)?_c('v-btn',{attrs:{\"text\":\"\",\"x-small\":\"\"},on:{\"click\":_vm.signout}},[_vm._v(\" \"+_vm._s(_vm.$t(\"LogOut\"))+\" \"),_c('v-icon',[_vm._v(\"mdi-exit-to-app\")])],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\r\nimport Vue from \"vue\";\r\nimport Language from \"@/components/shared/ui/Language.vue\";\r\nimport { menu } from \"@/scripts/misc/menuLayout\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: { Language },\r\n props: {\r\n menu: Array as () => menu[],\r\n title: String,\r\n actorName: String,\r\n home: String,\r\n unauthenticatedPage: Boolean\r\n },\r\n methods: {\r\n text(item: menu): string | undefined {\r\n if (!item.text || item.untranslated) {\r\n return item.text;\r\n }\r\n return t(item.text);\r\n },\r\n routeTo(path: string | undefined) {\r\n this.$emit(\"routeTo\", path);\r\n },\r\n signout() {\r\n this.$emit(\"signout\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileToolbarMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileToolbarMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileToolbarMenu.vue?vue&type=template&id=111d3536&scoped=true&\"\nimport script from \"./MobileToolbarMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileToolbarMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileToolbarMenu.vue?vue&type=style&index=0&id=111d3536&scoped=true&lang=css&\"\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 \"111d3536\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemTitle,VMenu,VSpacer,VToolbarTitle})\n","import { bestLang, localeCode, t } from \"@/scripts/language/i18n\";\r\nimport { ActorType, Culture } from \"../cld.api\";\r\nimport { gets } from \"../store/constants\";\r\nimport store from \"../store/store\";\r\nimport neverHappens from \"./neverHappens\";\r\n\r\nexport const stringCompare = (\r\n a: string | number | boolean | undefined | null,\r\n b: string | number | boolean | undefined | null\r\n): number => {\r\n if (a === undefined) {\r\n a = null;\r\n }\r\n if (b === undefined) {\r\n b = null;\r\n }\r\n const aNum = Number(a !== null ? a : -Infinity);\r\n const bNum = Number(b !== null ? b : -Infinity);\r\n if (!isNaN(aNum) && !isNaN(bNum)) {\r\n return aNum - bNum;\r\n } else {\r\n if (!a) {\r\n a = \"\";\r\n }\r\n if (!b) {\r\n b = \"\";\r\n }\r\n if (a < b) {\r\n return -1;\r\n }\r\n if (a > b) {\r\n return 1;\r\n }\r\n return 0;\r\n }\r\n};\r\n\r\nexport const stringSearchHit = (\r\n query: string | null | undefined,\r\n text: string | null | undefined,\r\n mustStartWith: boolean\r\n): boolean => {\r\n if (!query) {\r\n return true;\r\n }\r\n if (!text) {\r\n return false;\r\n }\r\n\r\n const terms = transform(query);\r\n const texts = transform(text);\r\n\r\n const termsNotInText = terms\r\n .map(term =>\r\n texts.some(\r\n t => t.startsWith(term) || (!mustStartWith && t.includes(term))\r\n )\r\n )\r\n .filter(termIsInText => !termIsInText);\r\n return termsNotInText.length === 0;\r\n};\r\n\r\nconst transform = (s: string): string[] => {\r\n s = s.toLocaleLowerCase();\r\n if (localeCode() !== \"sv-SE\") {\r\n s = s\r\n .replaceAll(\"ö\", \"o\")\r\n .replaceAll(\"ä\", \"a\")\r\n .replaceAll(\"å\", \"a\");\r\n }\r\n return s\r\n .replaceAll(\"(\", \"\")\r\n .replaceAll(\"[\", \"\")\r\n .replaceAll(\"ã\", \"a\")\r\n .replaceAll(\"í\", \"i\")\r\n .replaceAll(\"é\", \"e\")\r\n .split(\" \")\r\n .filter(s => s.trim() !== \"\");\r\n};\r\n\r\nexport const linkWithLocale = (link: string): string => {\r\n let res = link;\r\n while (res.includes(\"USERLANG\")) {\r\n res = res.replace(\r\n \"USERLANG\",\r\n bestLang([Culture.English, Culture.Swedish]).shortCode\r\n );\r\n }\r\n const actorType = actorTypeText(store.getters[gets.userInfo].actorType);\r\n while (res.includes(\"ACTORTYPE\")) {\r\n res = res.replace(\"ACTORTYPE\", actorType);\r\n }\r\n return res;\r\n};\r\n\r\nconst actorTypeText = (actorType: ActorType): string => {\r\n switch (actorType) {\r\n case ActorType.Client:\r\n return \"client\";\r\n case ActorType.Supplier:\r\n return \"supplier\";\r\n case ActorType.Customer:\r\n return \"customer\";\r\n case ActorType.Terminal:\r\n return \"terminal\";\r\n default:\r\n return neverHappens(actorType);\r\n }\r\n};\r\n\r\nexport const validEmail = (email: string | undefined): boolean => {\r\n if (!email) {\r\n return false;\r\n }\r\n return /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\r\n email\r\n );\r\n};\r\n\r\nexport const usernameErrors = (\r\n username: string | undefined\r\n): string | undefined => {\r\n const allowedChars = \"abcdefghijklmnopqrstuvwxyz0123456789\";\r\n if (!username || username.length <= 3) {\r\n return t(\"TooShort\");\r\n }\r\n if (username.toLocaleLowerCase() !== username) {\r\n return t(\"NoUpperCaseCharacters\");\r\n }\r\n if (username.split(\"\").some(c => !allowedChars.includes(c))) {\r\n return t(\"MayOnlyContain\") + \" \" + allowedChars;\r\n }\r\n return undefined;\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport Config from \"@/scripts/config/config\";\r\nimport ToolbarMenu from \"@/components/shared/ui/ToolbarMenu.vue\";\r\nimport MobileToolbarMenu from \"@/components/mobile/MobileToolbarMenu.vue\";\r\nimport { menu } from \"@/scripts/misc/menuLayout\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { linkWithLocale } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n username: String,\r\n menu: Array as () => menu[],\r\n unauthenticatedPage: Boolean\r\n },\r\n components: {\r\n ToolbarMenu,\r\n MobileToolbarMenu\r\n },\r\n computed: {\r\n actorName(): string {\r\n return this.$store.getters[gets.userInfo].actorName;\r\n },\r\n home(): string {\r\n if (Auth.browsingSupportAdmin()) {\r\n return \"/support-admin\";\r\n } else if (Auth.browsingMobile()) {\r\n return \"/mobile\";\r\n } else {\r\n return \"/\";\r\n }\r\n },\r\n title(): string {\r\n return Auth.browsingSupportAdmin() ? \"C-Admin\" : Config.getTitle();\r\n },\r\n mobile(): boolean {\r\n return Auth.browsingMobile();\r\n },\r\n toolbarColor(): string {\r\n return Auth.browsingSupportAdmin() ? \"#555555\" : \"cld-red\";\r\n }\r\n },\r\n methods: {\r\n signout() {\r\n this.$emit(\"signout\");\r\n },\r\n routeTo(path: string) {\r\n path = linkWithLocale(path);\r\n if (path.indexOf(\".pdf\") > 0) {\r\n window.open(Config.getDocsUrl() + path);\r\n } else if (path.startsWith(\"/documentation\")) {\r\n window.open(Config.getDocsUrl() + path);\r\n } else {\r\n this.$router.push(path);\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toolbar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Toolbar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Toolbar.vue?vue&type=template&id=9d68059e&\"\nimport script from \"./Toolbar.vue?vue&type=script&lang=ts&\"\nexport * from \"./Toolbar.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\ninstallComponents(component, {VAppBar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',{staticClass:\"no-vertical-padding\",class:{ 'support-admin-container': _vm.supportAdmin }},[_c('v-row',[(_vm.mobile)?[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\",\"sm\":\"10\",\"md\":\"9\",\"lg\":\"6\",\"xl\":\"6\"}},[_vm._t(\"default\")],2),_c('v-spacer')]:[_c('v-col',{staticClass:\"desktop-container no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._t(\"default\")],2)]],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\r\nimport Vue from \"vue\";\r\nimport Auth from \"@/scripts/auth\";\r\n\r\nexport default Vue.extend({\r\n computed: {\r\n mobile() {\r\n return Auth.browsingMobile();\r\n },\r\n supportAdmin() {\r\n return Auth.browsingSupportAdmin();\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentContainer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentContainer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ContentContainer.vue?vue&type=template&id=5b751fc0&\"\nimport script from \"./ContentContainer.vue?vue&type=script&lang=ts&\"\nexport * from \"./ContentContainer.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-progress-circular',{class:{\n 'top-margin': _vm.topMargin,\n 'small-top-margin': _vm.smallTopMargin,\n 'bottom-margin': _vm.bottomMargin,\n 'small-bottom-margin': _vm.smallBottomMargin\n },attrs:{\"color\":_vm.color,\"size\":_vm.size,\"width\":_vm.size / 13,\"indeterminate\":\"\"}})],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\r\nimport auth from \"@/scripts/auth\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n size: Number,\r\n topMargin: Boolean,\r\n bottomMargin: Boolean,\r\n smallTopMargin: Boolean,\r\n smallBottomMargin: Boolean\r\n },\r\n computed: {\r\n color(): string {\r\n return auth.browsingSupportAdmin() ? \"cld-red\" : \"icon-cyan\";\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spinner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Spinner.vue?vue&type=template&id=1f40c05c&scoped=true&\"\nimport script from \"./Spinner.vue?vue&type=script&lang=ts&\"\nexport * from \"./Spinner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Spinner.vue?vue&type=style&index=0&id=1f40c05c&scoped=true&lang=css&\"\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 \"1f40c05c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VProgressCircular,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-icon',{attrs:{\"size\":\"120\"},on:{\"click\":function($event){return _vm.routeTo('/')}}},[_vm._v(\" mdi-emoticon-sad-outline \")])],1),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h2',[_vm._v(\"Error! You are not authorized to see the following page:\")])]),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h3',[_vm._v(_vm._s(_vm.path))])]),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h2',[_vm._v(\"Reason: \"+_vm._s(_vm.reason))])])],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n reason: String\r\n },\r\n computed: {\r\n path(): string {\r\n return this.$route.path;\r\n }\r\n },\r\n methods: {\r\n routeTo(path: string) {\r\n this.$router.push(path);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forbidden.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forbidden.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Forbidden.vue?vue&type=template&id=5738a37c&\"\nimport script from \"./Forbidden.vue?vue&type=script&lang=ts&\"\nexport * from \"./Forbidden.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{key:_vm.key,attrs:{\"dialog\":_vm.options.dialog,\"title\":_vm.options.title,\"width\":_vm.options.width,\"no-close-button\":_vm.options.noCloseButton,\"warning\":_vm.options.warning},on:{\"close\":_vm.options.closeButtonCallback},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"render-newlines confirmation-text\"},[_vm._v(\" \"+_vm._s(_vm.options.body)+\" \")])]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),(_vm.options.btnCallback2)?_c('v-btn',{attrs:{\"text\":!_vm.options.btnColor2,\"color\":_vm.options.btnColor2,\"loading\":_vm.waitingForCallback},on:{\"click\":_vm.options.btnCallback2}},[_vm._v(\" \"+_vm._s(_vm.options.btnText2)+\" \")]):_vm._e(),_c('v-btn',{attrs:{\"text\":!_vm.options.btnColor1,\"color\":_vm.options.btnColor1,\"loading\":_vm.waitingForCallback},on:{\"click\":_vm.options.btnCallback1}},[_vm._v(\" \"+_vm._s(_vm.options.btnText1)+\" \")])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"value\":_vm.dialog,\"persistent\":\"\",\"scrollable\":\"\",\"width\":_vm.width}},[_c('v-card',{class:{\n 'full-height-dialog': _vm.fullHeight,\n 'semi-full-height-dialog': _vm.semiFullHeight\n }},[_c('v-card-title',{staticClass:\"headline\",class:_vm.warning ? 'warning lighten-1' : 'card-cyan'},[_c('div',{staticClass:\"medium-margin-right\"},[_vm._v(_vm._s(_vm.title))]),_vm._t(\"head-left\"),_c('v-spacer'),_vm._t(\"head-right\"),(!_vm.noCloseButton)?_c('v-btn',{attrs:{\"tabindex\":\"1\",\"large\":\"\",\"text\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-close\")])],1):_vm._e()],2),_c('v-card-text',{class:{\n 'no-padding-bottom': _vm.noPaddingBottom,\n 'no-padding-sides': _vm.noPaddingSides && !_vm.loading,\n 'background-pale': _vm.grey\n }},[(_vm.loading)?_c('div',{class:{ 'loader-container': !_vm.fullHeight && !_vm.semiFullHeight }},[_c('Spinner',{attrs:{\"size\":150,\"top-margin\":_vm.fullHeight || _vm.semiFullHeight,\"small-top-margin\":!_vm.fullHeight && !_vm.semiFullHeight}})],1):_vm._t(\"body\")],2),_c('v-card-actions',{class:{ 'background-pale': _vm.grey }},[_vm._t(\"actions\")],2),_vm._t(\"dialogs\")],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner\r\n },\r\n props: {\r\n dialog: Boolean,\r\n title: String,\r\n loading: Boolean,\r\n fullHeight: Boolean,\r\n semiFullHeight: Boolean,\r\n noPaddingBottom: Boolean,\r\n noPaddingSides: Boolean,\r\n width: [Number, String],\r\n noCloseButton: Boolean,\r\n warning: Boolean,\r\n grey: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DialogCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DialogCard.vue?vue&type=template&id=0d8d2186&scoped=true&\"\nimport script from \"./DialogCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./DialogCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DialogCard.vue?vue&type=style&index=0&id=0d8d2186&scoped=true&lang=css&\"\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 \"0d8d2186\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VIcon,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ConfirmationOptions } from \"@/scripts/types\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n confirmationOptions: Object as () => ConfirmationOptions\r\n },\r\n watch: {\r\n confirmationOptions: {\r\n handler(newValue: ConfirmationOptions) {\r\n this.key++;\r\n this.initDialog(newValue);\r\n }\r\n }\r\n },\r\n methods: {\r\n initDialog(o: ConfirmationOptions) {\r\n this.waitingForCallback = false;\r\n this.options.dialog = o.dialog !== undefined ? o.dialog : true;\r\n this.options.width = o.width !== undefined ? o.width : 500;\r\n this.options.noCloseButton = o.noCloseButton;\r\n this.options.closeButtonCallback = o.closeButtonCallback\r\n ? () => {\r\n this.closeDialogAfterCallback(o.closeButtonCallback!);\r\n }\r\n : this.closeDialog;\r\n this.options.warning = o.warning;\r\n this.options.title = o.title;\r\n this.options.body = o.body;\r\n\r\n this.options.btnText1 =\r\n o.btnText1 !== undefined ? o.btnText1 : this.$t(\"Continue\").toString();\r\n this.options.btnText2 =\r\n o.btnText2 !== undefined ? o.btnText2 : this.$t(\"Cancel\").toString();\r\n this.options.btnColor1 = o.btnColor1;\r\n this.options.btnColor2 = o.btnColor2;\r\n this.options.btnCallback1 = () => {\r\n this.closeDialogAfterCallback(o.btnCallback1);\r\n };\r\n this.options.btnCallback2 = o.btnCallback2\r\n ? () => {\r\n this.closeDialogAfterCallback(o.btnCallback2!);\r\n }\r\n : undefined;\r\n },\r\n closeDialogAfterCallback(callback: Function) {\r\n this.waitingForCallback = true;\r\n let callbackPromise = callback();\r\n if (callbackPromise !== undefined) {\r\n callbackPromise.then(() => {\r\n this.closeDialog();\r\n });\r\n } else {\r\n this.closeDialog();\r\n }\r\n },\r\n closeDialog() {\r\n this.options.dialog = false;\r\n }\r\n },\r\n data: (): {\r\n waitingForCallback: boolean;\r\n options: ConfirmationOptions;\r\n key: number;\r\n } => ({\r\n waitingForCallback: false,\r\n options: {\r\n dialog: false,\r\n btnCallback1: () => {},\r\n closeButtonCallback: () => {}\r\n },\r\n key: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirmation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Confirmation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Confirmation.vue?vue&type=template&id=417e9e52&scoped=true&\"\nimport script from \"./Confirmation.vue?vue&type=script&lang=ts&\"\nexport * from \"./Confirmation.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Confirmation.vue?vue&type=style&index=0&id=417e9e52&scoped=true&lang=css&\"\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 \"417e9e52\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"snackbar-wrapper\"},_vm._l((_vm.notifications),function(n,index){return _c('v-snackbar',{key:n.id,style:((\"padding-bottom: \" + (_vm.padding(index)) + \"px;\")),attrs:{\"value\":true,\"timeout\":n.timeout,\"bottom\":\"\",\"absolute\":\"\",\"color\":n.color},on:{\"input\":function($event){return _vm.close(n.id)}},scopedSlots:_vm._u([{key:\"action\",fn:function(){return [_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.close(n.id)}}},[_c('v-icon',[_vm._v(\" mdi-close \")])],1)]},proxy:true}],null,true)},[_c('div',{staticClass:\"medium-vertical-padding medium-padding-left\",class:{ clickable: n.routeTo },on:{\"click\":function($event){return _vm.click(n)}}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',[_vm._v(\" \"+_vm._s(n.icon)+\" \")])],1),_c('v-col',{staticClass:\"no-padding medium-padding-right render-newlines\",attrs:{\"cols\":\"auto\"}},[_c('span',[_vm._v(_vm._s(n.text))])])],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\r\nimport Vue from \"vue\";\r\nimport { Notification } from \"@/scripts/misc/notifications\";\r\nimport { gets, mutations } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n computed: {\r\n notifications(): Notification[] {\r\n return this.$store.getters[gets.notifications];\r\n }\r\n },\r\n methods: {\r\n close(id: string) {\r\n this.$store.commit(mutations.removeNotification, id);\r\n },\r\n click(notification: Notification) {\r\n if (notification.routeTo) {\r\n this.$router.push(notification.routeTo);\r\n this.close(notification.id);\r\n }\r\n },\r\n padding(index: number) {\r\n return 30 + 72 * index;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbars.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snackbars.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Snackbars.vue?vue&type=template&id=0b014380&scoped=true&\"\nimport script from \"./Snackbars.vue?vue&type=script&lang=ts&\"\nexport * from \"./Snackbars.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Snackbars.vue?vue&type=style&index=0&id=0b014380&scoped=true&lang=css&\"\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 \"0b014380\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSnackbar})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-scale-transition',[(_vm.show)?_c('v-alert',{staticClass:\"tiny-margin-top tiny-margin-sides no-margin-bottom\",class:{ 'white-text': _vm.error },attrs:{\"color\":_vm.error ? 'warning' : 'card-cyan',\"dense\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"tiny-padding-left small-padding-right no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"color\":_vm.error ? 'white' : 'grey darken-3'}},[_vm._v(_vm._s(_vm.error ? \"mdi-alert-octagon\" : \"mdi-information\"))])],1),_c('v-col',{staticClass:\"no-padding\"},[_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.message))])]),(_vm.secondsLeft !== null)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.countdown)+\" \")]):_vm._e(),(_vm.closable)?_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"white\",\"small\":\"\",\"tile\":\"\",\"icon\":\"\"},on:{\"click\":_vm.hide}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1):_vm._e()],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n show: Boolean,\r\n message: String,\r\n secondsLeft: Number,\r\n closable: Boolean,\r\n error: Boolean\r\n },\r\n watch: {\r\n secondsLeft: {\r\n handler() {\r\n if (this.secondsLeft === undefined) {\r\n return;\r\n }\r\n const hours = Math.floor(this.secondsLeft / 3600);\r\n const minutes = Math.floor((this.secondsLeft - hours * 3600) / 60);\r\n const seconds = this.secondsLeft - hours * 3600 - minutes * 60;\r\n this.countdown = `${hours}:${minutes < 10 ? \"0\" : \"\"}${minutes}:${\r\n seconds < 10 ? \"0\" : \"\"\r\n }${seconds}`;\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n hide() {\r\n this.$emit(\"hide\");\r\n }\r\n },\r\n data: (): { countdown: String | undefined } => ({\r\n countdown: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Alert.vue?vue&type=template&id=0ddacc37&\"\nimport script from \"./Alert.vue?vue&type=script&lang=ts&\"\nexport * from \"./Alert.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VScaleTransition } from 'vuetify/lib/components/transitions';\ninstallComponents(component, {VAlert,VBtn,VCol,VIcon,VRow,VScaleTransition})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-footer',{attrs:{\"color\":\"cld-red\",\"app\":\"\",\"padless\":\"\",\"fixed\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"tiny-vertical-padding no-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.open(_vm.trionaWeb)}}},[_vm._v(\" Triona \")])],1),_c('v-col',{staticClass:\"tiny-vertical-padding no-padding-sides\",attrs:{\"cols\":\"auto\"}},[(_vm.actorName)?_c('v-divider',{staticClass:\"vertical-divider\",attrs:{\"vertical\":\"\"}}):_vm._e()],1),_c('v-col',{staticClass:\"tiny-vertical-padding caption white-text\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.actorName)+\" \")]),_c('v-col',{staticClass:\"tiny-vertical-padding no-padding-sides\",attrs:{\"cols\":\"auto\"}},[(_vm.actorName)?_c('v-divider',{staticClass:\"vertical-divider\",attrs:{\"vertical\":\"\"}}):_vm._e()],1),_c('v-col',{staticClass:\"tiny-vertical-padding no-padding-sides\",attrs:{\"cols\":\"auto\"}},[(_vm.actorName)?_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.routeTo('mobile/support-form')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Support\"))+\" \")]):_vm._e()],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\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n computed: {\r\n actorName(): string {\r\n return this.$store.getters[gets.userInfo].actorName;\r\n },\r\n trionaWeb(): string {\r\n return \"https://www.triona.se\";\r\n }\r\n },\r\n methods: {\r\n routeTo(path: string) {\r\n this.$router.push(path);\r\n },\r\n open(path: string) {\r\n window.open(path, \"_blank\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileFooter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileFooter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileFooter.vue?vue&type=template&id=2189cad1&scoped=true&\"\nimport script from \"./MobileFooter.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileFooter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileFooter.vue?vue&type=style&index=0&id=2189cad1&scoped=true&lang=css&\"\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 \"2189cad1\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDivider,VFooter,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div')}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport NotificationSound1 from \"@/assets/sound/notification.mp3\";\r\nimport CountdownSound from \"@/assets/sound/countdown.mp3\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { Sound } from \"@/scripts/types\";\r\nimport { gets, mutations } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n watch: {\r\n sounds: {\r\n handler() {\r\n if (this.sounds.length === 0) {\r\n return;\r\n }\r\n const sound = this.sounds[0];\r\n this.$store.commit(mutations.popSound);\r\n const audio = new Audio(this.sound(sound));\r\n audio.play();\r\n },\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n sounds(): Sound[] {\r\n return this.$store.getters[gets.sounds];\r\n }\r\n },\r\n methods: {\r\n sound(sound: Sound): string {\r\n switch (sound) {\r\n case Sound.Notification1:\r\n return NotificationSound1;\r\n case Sound.Countdown:\r\n return CountdownSound;\r\n default:\r\n return neverHappens(sound);\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Sound.vue?vue&type=template&id=d40f03de&\"\nimport script from \"./Sound.vue?vue&type=script&lang=ts&\"\nexport * from \"./Sound.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\r\nimport Vue from \"vue\";\r\nimport {\r\n ConfirmationOptions,\r\n MobilePopupConfiguration,\r\n userInfoFromProfileDto\r\n} from \"@/scripts/types\";\r\nimport menuLayout, {\r\n menu,\r\n pageForbiddenReason\r\n} from \"@/scripts/misc/menuLayout\";\r\nimport { i18n, t } from \"@/scripts/language/i18n\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport {\r\n UsersClient,\r\n ApiConfiguration,\r\n ActorType,\r\n RepositoryClient,\r\n BroadcastDto,\r\n ProfileDto,\r\n UserConfigurationType,\r\n UserLevel,\r\n DirectMessagingClient,\r\n ReportScreenDimensionsDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport Toolbar from \"@/components/shared/ui/Toolbar.vue\";\r\nimport ContentContainer from \"@/components/shared/ui/ContentContainer.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport Forbidden from \"@/components/shared/ui/Forbidden.vue\";\r\nimport Confirmation from \"@/components/shared/ui/Confirmation.vue\";\r\nimport Snackbars from \"@/components/shared/ui/Snackbars.vue\";\r\nimport Alert from \"@/components/shared/ui/Alert.vue\";\r\nimport MobileFooter from \"@/components/mobile/MobileFooter.vue\";\r\nimport Sound from \"@/components/shared/ui/Sound.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Toolbar,\r\n ContentContainer,\r\n Spinner,\r\n Forbidden,\r\n Confirmation,\r\n Snackbars,\r\n Alert,\r\n MobileFooter,\r\n Sound\r\n },\r\n watch: {\r\n username: {\r\n handler() {\r\n if (this.username) {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .profile()\r\n .then(profile => {\r\n i18n.locale = profile.culture.toString();\r\n this.prevStatusCheck = CDate.minDate();\r\n this.setupConf(profile).then(() => {\r\n this.checkSystemStatus();\r\n this.checkForMobileDevice();\r\n this.checkUnviewedMessages();\r\n });\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n immediate: true\r\n },\r\n userLevel: {\r\n handler(userLevel) {\r\n if (userLevel === UserLevel.Integration) {\r\n this.$router.push(\"/integration-user\");\r\n }\r\n },\r\n immediate: true\r\n },\r\n clientOutdated(outdated) {\r\n if (outdated) {\r\n popupDialog({\r\n noCloseButton: true,\r\n title: t(\"NewVersion\"),\r\n body: t(\"NewVersionDialogText\"),\r\n btnText1: t(\"Reload\"),\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n location.reload();\r\n }\r\n });\r\n }\r\n },\r\n activityDate() {\r\n let secondsSinceLastCheck =\r\n CDate.now(TimeZone.Europe_Stockholm).toSeconds() -\r\n this.prevStatusCheck.toSeconds();\r\n if (secondsSinceLastCheck > 10) {\r\n this.checkSystemStatus();\r\n }\r\n let secondsSinceLastDimensionsReport =\r\n CDate.now(TimeZone.Europe_Stockholm).toSeconds() -\r\n this.prevStatusDimensionsReport.toSeconds();\r\n if (secondsSinceLastDimensionsReport > 300) {\r\n this.reportCurrentDimensions();\r\n }\r\n }\r\n },\r\n computed: {\r\n activityDate(): CDate {\r\n return this.$store.getters[gets.activityDate];\r\n },\r\n username(): string {\r\n return this.$store.getters[gets.username];\r\n },\r\n clientOutdated(): boolean {\r\n return this.$store.getters[gets.clientOutdated];\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorTypeString(): string {\r\n if (this.actorType === undefined) {\r\n return \"not-yet-logged-in\";\r\n } else {\r\n return ActorType[this.actorType];\r\n }\r\n },\r\n userLevel(): UserLevel | undefined {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n },\r\n confirmationOptions(): ConfirmationOptions {\r\n return this.$store.getters[gets.confirmationOptions];\r\n },\r\n unauthenticatedPage(): boolean {\r\n return this.$route.meta !== undefined && this.$route.meta.unauthenticated;\r\n },\r\n pageForbiddenReason(): string | undefined {\r\n if (this.unauthenticatedPage) {\r\n return undefined;\r\n }\r\n return pageForbiddenReason(\r\n this.$store.getters[gets.userInfo],\r\n this.$route.fullPath\r\n );\r\n },\r\n globalError(): any {\r\n return this.$store.getters[gets.globalError];\r\n },\r\n broadcast: {\r\n get(): BroadcastDto | undefined {\r\n return this.$store.getters[gets.broadcast];\r\n },\r\n set(value: BroadcastDto | undefined) {\r\n this.$store.commit(mutations.setBroadcast, value);\r\n }\r\n },\r\n broadcastMessage(): string {\r\n if (!this.broadcast) {\r\n return \"\";\r\n }\r\n let message = this.broadcast!.message![i18n.locale];\r\n if (!message) {\r\n message = this.broadcast!.message![\"2\"]; //Eng\r\n }\r\n return message;\r\n },\r\n broadcastSecondsLeft(): number | undefined {\r\n if (!this.broadcast) {\r\n return undefined;\r\n }\r\n return this.broadcast.secondsLeft;\r\n },\r\n mobile() {\r\n return Auth.browsingMobile();\r\n },\r\n mobilePopupConf(): MobilePopupConfiguration {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.MobilePopup,\r\n 1\r\n );\r\n },\r\n atleastUser(): boolean {\r\n return (\r\n this.userLevel !== undefined &&\r\n [UserLevel.User, UserLevel.Admin, UserLevel.SuperAdmin].includes(\r\n this.userLevel\r\n )\r\n );\r\n }\r\n },\r\n methods: {\r\n signout() {\r\n this.$store.dispatch(actions.startSignout, window.location.pathname);\r\n },\r\n hideGlobalError() {\r\n this.$store.commit(mutations.setGlobalError, { show: false });\r\n },\r\n saveCurrentDimensions() {\r\n this.$store.commit(mutations.setDimensions, {\r\n width: window.innerWidth,\r\n height: window.innerHeight\r\n });\r\n },\r\n reportCurrentDimensions() {\r\n if (this.username) {\r\n const currentWidth = this.$store.getters[gets.dimensions].width;\r\n const currentHeight = this.$store.getters[gets.dimensions].height;\r\n if (currentWidth > 100 && currentHeight > 100) {\r\n this.prevStatusDimensionsReport = CDate.now(\r\n TimeZone.Europe_Stockholm\r\n );\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .reportScreenDimensions(\r\n new ReportScreenDimensionsDto({\r\n width: currentWidth,\r\n height: currentHeight\r\n })\r\n )\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n }\r\n },\r\n checkSystemStatus() {\r\n this.prevStatusCheck = CDate.now(TimeZone.Europe_Stockholm);\r\n if (this.username) {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .systemStatus()\r\n .then(res => {\r\n this.broadcast = res.broadcast;\r\n if (\r\n this.prevCacheDate &&\r\n !this.prevCacheDate.isSame(\r\n res.locationAndAgreementRouteLastModified\r\n )\r\n ) {\r\n this.$store.commit(mutations.setLocationCacheOutdated, true);\r\n }\r\n this.prevCacheDate = res.locationAndAgreementRouteLastModified;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n checkUnviewedMessages() {\r\n if (this.actorType === ActorType.Supplier && this.atleastUser) {\r\n new DirectMessagingClient(new ApiConfiguration(this.$store))\r\n .numUnviewed()\r\n .then(res => {\r\n this.$store.commit(mutations.setUnviewedMessages, res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n } else if (this.actorType === ActorType.Client) {\r\n this.$store.commit(mutations.setUnviewedMessages, 0);\r\n }\r\n },\r\n async setupConf(profile: ProfileDto) {\r\n return this.$store\r\n .dispatch(actions.initUserConf, {\r\n actorType: profile.actorType,\r\n zone: profile.timeZone,\r\n confs: profile.userConfigurations\r\n })\r\n .then(() => {\r\n return this.$store.dispatch(actions.initActorConf, {\r\n actorType: profile.actorType,\r\n confs: profile.actorConfigurations\r\n });\r\n })\r\n .then(() => {\r\n this.$store.commit(\r\n mutations.setUserInfo,\r\n userInfoFromProfileDto(profile)\r\n );\r\n })\r\n .then(() => {\r\n this.menu = menuLayout(this.$store.getters[gets.userInfo]);\r\n });\r\n },\r\n checkForMobileDevice() {\r\n try {\r\n if (Auth.browsingMobile()) {\r\n return;\r\n }\r\n if (\r\n /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(\r\n navigator.userAgent\r\n )\r\n ) {\r\n const dis = this.mobilePopupConf.dismissedDates;\r\n //2,3,4 dismisses hide dialog for 4,8,16 weeks resp. and so on\r\n if (\r\n dis.length < 2 ||\r\n dis.every(d =>\r\n d.isBefore(\r\n CDate.now(TimeZone.Europe_Stockholm).addDays(\r\n Math.pow(2, dis.length) * -7\r\n )\r\n )\r\n )\r\n ) {\r\n popupDialog({\r\n title: `C-Load ${t(\"Mobile\")}`,\r\n width: 400,\r\n body: t(\"YouAreUsingAMobileDevice\"),\r\n btnText1: `C-Load ${t(\"Mobile\")}`,\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.mobilePopupConf.dismissedDates.length = 0;\r\n return this.$store\r\n .dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.MobilePopup,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.$router.push(\"/mobile\");\r\n });\r\n },\r\n closeButtonCallback: () => {\r\n this.mobilePopupConf.dismissedDates.push(\r\n CDate.now(TimeZone.Europe_Stockholm)\r\n );\r\n return this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.MobilePopup,\r\n subTypeId: 1\r\n });\r\n }\r\n });\r\n }\r\n }\r\n } catch (e) {\r\n console.error(\"Mobile popup check failed\", e);\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$nextTick(function() {\r\n this.saveCurrentDimensions();\r\n (window as any).visualViewport.addEventListener(\r\n \"resize\",\r\n this.saveCurrentDimensions\r\n );\r\n document.addEventListener(\"visibilitychange\", () => {\r\n this.$store.commit(mutations.setVisible, !document.hidden);\r\n });\r\n document.addEventListener(\"mousemove\", () => {\r\n this.$store.commit(mutations.setMouseActivityDate);\r\n });\r\n document.addEventListener(\"touchstart\", () => {\r\n this.$store.commit(mutations.setMouseActivityDate);\r\n });\r\n window.addEventListener(\"beforeunload\", e => {\r\n if (this.$store.getters[gets.preventLeaving]) {\r\n e.preventDefault();\r\n e.returnValue = \"\";\r\n }\r\n });\r\n setInterval(() => {\r\n if (\r\n this.broadcast !== undefined &&\r\n this.broadcast.secondsLeft !== null &&\r\n this.broadcast.secondsLeft! > 0\r\n ) {\r\n this.broadcast.secondsLeft!--;\r\n }\r\n }, 1000);\r\n setInterval(() => {\r\n this.$store.commit(mutations.tickLocks);\r\n }, 1000);\r\n });\r\n },\r\n data(): {\r\n menu: menu[];\r\n prevStatusCheck: CDate;\r\n prevStatusDimensionsReport: CDate;\r\n prevCacheDate?: CDate;\r\n } {\r\n return {\r\n menu: [],\r\n prevStatusCheck: CDate.now(TimeZone.Europe_Stockholm),\r\n prevStatusDimensionsReport: CDate.minDate(),\r\n prevCacheDate: undefined\r\n };\r\n }\r\n});\r\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--15-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--15-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=179f2d8b&scoped=true&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=179f2d8b&scoped=true&lang=css&\"\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 \"179f2d8b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VMain } from 'vuetify/lib/components/VMain';\ninstallComponents(component, {VApp,VMain})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-icon',{attrs:{\"size\":\"120\"},on:{\"click\":function($event){return _vm.routeTo('/')}}},[_vm._v(\" mdi-emoticon-sad-outline \")])],1),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h2',{staticClass:\"small-margin-top\"},[_vm._v(\" Error! The following url could not be found: \")])]),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h3',[_vm._v(_vm._s(_vm.url))])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n computed: {\r\n url() {\r\n return window.location.href;\r\n }\r\n },\r\n methods: {\r\n routeTo(path: string) {\r\n this.$router.push(path);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageNotFound.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PageNotFound.vue?vue&type=template&id=5a7cfaed&\"\nimport script from \"./PageNotFound.vue?vue&type=script&lang=ts&\"\nexport * from \"./PageNotFound.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-icon',{attrs:{\"size\":\"120\"},on:{\"click\":function($event){return _vm.routeTo('/')}}},[_vm._v(\" mdi-emoticon-sad-outline \")])],1),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h2',{staticClass:\"small-margin-top\"},[_vm._v(_vm._s(_vm.message))])]),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h3',{staticClass:\"large-padding text-decoration-underline blue--text clickable\",on:{\"click\":function($event){return _vm.routeTo('/')}}},[_vm._v(\" Return to C-Load \")])])],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n watch: {\r\n qsMessage: {\r\n handler() {\r\n if (this.qsMessage) {\r\n this.message = String(this.qsMessage);\r\n this.$router.push(this.$route.path);\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n qsMessage() {\r\n return this.$route.query.message;\r\n }\r\n },\r\n methods: {\r\n routeTo(path: string) {\r\n this.$router.push(path);\r\n }\r\n },\r\n data: (): { message: string } => ({\r\n message: \"Unexpected error!\"\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ErrorPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ErrorPage.vue?vue&type=template&id=283e6a17&\"\nimport script from \"./ErrorPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./ErrorPage.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"10\",\"lg\":\"8\"}},[_c('SearchCard',{attrs:{\"title\":\"Warning\",\"warning\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"warning-thing\"},[_c('p',[_vm._v(\" This C-Load page is not optimized for Internet Explorer. To browse this page, please use one of the following browsers: \")]),_c('ul',[_c('li',[_vm._v(\"Google Chrome\")]),_c('li',[_vm._v(\"Microsoft Edge\")]),_c('li',[_vm._v(\"Mozilla Firefox\")])]),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"btn-cyan\",\"to\":\"/\"}},[_vm._v(\" Back to C-load \")])],1)],1)],1)]},proxy:true}])})],1),_c('v-spacer')],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('v-card',{attrs:{\"elevation\":\"2\",\"width\":_vm.width}},[_c('v-card-title',{staticClass:\"font-weight-medium small-padding\",class:_vm.warning ? 'warning lighten-1' : 'card-grey'},[_vm._t(\"head-pre\"),(_vm.title)?_c('div',{staticClass:\"small-padding-left tiny-margin-left medium-margin-right tiny-padding-top tiniest-padding-bottom\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]):_vm._e(),_vm._t(\"head-left\"),_c('v-spacer'),_vm._t(\"head-right\"),(_vm.refreshable)?_c('v-btn',{staticClass:\"medium-margin-left\",class:{ 'medium-margin-right': !_vm.clearable },on:{\"click\":function($event){return _vm.$emit('refresh')}}},[_c('v-icon',{class:{ spin: _vm.loading },attrs:{\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-refresh \")])],1):_vm._e(),(_vm.clearable)?_c('v-btn',{staticClass:\"medium-margin-sides\",on:{\"click\":function($event){return _vm.$emit('clearSelection')}}},[_c('v-icon',{attrs:{\"size\":\"21\",\"left\":\"\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ClearSelection\"))+\" \")],1):_vm._e(),(_vm.closable)?_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\" mdi-close \")])],1):_vm._e()],2),_c('v-card-text',{staticClass:\"no-padding-bottom\",class:{\n 'no-padding-sides': _vm.noPaddingSides,\n 'small-margin-top': !_vm.noPaddingTop\n }},[_vm._t(\"body\")],2),_c('v-card-actions',[_vm._t(\"actions\")],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n title: String,\r\n clearable: Boolean,\r\n closable: Boolean,\r\n refreshable: Boolean,\r\n loading: Boolean,\r\n noPaddingSides: Boolean,\r\n noPaddingTop: Boolean,\r\n warning: Boolean,\r\n width: Number\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchCard.vue?vue&type=template&id=3ed99558&scoped=true&\"\nimport script from \"./SearchCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchCard.vue?vue&type=style&index=0&id=3ed99558&scoped=true&lang=css&\"\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 \"3ed99558\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VIcon,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InternetExplorerNotSupported.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InternetExplorerNotSupported.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InternetExplorerNotSupported.vue?vue&type=template&id=3ecc4ec6&scoped=true&\"\nimport script from \"./InternetExplorerNotSupported.vue?vue&type=script&lang=ts&\"\nexport * from \"./InternetExplorerNotSupported.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./InternetExplorerNotSupported.vue?vue&type=style&index=0&id=3ecc4ec6&scoped=true&lang=css&\"\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 \"3ecc4ec6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-container',[_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-icon',{attrs:{\"size\":\"120\"}},[_vm._v(\" mdi-emoticon-sad-outline \")])],1),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h2',[_vm._v(\" Error! You are currently logged in as an integration user. \")])]),_c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('h3',[_vm._v(\" Integration users can only be used to consume the C-Load integration API. \")])])],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntegrationUser.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IntegrationUser.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IntegrationUser.vue?vue&type=template&id=2fdc79ac&\"\nimport script from \"./IntegrationUser.vue?vue&type=script&lang=ts&\"\nexport * from \"./IntegrationUser.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VContainer,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"padding\"},[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"DeliverLoad\"))+\" \")]),_c('v-form',{ref:\"form\",staticClass:\"medium-margin\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"DeliverInfo\")))])]),_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"9\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TransportNo'),\"rules\":[function (v) { return !!v; }]},model:{value:(_vm.saveDto.transportNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"transportNo\", $$v)},expression:\"saveDto.transportNo\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"color\":\"#d3d3d3\",\"min-height\":\"40\"},on:{\"click\":_vm.transportNoScan}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\"mdi-barcode-scan\")])],1)],1),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"9\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ConsignmentNote'),\"rules\":[function (v) { return !!v; }]},model:{value:(_vm.saveDto.consigneeNote),callback:function ($$v) {_vm.$set(_vm.saveDto, \"consigneeNote\", $$v)},expression:\"saveDto.consigneeNote\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"color\":\"#d3d3d3\",\"min-height\":\"40\"},on:{\"click\":_vm.consigneeScan}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\"mdi-barcode-scan\")])],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-divider')],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"DeliverPackageInfo\"))+\" \")])]),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"9\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('PackageNo')},model:{value:(_vm.saveDto.packageNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"packageNo\", $$v)},expression:\"saveDto.packageNo\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"color\":\"#d3d3d3\",\"min-height\":\"40\"},on:{\"click\":_vm.packageScan}},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\"mdi-barcode-scan\")])],1)],1),(_vm.scanPackage || _vm.scanConsignee || _vm.scanTransportNo)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('video',{staticStyle:{\"max-width\":\"100%\",\"border\":\"1px solid gray\"},attrs:{\"id\":\"video\"}})]):_vm._e(),(_vm.position)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-icon',{staticStyle:{\"padding-bottom\":\"11px\"},attrs:{\"color\":\"red\"}},[_vm._v(\"mdi-map-marker\")]),_c('span',{staticClass:\"small-padding\"},[_vm._v(_vm._s(_vm.coordinates))])],1):_vm._e(),(!_vm.position)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"outlined\":\"\"},on:{\"click\":function($event){return _vm.getLocation(true)}}},[_c('v-icon',[_vm._v(\"mdi-map-marker\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"GetMyLocation\"))+\" \")],1)],1):_vm._e()],1)],1),_c('v-spacer'),_c('v-card-actions',{staticClass:\"medium-margin\",staticStyle:{\"justify-content\":\"flex-end\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"loading\":_vm.deliverInProgress,\"disabled\":!_vm.valid},on:{\"click\":_vm.deliver}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-tray-arrow-up\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Deliver\"))+\" \")],1)],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',{class:{ 'input-compact': _vm.compact }},[_c('v-text-field',{class:_vm.readonly ? 'read-only' : '',attrs:{\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"clearable\":_vm.clearable,\"disabled\":_vm.disabled,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"rules\":_vm.rules,\"error-messages\":_vm.errorMessage,\"autofocus\":_vm.autofocus,\"spellcheck\":false,\"readonly\":_vm.readonly,\"maxlength\":_vm.maxLength,\"loading\":_vm.loading,\"autocomplete\":\"off\",\"dense\":\"\",\"outlined\":\"\"},on:{\"change\":_vm.change,\"input\":_vm.input,\"click\":function (e) { return _vm.$emit('click', e); }},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': !_vm.value }},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null,{key:\"append\",fn:function(){return [_vm._t(\"append\")]},proxy:true}],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","let current = 2;\r\n\r\nexport default (): number => {\r\n return current++;\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String,\r\n label: String,\r\n placeholder: String,\r\n clearable: Boolean,\r\n disabled: Boolean,\r\n onlyOnBlur: Boolean,\r\n tabindex: String,\r\n rules: Array,\r\n errorMessage: String,\r\n asterisk: Boolean,\r\n autofocus: Boolean,\r\n readonly: Boolean,\r\n compact: Boolean,\r\n maxLength: Number,\r\n loading: Boolean\r\n },\r\n methods: {\r\n change(val: string) {\r\n this.newValue(val, true);\r\n },\r\n input(val: string) {\r\n this.newValue(val, !this.onlyOnBlur);\r\n },\r\n newValue(val: string | null, instant: boolean) {\r\n if (!val) {\r\n val = null;\r\n }\r\n if (instant) {\r\n this.emitValue(val);\r\n } else {\r\n this.emitValueWhenFinished(val);\r\n }\r\n },\r\n emitValue(val: string | null) {\r\n this.$emit(\"input\", val);\r\n },\r\n emitValueWhenFinished(val: string | null) {\r\n const unique = nextUnique();\r\n this.inputTracker = unique;\r\n setTimeout(() => {\r\n if (this.inputTracker === unique) {\r\n this.emitValue(val);\r\n }\r\n }, 400);\r\n }\r\n },\r\n data: (): { inputTracker: number } => ({\r\n inputTracker: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSingle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSingle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TextSingle.vue?vue&type=template&id=58123a06&scoped=true&\"\nimport script from \"./TextSingle.vue?vue&type=script&lang=ts&\"\nexport * from \"./TextSingle.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TextSingle.vue?vue&type=style&index=0&id=58123a06&scoped=true&lang=css&\"\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 \"58123a06\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","import { mutations } from \"@/scripts/store/constants\";\r\nimport store from \"@/scripts/store/store\";\r\nimport { LoadActionPermission, LoadActionResponse } from \"@/scripts/cld.api\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport nextUnique from \"./nextUnique\";\r\n\r\nexport interface Notification {\r\n id: string;\r\n text: string;\r\n icon: string;\r\n timeout: number;\r\n routeTo: string | undefined;\r\n color: string;\r\n}\r\n\r\nexport const pushNotification = (\r\n text: string,\r\n icon: string,\r\n routeTo?: string,\r\n warning?: boolean\r\n) => {\r\n const n: Notification = {\r\n id: nextUnique().toString(),\r\n text: text,\r\n icon: icon,\r\n timeout: 20000,\r\n routeTo: routeTo,\r\n color: warning ? \"warning\" : \"success\"\r\n };\r\n store.commit(mutations.addNotification, n);\r\n};\r\n\r\nexport const pushLoadNotification = (\r\n action:\r\n | \"create\"\r\n | \"reorder\"\r\n | \"create-spot\"\r\n | \"delete-spot\"\r\n | \"supplier-spot\"\r\n | \"annul\"\r\n | \"edit\"\r\n | \"book\"\r\n | \"unbook\"\r\n | \"load\"\r\n | \"deliver\",\r\n lar: LoadActionResponse\r\n) => {\r\n let text = \"\";\r\n switch (action) {\r\n case \"create\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenCreated\")}`;\r\n break;\r\n case \"reorder\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenReordered\")}`;\r\n break;\r\n case \"create-spot\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"IsNowBeingTendered\")}`;\r\n break;\r\n case \"delete-spot\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\r\n \"SpotTenderHasBeenCancelled\"\r\n )}`;\r\n break;\r\n case \"supplier-spot\":\r\n text = t(\"PricesHaveBeenSubmitted\");\r\n break;\r\n case \"annul\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"LoadHasBeenAnnulled\")}`;\r\n break;\r\n case \"edit\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenAltered\")}`;\r\n break;\r\n case \"book\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenBooked\")}`;\r\n break;\r\n case \"unbook\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenUnbooked\")}`;\r\n break;\r\n case \"load\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenLoaded\")}`;\r\n break;\r\n case \"deliver\":\r\n text = `${t(\"Load\")} ${lar.transportNo} ${t(\"HasBeenDelivered\")}`;\r\n break;\r\n default:\r\n neverHappens(action);\r\n }\r\n text += \"\\n\" + lar.routeName;\r\n pushNotification(\r\n text,\r\n \"mdi-check-circle\",\r\n `/${Auth.browsingMobile() ? \"mobile\" : \"loads\"}?action=${\r\n LoadActionPermission.Details\r\n }&ids=[${lar.loadId}]`\r\n );\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport {\r\n ApiConfiguration,\r\n DeliverLoadMobileDto,\r\n MobileClient\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport {\r\n errorDialog,\r\n alertDialog,\r\n popupDialog\r\n} from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n BarcodeFormat,\r\n DecodeHintType,\r\n BrowserMultiFormatReader\r\n} from \"@zxing/library\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n components: {\r\n TextSingle\r\n },\r\n computed: {\r\n coordinates() {\r\n return (\r\n this.saveDto.deliveryLocationLat +\r\n \" , \" +\r\n this.saveDto.deliveryLocationLng\r\n );\r\n }\r\n },\r\n methods: {\r\n packageScan() {\r\n this.scanPackage = true;\r\n this.scanBarcode();\r\n },\r\n consigneeScan() {\r\n this.scanConsignee = true;\r\n this.scanBarcode();\r\n },\r\n transportNoScan() {\r\n this.scanTransportNo = true;\r\n this.scanBarcode();\r\n },\r\n scanBarcode() {\r\n const hints = new Map();\r\n const formats = [\r\n BarcodeFormat.CODE_128,\r\n BarcodeFormat.EAN_8,\r\n BarcodeFormat.EAN_13\r\n ];\r\n hints.set(DecodeHintType.POSSIBLE_FORMATS, formats);\r\n\r\n const codeReader = new BrowserMultiFormatReader();\r\n codeReader.hints = hints;\r\n let deviceId = \"\";\r\n codeReader.listVideoInputDevices().then(devices => {\r\n deviceId = devices[0].deviceId;\r\n });\r\n codeReader\r\n .decodeOnceFromVideoDevice(deviceId, \"video\")\r\n .then(result => {\r\n if (this.scanPackage) {\r\n this.saveDto.packageNo = result.getText();\r\n this.scanPackage = false;\r\n }\r\n if (this.scanTransportNo) {\r\n this.saveDto.transportNo = result.getText();\r\n this.scanTransportNo = false;\r\n }\r\n if (this.scanConsignee) {\r\n this.saveDto.consigneeNote = result.getText();\r\n this.scanConsignee = false;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n deliver() {\r\n if (\r\n this.saveDto.deliveryLocationLng !== undefined &&\r\n this.saveDto.deliveryLocationLat !== undefined\r\n ) {\r\n this.doDeliver();\r\n } else {\r\n this.showContinueWitoutPositionDialog();\r\n }\r\n },\r\n async resetFormValidation() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.reset();\r\n }\r\n });\r\n },\r\n showContinueWitoutPositionDialog() {\r\n popupDialog({\r\n noCloseButton: true,\r\n title: this.$t(\"CouldNotGetPosition\").toString(),\r\n body: this.$t(\"ContinueWithoutPosition\").toString(),\r\n btnText1: this.$t(\"Deliver\").toString(),\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.doDeliver();\r\n },\r\n btnText2: this.$t(\"Cancel\").toString(),\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n },\r\n doDeliver() {\r\n this.deliverInProgress = true;\r\n new MobileClient(new ApiConfiguration(this.$store))\r\n .deliver(this.saveDto)\r\n .then(res => {\r\n if (res) {\r\n pushLoadNotification(\"deliver\", res);\r\n this.saveDto = new DeliverLoadMobileDto();\r\n this.position = false;\r\n this.delivered = true;\r\n this.resetFormValidation();\r\n this.getLocation(false);\r\n } else {\r\n alertDialog(\r\n this.$t(\"LoadNotFound\").toString(),\r\n this.$t(\"LoadNotFoundWithTransportNo\").toString()\r\n );\r\n }\r\n this.deliverInProgress = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.deliverInProgress = false;\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n this.delivered = false;\r\n },\r\n getLocation(showError: boolean) {\r\n navigator.geolocation.getCurrentPosition(\r\n position => {\r\n this.saveDto.deliveryLocationLat = position.coords.latitude.toString();\r\n this.saveDto.deliveryLocationLng = position.coords.longitude.toString();\r\n this.position = true;\r\n },\r\n () => {\r\n if (showError) {\r\n alertDialog(\r\n this.$t(\"LocationBlocked\").toString(),\r\n this.$t(\"LocationSettings\").toString()\r\n );\r\n }\r\n }\r\n );\r\n }\r\n },\r\n mounted() {\r\n this.getLocation(false);\r\n if (this.$route.query.tn) {\r\n this.saveDto.transportNo = this.$route.query.tn as string;\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n loading: boolean;\r\n deliverInProgress: boolean;\r\n scanPackage: boolean;\r\n scanTransportNo: boolean;\r\n scanConsignee: boolean;\r\n position: boolean;\r\n saveDto: DeliverLoadMobileDto;\r\n delivered: boolean;\r\n } => ({\r\n valid: false,\r\n loading: true,\r\n deliverInProgress: false,\r\n scanPackage: false,\r\n scanTransportNo: false,\r\n scanConsignee: false,\r\n position: false,\r\n saveDto: new DeliverLoadMobileDto(),\r\n delivered: false\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileDeliver.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileDeliver.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileDeliver.vue?vue&type=template&id=51b07f04&scoped=true&\"\nimport script from \"./MobileDeliver.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileDeliver.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 \"51b07f04\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VCol,VDivider,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.title,\"loading\":!_vm.details},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.details)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupAddress'),\"value\":_vm.details.pickupAddress,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryAddress'),\"value\":_vm.details.deliveryAddress,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Pickup'),\"value\":_vm.pickup}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Delivery'),\"value\":_vm.delivery}})],1),(_vm.details.pickupInfo)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupInformation'),\"value\":_vm.details.pickupInfo,\"clickable\":\"\"}})],1):_vm._e(),(_vm.details.deliveryInfo)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DestinationInformation'),\"value\":_vm.details.deliveryInfo,\"clickable\":\"\"}})],1):_vm._e(),(_vm.details.note)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Note'),\"value\":_vm.details.note,\"clickable\":\"\"}})],1):_vm._e(),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}})],1):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),(_vm.deliverVisible)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.deliver}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-tray-arrow-up\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Deliver\"))+\" \")],1)],1):_vm._e(),(_vm.slotVisible)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.slot}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-calendar\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"EditLoadingSlot\"))+\" \")],1)],1):_vm._e()],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"transition\":\"scale-transition\",\"offset-y\":\"\",\"close-on-content-click\":false,\"disabled\":!_vm.clickable},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){return [_c('div',{staticClass:\"outer\"},[_c('div',{staticClass:\"label-cld small-text ellipsis-text dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]),_c('div',{staticClass:\"value-wrapper\"},[_c('div',{staticClass:\"value-cld ellipsis-text dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.displayValue)+\" \")]),_c('div',{staticClass:\"button-cld dont-render-newlines\"},[(_vm.clickable && _vm.displayValue)?_c('v-btn',{attrs:{\"icon\":\"\",\"width\":\"24\",\"height\":\"22\"},on:{\"click\":function($event){_vm.menu = true}}},[_c('v-icon',{attrs:{\"color\":\"icon-grey\",\"size\":\"22\"}},[_vm._v(\" mdi-chevron-double-down \")])],1):_vm._e(),_vm._t(\"extra-info\")],2)])])]}}],null,true),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-sheet',{staticClass:\"expanded-text medium-padding\"},[_c('span',{staticClass:\"render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.displayValue)+\" \")])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n label: String,\r\n value: [String, Number, Boolean, Object],\r\n clickable: Boolean,\r\n withoutOffsetAndTime: Boolean\r\n },\r\n computed: {\r\n displayValue(): string | undefined {\r\n if (this.value === true) {\r\n return t(\"Survey_Yes\");\r\n }\r\n if (this.value === false) {\r\n return t(\"Survey_No\");\r\n }\r\n if (!this.value) {\r\n return undefined;\r\n }\r\n if (CDate.isCDate(this.value)) {\r\n if (this.withoutOffsetAndTime) {\r\n return (this.value as CDate).datePrint();\r\n }\r\n return (\r\n (this.value as CDate).shortDateTimePrint() +\r\n \" \" +\r\n `(${(this.value as CDate).offsetName})`\r\n );\r\n }\r\n return this.value.toString();\r\n }\r\n },\r\n data: (): {\r\n menu: boolean;\r\n } => ({ menu: false })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadOnlyText.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadOnlyText.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReadOnlyText.vue?vue&type=template&id=63dcf101&scoped=true&\"\nimport script from \"./ReadOnlyText.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReadOnlyText.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReadOnlyText.vue?vue&type=style&index=0&id=63dcf101&scoped=true&lang=css&\"\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 \"63dcf101\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VIcon,VMenu,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport {\r\n AnonymousLoadDetailsDto,\r\n ApiConfiguration,\r\n LoadStatus,\r\n MobileClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n ReadOnlyText\r\n },\r\n watch: {\r\n encodedLoadId: {\r\n handler() {\r\n this.fetchDetails();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n encodedLoadId(): string | undefined {\r\n const id = this.$route.query.id;\r\n if (!id) {\r\n return undefined;\r\n }\r\n return this.$route.query.id as string;\r\n },\r\n title(): string {\r\n if (!this.details) {\r\n return \"\";\r\n }\r\n return `${t(\"TransportNo\")}: ${this.details.transportNo}`;\r\n },\r\n pickup(): string {\r\n return `${this.details!.pickupEarliest} - ${this.details!.pickupLatest ||\r\n this.details!.deliverEarliest ||\r\n this.details!.deliverLatest}`;\r\n },\r\n delivery(): string {\r\n return `${this.details!.deliverEarliest ||\r\n this.details!.pickupLatest ||\r\n this.details!.pickupEarliest} - ${this.details!.deliverLatest}`;\r\n },\r\n slotVisible(): boolean {\r\n if (!this.details) {\r\n return false;\r\n }\r\n return (\r\n this.details.loadStatus === LoadStatus.Booked &&\r\n this.details.slotTimeBooking\r\n );\r\n },\r\n deliverVisible(): boolean {\r\n if (!this.details) {\r\n return false;\r\n }\r\n return this.details.loadStatus === LoadStatus.Loaded;\r\n }\r\n },\r\n methods: {\r\n deliver() {\r\n this.$router.push(\"/mobile/deliver?tn=\" + this.details!.transportNo);\r\n },\r\n slot() {\r\n this.$router.push(\"/mobile/slots?id=\" + this.$route.query.id);\r\n },\r\n fetchDetails() {\r\n if (!this.encodedLoadId) {\r\n this.details = undefined;\r\n return;\r\n }\r\n new MobileClient(new ApiConfiguration(this.$store))\r\n .details(this.encodedLoadId)\r\n .then(res => {\r\n this.details = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n details: AnonymousLoadDetailsDto | undefined;\r\n } => ({\r\n details: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnonymousMobileDashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnonymousMobileDashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnonymousMobileDashboard.vue?vue&type=template&id=9e2941c6&\"\nimport script from \"./AnonymousMobileDashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnonymousMobileDashboard.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[(_vm.isCustomer || _vm.isTerminal)?_c('v-spacer'):_vm._e(),(_vm.isClient || _vm.isSupplier)?_c('v-col',{staticClass:\"no-padding-top\"},[_c('DashboardProcurements')],1):_vm._e(),(_vm.isClient || _vm.isSupplier)?_c('v-col',{staticClass:\"small-padding-sides no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-divider',{attrs:{\"vertical\":\"\"}})],1):_vm._e(),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"loads-div\"},[_c('DashboardLoads'),_c('DashboardNews')],1)]),(_vm.isClient || _vm.isSupplier || _vm.isTerminal)?_c('v-col',{staticClass:\"small-padding-sides no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-divider',{attrs:{\"vertical\":\"\"}})],1):_vm._e(),(_vm.isClient || _vm.isSupplier)?_c('v-col',{staticClass:\"no-padding-top\"},[_c('DashboardSpotTenders')],1):_vm._e(),(_vm.isTerminal)?_c('v-col',{staticClass:\"no-padding-top\"},[_c('div',{staticClass:\"loads-div\"},[_c('DashboardRelatedLoads'),_c('DashboardContainers')],1)]):_vm._e(),(_vm.isCustomer || _vm.isTerminal)?_c('v-spacer'):_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('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('LoadsInCorrespondingStateLast30Days')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('v-row',_vm._l((4),function(x){return _c('v-col',{key:x,staticClass:\"small-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":\"120\",\"width\":\"120\"}})],1)}),1):_c('v-row',_vm._l((_vm.boxes),function(item){return _c('v-col',{key:item.loadStatus,staticClass:\"small-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('DashboardLoadsBox',{attrs:{\"item\":item}})],1)}),1)],1),(_vm.isClient)?_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"1\",\"height\":\"60\"}}):_c('DashboardLoadsExtraInfo',{attrs:{\"noSupplierLeftToNotifyCount\":_vm.noSupplierLeftToNotifyCount,\"missingAgreementCount\":_vm.missingAgreementCount}})],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('v-sheet',{staticClass:\"medium-padding-sides clickable\",attrs:{\"elevation\":\"2\",\"width\":\"120\",\"height\":\"120\",\"color\":\"grey lighten-3\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.routeTo(_vm.item.loadStatus)}}},[_c('v-row',{staticClass:\"top-row\"},[_c('v-col',{staticClass:\"tiny-padding-top small-padding-sides no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"cld-font orange-text text-h5\"},[_vm._v(\" \"+_vm._s(_vm.item.noSupplierLeftToNotify)+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"tiny-padding-top small-padding-sides no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"cld-font cld-red-text text-h5\"},[_vm._v(\" \"+_vm._s(_vm.item.missingAgreement)+\" \")])])],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"tiny-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"cld-font cld-red-text text-h3\"},[_vm._v(\" \"+_vm._s(_vm.item.noOfLoads)+\" \")])]),_c('v-spacer')],1),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding-top small-padding-left no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"cld-font text-h5\"},[_vm._v(\" \"+_vm._s(_vm.loadStatusName(_vm.item.loadStatus))+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top no-padding-left no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":_vm.statusOrdered ? 30 : 25}},[_vm._v(\" \"+_vm._s(_vm.loadStatusIcon(_vm.item.loadStatus))+\" \")])],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\r\nimport Vue from \"vue\";\r\nimport { LoadStatus, LoadDashboardDto } from \"@/scripts/cld.api\";\r\nimport { loadStatusIcon, loadStatusName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: LoadDashboardDto,\r\n clickable: Boolean\r\n },\r\n computed: {\r\n statusOrdered(): boolean {\r\n return this.item.loadStatus === LoadStatus.Ordered;\r\n }\r\n },\r\n methods: {\r\n loadStatusName: loadStatusName,\r\n loadStatusIcon: loadStatusIcon,\r\n routeTo(loadStatus: LoadStatus) {\r\n this.$router.push(\"/loads?tab=\" + loadStatus);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsBox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsBox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardLoadsBox.vue?vue&type=template&id=7e014e3d&scoped=true&\"\nimport script from \"./DashboardLoadsBox.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardLoadsBox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DashboardLoadsBox.vue?vue&type=style&index=0&id=7e014e3d&scoped=true&lang=css&\"\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 \"7e014e3d\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-icon',{staticClass:\"tiny-padding-bottom\",attrs:{\"color\":\"warning\",\"x-small\":\"\"}},[_vm._v(\" mdi-checkbox-blank-circle \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.noSupplierLeftToNotifyCount)+\" \"+_vm._s(_vm.$t(\"NumberOfOrderedLoadsWithNoSuppliersLeftToNotify\"))+\" \")])],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-icon',{staticClass:\"tiny-padding-bottom\",attrs:{\"color\":\"cld-red\",\"x-small\":\"\"}},[_vm._v(\" mdi-checkbox-blank-circle \")]),_c('span',[_vm._v(\" \"+_vm._s(_vm.missingAgreementCount)+\" \"+_vm._s(_vm.$t(\"NumberOfOrderedLoadsMissingAgreements\"))+\" \")])],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n noSupplierLeftToNotifyCount: Number,\r\n missingAgreementCount: Number\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsExtraInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsExtraInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardLoadsExtraInfo.vue?vue&type=template&id=41190579&\"\nimport script from \"./DashboardLoadsExtraInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardLoadsExtraInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"small-padding-sides tiny-vertical-padding rounded\",class:_vm.light\n ? 'background-pale faint-pale-border'\n : 'background-grey faint-grey-border'},[_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\n\n\n\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n props: {\r\n text: String,\r\n light: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GreyTitle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GreyTitle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GreyTitle.vue?vue&type=template&id=48657204&scoped=true&\"\nimport script from \"./GreyTitle.vue?vue&type=script&lang=ts&\"\nexport * from \"./GreyTitle.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./GreyTitle.vue?vue&type=style&index=0&id=48657204&scoped=true&lang=css&\"\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 \"48657204\",\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('v-skeleton-loader',{attrs:{\"elevation\":\"2\",\"type\":_vm.computedType,\"height\":_vm.height,\"width\":_vm.width}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport Vue from \"vue\";\r\n\r\ntype lines = \"0\" | \"1\" | \"2\" | \"3\" | \"many\" | \"table\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n lines: String as () => lines,\r\n height: [String, Number],\r\n width: String\r\n },\r\n computed: {\r\n computedType(): string {\r\n switch (this.lines) {\r\n case \"0\":\r\n return \"image@5\";\r\n case \"1\":\r\n return \"list-item\";\r\n case \"2\":\r\n return \"list-item-two-line\";\r\n case \"3\":\r\n return \"list-item-three-line\";\r\n case \"many\":\r\n return \"article\";\r\n case \"table\":\r\n return \"table\";\r\n default:\r\n return neverHappens(this.lines);\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SkeletonLoader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SkeletonLoader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SkeletonLoader.vue?vue&type=template&id=783f477e&scoped=true&\"\nimport script from \"./SkeletonLoader.vue?vue&type=script&lang=ts&\"\nexport * from \"./SkeletonLoader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SkeletonLoader.vue?vue&type=style&index=0&id=783f477e&scoped=true&lang=css&\"\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 \"783f477e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VSkeletonLoader})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DashboardLoadsBox from \"@/components/web/dashboard/DashboardLoadsBox.vue\";\r\nimport DashboardLoadsExtraInfo from \"@/components/web/dashboard/DashboardLoadsExtraInfo.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n DashboardClient,\r\n LoadDashboardDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DashboardLoadsBox,\r\n DashboardLoadsExtraInfo,\r\n SkeletonLoader,\r\n GreyTitle\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n noSupplierLeftToNotifyCount(): number | undefined {\r\n return this.boxes.map(x => x.noSupplierLeftToNotify)[0];\r\n },\r\n missingAgreementCount(): number | undefined {\r\n return this.boxes.map(x => x.missingAgreement)[0];\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new DashboardClient(new ApiConfiguration(this.$store))\r\n .loads()\r\n .then(res => {\r\n this.boxes = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n boxes: LoadDashboardDto[];\r\n } => ({\r\n loading: true,\r\n boxes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoads.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoads.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardLoads.vue?vue&type=template&id=6b628eba&\"\nimport script from \"./DashboardLoads.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardLoads.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"large-padding-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Containers')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('v-row',_vm._l((4),function(x){return _c('v-col',{key:x,staticClass:\"small-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":\"120\",\"width\":\"120\"}})],1)}),1):_c('v-row',_vm._l((_vm.boxes),function(item){return _c('v-col',{key:item.loadStatus,staticClass:\"small-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('DashboardLoadsBox',{attrs:{\"item\":item}})],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\r\nimport Vue from \"vue\";\r\nimport DashboardLoadsBox from \"@/components/web/dashboard/DashboardLoadsBox.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport {\r\n ApiConfiguration,\r\n DashboardClient,\r\n LoadDashboardDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DashboardLoadsBox,\r\n SkeletonLoader,\r\n GreyTitle\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new DashboardClient(new ApiConfiguration(this.$store))\r\n .containers()\r\n .then(res => {\r\n this.boxes = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n boxes: LoadDashboardDto[];\r\n } => ({\r\n loading: true,\r\n boxes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardContainers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardContainers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardContainers.vue?vue&type=template&id=75a07a86&\"\nimport script from \"./DashboardContainers.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardContainers.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('RelatedLoads')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('v-row',_vm._l((4),function(x){return _c('v-col',{key:x,staticClass:\"small-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":\"120\",\"width\":\"120\"}})],1)}),1):_c('v-row',_vm._l((_vm.boxes),function(item){return _c('v-col',{key:item.loadStatus,staticClass:\"small-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('DashboardLoadsBox',{attrs:{\"item\":item}})],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\r\nimport Vue from \"vue\";\r\nimport DashboardLoadsBox from \"@/components/web/dashboard/DashboardLoadsBox.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport {\r\n ApiConfiguration,\r\n DashboardClient,\r\n LoadDashboardDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DashboardLoadsBox,\r\n SkeletonLoader,\r\n GreyTitle\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new DashboardClient(new ApiConfiguration(this.$store))\r\n .relatedLoads()\r\n .then(res => {\r\n this.boxes = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n boxes: LoadDashboardDto[];\r\n } => ({\r\n loading: true,\r\n boxes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardRelatedLoads.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardRelatedLoads.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardRelatedLoads.vue?vue&type=template&id=08407fde&\"\nimport script from \"./DashboardRelatedLoads.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardRelatedLoads.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('RoutesUnderProcurement')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-row',[(_vm.loading)?_c('v-col',{staticClass:\"small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('SkeletonLoader',{attrs:{\"lines\":\"many\",\"height\":\"135\"}})],1):(_vm.boxes.length === 0)?_c('v-col',{staticClass:\"no-padding-top\"},[_c('span',{staticClass:\"text-body-2 small-margin-left\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"NothingToShow\"))+\" \")])]):_vm._e(),_vm._l((_vm.boxes),function(item){return _c('v-col',{key:item.cargoType,staticClass:\"small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ProcurementBox',{attrs:{\"item\":item}})],1)})],2)],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('v-sheet',{staticClass:\"medium-padding-sides\",class:{ clickable: _vm.atleastAdmin },attrs:{\"elevation\":\"2\",\"color\":\"grey lighten-3\",\"rounded\":\"\"},on:{\"click\":function($event){_vm.atleastAdmin ? _vm.routeTo(_vm.item.cargoType) : undefined}}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"cld-font cld-red-text text-h5\"},[_vm._v(\" \"+_vm._s(_vm.cargoTypeName(_vm.item.cargoType))+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":\"25\"}},[_vm._v(\" \"+_vm._s(_vm.cargoTypeIcon(_vm.item.cargoType))+\" \")])],1)],1),_c('v-divider'),_vm._l((_vm.item.procurementCounts || []),function(row){return _c('v-row',{key:row.text},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(_vm.translate(row.text))+\" \")])]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(row.number)+\" \")])])],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\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n CargoType,\r\n ProcurementDashboardDto,\r\n UserLevel\r\n} from \"@/scripts/cld.api\";\r\nimport { cargoTypeName, cargoTypeIcon } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { UserInfo } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ProcurementDashboardDto\r\n },\r\n computed: {\r\n userInfo(): UserInfo {\r\n return this.$store.getters[gets.userInfo];\r\n },\r\n actorType(): ActorType {\r\n return this.userInfo.actorType!;\r\n },\r\n atleastAdmin(): boolean {\r\n return (\r\n this.userInfo.userLevel === UserLevel.Admin ||\r\n this.userInfo.userLevel === UserLevel.SuperAdmin\r\n );\r\n }\r\n },\r\n methods: {\r\n cargoTypeName: cargoTypeName,\r\n cargoTypeIcon: cargoTypeIcon,\r\n translate(text: string | undefined): string {\r\n if (!text) {\r\n return \"\";\r\n }\r\n if (this.actorType === ActorType.Client) {\r\n return t(text);\r\n }\r\n return text;\r\n },\r\n routeTo(cargoType: CargoType) {\r\n this.$router.push(\"/procurements?cargoType=\" + cargoType);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardProcurementsBox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardProcurementsBox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardProcurementsBox.vue?vue&type=template&id=6a473b83&\"\nimport script from \"./DashboardProcurementsBox.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardProcurementsBox.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VIcon,VRow,VSheet,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n DashboardClient,\r\n ProcurementDashboardDto\r\n} from \"@/scripts/cld.api\";\r\nimport ProcurementBox from \"@/components/web/dashboard/DashboardProcurementsBox.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ProcurementBox,\r\n GreyTitle,\r\n SkeletonLoader\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new DashboardClient(new ApiConfiguration(this.$store))\r\n .procurements()\r\n .then(res => {\r\n this.boxes = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n boxes: ProcurementDashboardDto[];\r\n } => ({\r\n loading: true,\r\n boxes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardProcurements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardProcurements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardProcurements.vue?vue&type=template&id=374716a5&\"\nimport script from \"./DashboardProcurements.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardProcurements.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('SpotTender')}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"many\",\"height\":\"140\"}}):_c('v-sheet',{staticClass:\"medium-padding-sides clickable\",attrs:{\"elevation\":\"2\",\"color\":\"grey lighten-3\",\"rounded\":\"\"},on:{\"click\":_vm.routeToSpotTenders}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"cld-font cld-red-text text-h5\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"SpotTender\"))+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":\"25\"}},[_vm._v(\" \"+_vm._s(_vm.icon)+\" \")])],1)],1),_c('v-divider'),_vm._l((_vm.spotTenders || []),function(row){return _c('v-row',{key:row.text},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(row.text || \"\"))+\" \")])]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"text-body-2\"},[_vm._v(\" \"+_vm._s(row.number)+\" \")])])],1)})],2)],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n DashboardClient,\r\n LoadStatus,\r\n SpotTenderDashboardDto\r\n} from \"@/scripts/cld.api\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { spotTenderTabId } from \"@/scripts/types\";\r\nimport { loadStatusIcon } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n GreyTitle,\r\n SkeletonLoader\r\n },\r\n computed: {\r\n icon(): string {\r\n return loadStatusIcon(LoadStatus.Ordered, true);\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new DashboardClient(new ApiConfiguration(this.$store))\r\n .spotTenders()\r\n .then(res => {\r\n this.spotTenders = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n routeToSpotTenders() {\r\n this.$router.push(\"/loads?tab=\" + spotTenderTabId);\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n spotTenders: SpotTenderDashboardDto[];\r\n } => ({\r\n loading: true,\r\n spotTenders: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardSpotTenders.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardSpotTenders.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardSpotTenders.vue?vue&type=template&id=5e4fe3fa&\"\nimport script from \"./DashboardSpotTenders.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardSpotTenders.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"large-padding-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('News')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('v-row',_vm._l((2),function(x){return _c('v-col',{key:x,staticClass:\"small-padding-top\",attrs:{\"cols\":\"6\"}},[_c('SkeletonLoader',{attrs:{\"lines\":\"many\",\"height\":\"135\"}})],1)}),1):_c('v-row',_vm._l((_vm.boxes),function(item){return _c('v-col',{key:item.body,staticClass:\"small-padding-top\",attrs:{\"cols\":\"6\"}},[_c('DashboardNewsBox',{attrs:{\"item\":item,\"clickable\":\"\"}})],1)}),1)],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('v-sheet',{staticClass:\"medium-padding-sides\",class:{ clickable: _vm.clickable },attrs:{\"elevation\":\"2\",\"color\":\"grey lighten-3\",\"height\":\"137\",\"width\":\"264\",\"rounded\":\"\"},on:{\"click\":function($event){_vm.clickable ? _vm.routeToNews() : undefined}}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"cld-font text-h5 \",class:_vm.item.read ? 'darkish-text' : 'cld-red-text'},[_vm._v(\" \"+_vm._s(_vm.item.displayDate.datePrint())+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[(!_vm.item.read)?_c('v-icon',{attrs:{\"size\":\"25\"}},[_vm._v(\" mdi-bell-ring \")]):_vm._e()],1)],1),_c('v-divider'),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"text-body-2 render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.item.summary)+\" \")])])],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\r\nimport Vue from \"vue\";\r\nimport { NewsDto } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: NewsDto,\r\n clickable: Boolean\r\n },\r\n methods: {\r\n routeToNews() {\r\n this.$router.push(\"/news\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardNewsBox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardNewsBox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardNewsBox.vue?vue&type=template&id=71ac4c7e&\"\nimport script from \"./DashboardNewsBox.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardNewsBox.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VIcon,VRow,VSheet,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport DashboardNewsBox from \"@/components/web/dashboard/DashboardNewsBox.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport { ApiConfiguration, DashboardClient, NewsDto } from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n GreyTitle,\r\n DashboardNewsBox,\r\n SkeletonLoader\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new DashboardClient(new ApiConfiguration(this.$store))\r\n .news()\r\n .then(res => {\r\n this.boxes = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n boxes: NewsDto[];\r\n } => ({\r\n loading: true,\r\n boxes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardNews.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardNews.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardNews.vue?vue&type=template&id=9992be9c&\"\nimport script from \"./DashboardNews.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardNews.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DashboardLoads from \"@/components/web/dashboard/DashboardLoads.vue\";\r\nimport DashboardContainers from \"@/components/web/dashboard/DashboardContainers.vue\";\r\nimport DashboardRelatedLoads from \"@/components/web/dashboard/DashboardRelatedLoads.vue\";\r\nimport DashboardProcurements from \"@/components/web/dashboard/DashboardProcurements.vue\";\r\nimport DashboardSpotTenders from \"@/components/web/dashboard/DashboardSpotTenders.vue\";\r\nimport DashboardNews from \"@/components/web/dashboard/DashboardNews.vue\";\r\nimport { ActorType } from \"@/scripts/cld.api\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nexport default Vue.extend({\r\n components: {\r\n DashboardLoads,\r\n DashboardContainers,\r\n DashboardRelatedLoads,\r\n DashboardProcurements,\r\n DashboardSpotTenders,\r\n DashboardNews\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n isCustomer(): boolean {\r\n return this.actorType === ActorType.Customer;\r\n },\r\n isTerminal(): boolean {\r\n return this.actorType === ActorType.Terminal;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=355bce08&scoped=true&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./Dashboard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Dashboard.vue?vue&type=style&index=0&id=355bce08&scoped=true&lang=css&\"\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 \"355bce08\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.mutationInProgress)?_c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"spin\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{staticClass:\"spin\",attrs:{\"color\":\"success darken-2\",\"size\":\"600\"}},[_vm._v(\" mdi-radioactive \")])],1),_c('v-spacer')],1)],1):_c('SearchCard',{attrs:{\"title\":\"Mutera\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-icon',{attrs:{\"color\":\"success darken-2\"}},[_vm._v(\"mdi-radioactive\")]),_c('v-icon',{attrs:{\"color\":\"success darken-2\"}},[_vm._v(\"mdi-radioactive\")]),_c('v-icon',{attrs:{\"color\":\"success darken-2\"}},[_vm._v(\"mdi-radioactive\")])]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Actor'),\"items\":_vm.actors,\"loading\":_vm.actors.length === 0,\"tabindex\":\"1\",\"autofocus\":\"\"},model:{value:(_vm.actorId),callback:function ($$v) {_vm.actorId=$$v},expression:\"actorId\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.actorId,\"tabindex\":\"2\",\"height\":\"40\",\"block\":\"\"},on:{\"click\":_vm.mutateActor}},[_vm._v(\" Hoppa till aktör \")])],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":\"Användarnivå\",\"items\":_vm.userLevels(),\"tabindex\":\"5\"},model:{value:(_vm.userLevel),callback:function ($$v) {_vm.userLevel=$$v},expression:\"userLevel\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.userLevel === undefined,\"tabindex\":\"6\",\"height\":\"40\",\"block\":\"\"},on:{\"click\":_vm.mutateUserLevel}},[_vm._v(\" Byt till roll \")])],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('User'),\"items\":_vm.users,\"loading\":_vm.users.length === 0,\"tabindex\":\"3\"},model:{value:(_vm.loadUserId),callback:function ($$v) {_vm.loadUserId=$$v},expression:\"loadUserId\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.loadUserId,\"tabindex\":\"4\",\"height\":\"40\",\"block\":\"\"},on:{\"click\":_vm.setUserConf}},[_vm._v(\" Ladda användarinställningar \")])],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Snabbalternativ \")]),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(49)}}},[_vm._v(\"Triona Client\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(1)}}},[_vm._v(\"SCA Wood\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(51)}}},[_vm._v(\"BioNorr\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(311)}}},[_vm._v(\"Setra\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(806)}}},[_vm._v(\"Bergkvist Siljan\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(198)}}},[_vm._v(\"Norra skog\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(48)}}},[_vm._v(\"Triona Supplier\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(764)}}},[_vm._v(\"Triona Supplier 2\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(21)}}},[_vm._v(\"Isakssons\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(50)}}},[_vm._v(\"Seravero\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(43)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(_vm._s(_vm.cargoTypeIcon(2)))]),_vm._v(\" TKS \")],1)],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.speedSet(339)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(_vm._s(_vm.cargoTypeIcon(3)))]),_vm._v(\" F. Lyrstrand \")],1)],1)],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('v-autocomplete',{class:_vm.innerClass,attrs:{\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"items\":_vm.items,\"item-value\":_vm.computedItemValue,\"item-text\":_vm.computedItemText,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"autofocus\":_vm.autofocus,\"spellcheck\":false,\"rules\":_vm.rules,\"filter\":_vm.filter,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"menu-props\":{ maxHeight: 420 },\"loader-height\":\"3\",\"auto-select-first\":\"\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input,\"update:search-input\":_vm.searchInput},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk && !_vm.disabled)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': _vm.value === null || _vm.value === undefined }},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null,(_vm.customItem)?{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"item\",null,{\"item\":item})]}}:null,(_vm.customItem)?{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"selection-width\"},[_vm._t(\"item\",null,{\"item\":item})],2)]}}:null],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: [Number, String],\r\n label: String,\r\n placeholder: String,\r\n items: Array,\r\n itemValue: String,\r\n itemText: [String, Function],\r\n tabindex: String,\r\n autofocus: Boolean,\r\n innerClass: String,\r\n customItem: Boolean,\r\n rules: Array,\r\n asterisk: Boolean,\r\n disabled: Boolean,\r\n loading: Boolean\r\n },\r\n computed: {\r\n computedItemValue(): string | undefined {\r\n if (this.itemValue) {\r\n return this.itemValue;\r\n } else {\r\n return \"id\";\r\n }\r\n },\r\n computedItemText(): Function | string | undefined {\r\n if (this.itemText) {\r\n return this.itemText;\r\n } else {\r\n return \"text\";\r\n }\r\n }\r\n },\r\n methods: {\r\n input(val: any) {\r\n this.$emit(\"input\", val);\r\n },\r\n searchInput(val: any) {\r\n if (val === \"\" || val === undefined) {\r\n this.input(null);\r\n }\r\n },\r\n filter(_: any, queryText: string, itemText: string) {\r\n return stringSearchHit(queryText, itemText, true);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Autocomplete.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Autocomplete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Autocomplete.vue?vue&type=template&id=6586c4ac&scoped=true&\"\nimport script from \"./Autocomplete.vue?vue&type=script&lang=ts&\"\nexport * from \"./Autocomplete.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Autocomplete.vue?vue&type=style&index=0&id=6586c4ac&scoped=true&lang=css&\"\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 \"6586c4ac\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\ninstallComponents(component, {VAutocomplete})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'input-compact': _vm.compact }},[_c('v-select',{class:_vm.innerClass,attrs:{\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"items\":_vm.items,\"item-value\":_vm.computedItemValue,\"item-text\":_vm.computedItemText,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"loading\":_vm.loading,\"rules\":_vm.rules,\"clearable\":_vm.clearable,\"menu-props\":{ maxHeight: 420 },\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk && !_vm.disabled)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': _vm.value === null || _vm.value === undefined }},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null,{key:\"append-outer\",fn:function(){return [_vm._t(\"append-outer\")]},proxy:true},{key:\"append\",fn:function(){return [_vm._t(\"append-inner\")]},proxy:true},(_vm.customItem)?{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._t(\"item\",null,{\"item\":item})]}}:null,(_vm.customItem)?{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"selection-width\"},[_vm._t(\"item\",null,{\"item\":item})],2)]}}:null],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: [Number, String, Boolean, Object],\r\n label: String,\r\n placeholder: String,\r\n items: Array,\r\n itemValue: String,\r\n itemText: String,\r\n tabindex: String,\r\n innerClass: String,\r\n disabled: Boolean,\r\n readonly: Boolean,\r\n loading: Boolean,\r\n clearable: Boolean,\r\n rules: Array,\r\n customItem: Boolean,\r\n asterisk: Boolean,\r\n compact: Boolean\r\n },\r\n computed: {\r\n computedItemValue(): string {\r\n return this.itemValue === undefined ? \"id\" : this.itemValue;\r\n },\r\n computedItemText(): string {\r\n return this.itemText === undefined ? \"text\" : this.itemText;\r\n }\r\n },\r\n methods: {\r\n input(val: any) {\r\n this.$emit(\"input\", val);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dropdown.vue?vue&type=template&id=63d6c22b&scoped=true&\"\nimport script from \"./Dropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Dropdown.vue?vue&type=style&index=0&id=63d6c22b&scoped=true&lang=css&\"\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 \"63d6c22b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VSelect})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport {\r\n UserLevel,\r\n ApiConfiguration,\r\n RepositoryClient,\r\n RepositoryDto,\r\n UsersClient,\r\n ActorsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { cargoTypeIcon } from \"@/scripts/misc/enumNames\";\r\nimport { UserInfo } from \"@/scripts/types\";\r\nimport { userLevels, yesNoItems } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n Dropdown\r\n },\r\n watch: {\r\n actorId() {\r\n if (this.actorId) {\r\n this.fetchUsers();\r\n }\r\n },\r\n \"$route.query.actorid\": {\r\n handler() {\r\n const id = Number(this.$route.query.actorid);\r\n if (!isNaN(id) && id) {\r\n this.actorId = id;\r\n this.mutateActor();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n userInfo(): UserInfo {\r\n return this.$store.getters[gets.userInfo];\r\n }\r\n },\r\n methods: {\r\n cargoTypeIcon: cargoTypeIcon,\r\n userLevels: userLevels,\r\n yesNoItems: yesNoItems,\r\n speedSet(actorId: number) {\r\n this.actorId = actorId;\r\n this.mutateActor();\r\n },\r\n mutateActor() {\r\n this.mutationInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .mutateActor(this.actorId!)\r\n .then(() => {\r\n window.location.href = \"/\";\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n setUserConf() {\r\n this.mutationInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .copyConfigurations(this.loadUserId!)\r\n .then(() => {\r\n window.location.href = \"/\";\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n mutateUserLevel() {\r\n this.mutationInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .mutateUserLevel(this.userLevel!)\r\n .then(() => {\r\n window.location.href = \"/\";\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSuppliers() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .actorsForMutation()\r\n .then(res => {\r\n this.actors = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchUsers() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .usersSupportAdmin(this.actorId!)\r\n .then(res => {\r\n this.users = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.actorId = this.userInfo.actorId;\r\n this.userLevel = this.userInfo.userLevel;\r\n this.fetchSuppliers();\r\n },\r\n data: (): {\r\n mutationInProgress: boolean;\r\n actorId: number | undefined;\r\n userLevel: UserLevel | undefined;\r\n actors: RepositoryDto[];\r\n loadUserId: number | undefined;\r\n users: RepositoryDto[];\r\n } => ({\r\n mutationInProgress: false,\r\n actorId: undefined,\r\n userLevel: undefined,\r\n actors: [],\r\n loadUserId: undefined,\r\n users: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMutation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMutation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserMutation.vue?vue&type=template&id=87a9deb6&\"\nimport script from \"./UserMutation.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserMutation.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('LoadListTabs',{attrs:{\"selectedTab\":_vm.selectedTab,\"tabs\":_vm.tabs,\"loading\":!!_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"edit\":function($event){_vm.tabEditDialog = true},\"selectTabId\":function (v) { return (_vm.selectedTabId = v); },\"search\":function($event){return _vm.search(true, true)},\"refresh\":function($event){return _vm.search(true, false)}}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('LoadListTable',{attrs:{\"loading\":!!_vm.loading,\"loadListContainer\":_vm.loadListContainer,\"tableOptions\":_vm.tableOptions,\"selectedTab\":_vm.selectedTab,\"checked\":_vm.checked},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"check\":_vm.check,\"search\":function($event){return _vm.search(true, true)}}})],1)],1),_c('LoadListTabsEdit',{attrs:{\"dialog\":_vm.tabEditDialog,\"selectedTab\":_vm.selectedTab,\"tabs\":_vm.tabs},on:{\"close\":function($event){_vm.tabEditDialog = false},\"selectTabId\":function (v) { return (_vm.selectedTabId = v); }}}),_c('LoadDialogs',{on:{\"search\":function($event){return _vm.search(false, false)}}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { CombinedVueInstance } from \"vue/types/vue\";\r\n\r\nexport default function(context: CombinedVueInstance) {\r\n try {\r\n const table: any = context.$el.querySelector(\".v-data-table\");\r\n const wrapper: any = context.$el.querySelector(\".v-data-table__wrapper\");\r\n context.$vuetify.goTo(table, { container: wrapper, duration: 400 });\r\n } catch (e) {}\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.title,\"no-padding-sides\":\"\",\"no-padding-top\":\"\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":function($event){return _vm.$emit('refresh')}},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [(_vm.client && !_vm.viewer)?_c('MenuButton',{attrs:{\"text\":_vm.$t('CreateNewLoad'),\"options\":_vm.cargoTypes},on:{\"input\":_vm.createNewLoad}}):_vm._e()]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-btn',{staticClass:\"medium-margin-left\",on:{\"click\":function($event){return _vm.$emit('edit')}}},[_c('v-icon',{attrs:{\"size\":\"21\",\"color\":\"icon-grey\"}},[_vm._v(\"mdi-cog\")])],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding large-padding-sides\"},[_c('LoadListSearch',{attrs:{\"selectedTab\":_vm.selectedTab},on:{\"search\":function($event){return _vm.$emit('search')}}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\"},[_c('v-tabs',{attrs:{\"slider-size\":\"2.5\",\"show-arrows\":\"\"},model:{value:(_vm.selectedTabIndex),callback:function ($$v) {_vm.selectedTabIndex=$$v},expression:\"selectedTabIndex\"}},_vm._l((_vm.tabs),function(tab){return _c('v-tab',{key:tab.id},[_vm._v(\" \"+_vm._s(_vm.loadListTabName(tab.id))+\" \")])}),1)],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"transition\":\"scale-transition\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"color\":!_vm.doNotShowPlus ? 'btn-cyan' : '',\"disabled\":_vm.disabled},on:{\"click\":_vm.menuClick}},_vm.singleOption ? undefined : on),[(!_vm.doNotShowPlus)?_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]):_vm._e(),(_vm.doNotShowPlus)?_c('v-icon',{staticClass:\"tiny-padding-top\",attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\" mdi-table-edit \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.text)+\" \"),(!_vm.singleOption)?_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-menu-down\")]):_vm._e()],1)]}}])},[_c('v-list',{staticClass:\"tiny-vertical-padding\"},_vm._l((_vm.options),function(option){return _c('v-list-item',{key:option.id,attrs:{\"dense\":\"\"},on:{\"click\":function($event){return _vm.optionClick(option.id)}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(option.icon))])],1),_c('v-list-item-content',[_vm._v(\" \"+_vm._s(option.text)+\" \")])],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\r\nimport Vue from \"vue\";\r\n\r\nexport interface MenuButtonOption {\r\n id: number;\r\n text: string | undefined;\r\n icon: string;\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n text: String,\r\n options: Array as () => MenuButtonOption[],\r\n disabled: Boolean,\r\n doNotShowPlus: Boolean\r\n },\r\n computed: {\r\n singleOption(): boolean {\r\n return this.options.length === 1;\r\n }\r\n },\r\n methods: {\r\n menuClick() {\r\n if (!this.singleOption) {\r\n return;\r\n }\r\n this.optionClick(this.options[0].id);\r\n },\r\n optionClick(id: number) {\r\n this.$emit(\"input\", id);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MenuButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MenuButton.vue?vue&type=template&id=5286a10d&\"\nimport script from \"./MenuButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./MenuButton.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Event'),\"items\":_vm.filterDateTypes(),\"tabindex\":\"1\",\"disabled\":_vm.noFilters},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.filterDateType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"filterDateType\", $$v)},expression:\"searchCriteria.filterDateType\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom no-padding-left\",attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('FromWithInitialCaps'),\"items\":_vm.daysBack(),\"tabindex\":\"1\",\"disabled\":_vm.noFilters},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.filterDateDaysBack),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"filterDateDaysBack\", $$v)},expression:\"searchCriteria.filterDateDaysBack\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom no-padding-left\",attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('ToWithInitialCaps'),\"items\":_vm.daysForward(),\"tabindex\":\"1\",\"disabled\":_vm.noFilters},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.filterDateDaysForward),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"filterDateDaysForward\", $$v)},expression:\"searchCriteria.filterDateDaysForward\"}})],1),(_vm.showResignedCheckbox)?_c('v-col',{staticClass:\"no-padding-left small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-checkbox',{staticClass:\"small-margin-top\",attrs:{\"label\":_vm.$t('ShowResignedLoads')},on:{\"change\":_vm.search},model:{value:(_vm.searchCriteria.resignedLoads),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"resignedLoads\", $$v)},expression:\"searchCriteria.resignedLoads\"}})],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\r\nimport Vue from \"vue\";\r\nimport { LoadListTab, spotTenderTabId } from \"@/scripts/types\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport {\r\n ActorType,\r\n LoadSearchCriteriaDto,\r\n LoadStatus,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n daysBack,\r\n daysForward,\r\n filterDateTypes\r\n} from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Dropdown\r\n },\r\n props: {\r\n selectedTab: LoadListTab\r\n },\r\n computed: {\r\n searchCriteria(): LoadSearchCriteriaDto {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadList,\r\n this.selectedTab.id\r\n );\r\n },\r\n noFilters(): boolean {\r\n return this.selectedTab.id === spotTenderTabId;\r\n },\r\n showResignedCheckbox(): boolean {\r\n return (\r\n this.$store.getters[gets.userInfo].actorType === ActorType.Supplier &&\r\n this.selectedTab.id === LoadStatus.Ordered\r\n );\r\n }\r\n },\r\n methods: {\r\n daysBack: daysBack,\r\n daysForward: daysForward,\r\n filterDateTypes: filterDateTypes,\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadListSearch.vue?vue&type=template&id=e688eb3e&\"\nimport script from \"./LoadListSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadListSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCheckbox,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadListTab, loadListTabName } from \"@/scripts/types\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport MenuButton, {\r\n MenuButtonOption\r\n} from \"@/components/shared/input/MenuButton.vue\";\r\nimport LoadListSearch from \"@/components/web/loads/shared/list/LoadListSearch.vue\";\r\nimport {\r\n ActorType,\r\n CargoType,\r\n LoadActionPermission,\r\n LoadSearchCriteriaDto,\r\n UserLevel,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { cargoTypeIcon } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n MenuButton,\r\n LoadListSearch\r\n },\r\n props: {\r\n tabs: Array as () => LoadListTab[],\r\n selectedTab: LoadListTab,\r\n loading: Boolean\r\n },\r\n watch: {\r\n \"$route.query\": {\r\n handler() {\r\n const query = { ...this.$route.query };\r\n const tab = query.tab ? Number(query.tab) : undefined;\r\n if (!tab) {\r\n return;\r\n }\r\n delete query.tab;\r\n this.$emit(\"selectTabId\", tab);\r\n this.$router.push({\r\n query: query,\r\n path: this.$route.path\r\n });\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n return `${this.$t(\"LoadList\")} - ${loadListTabName(this.selectedTab.id)}`;\r\n },\r\n selectedTabIndex: {\r\n get(): number {\r\n return (this.tabs as LoadListTab[]).findIndex(\r\n t => t.id === this.selectedTab.id\r\n );\r\n },\r\n set(index: number) {\r\n this.$emit(\"selectTabId\", (this.tabs as LoadListTab[])[index].id);\r\n }\r\n },\r\n cargoTypes(): MenuButtonOption[] {\r\n return actorCargoTypes().map(x => ({ ...x, icon: cargoTypeIcon(x.id) }));\r\n },\r\n actorCargoTypes(): CargoType[] {\r\n return this.$store.getters[gets.userInfo].actorCargoTypes;\r\n },\r\n client(): boolean {\r\n return this.$store.getters[gets.userInfo].actorType === ActorType.Client;\r\n },\r\n viewer(): boolean {\r\n return this.$store.getters[gets.userInfo].userLevel === UserLevel.Viewer;\r\n },\r\n searchCriteria(): LoadSearchCriteriaDto {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadList,\r\n this.selectedTab.id\r\n );\r\n }\r\n },\r\n methods: {\r\n loadListTabName: loadListTabName,\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n createNewLoad(cargoType: CargoType) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.ClientEdit.toString(),\r\n cargoType: cargoType.toString()\r\n }\r\n });\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadListTabs.vue?vue&type=template&id=28751311&\"\nimport script from \"./LoadListTabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadListTabs.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTab,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.loadListContainer.loads,\"item-key\":\"id\",\"loading\":_vm.loading,\"mobile-breakpoint\":0,\"height\":_vm.tableHeight,\"server-items-length\":_vm.loadListContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [50],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.id\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('LoadID')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.loadId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"loadId\", $$v)},expression:\"searchCriteria.loadId\"}})]},proxy:true},{key:\"filter.transportNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('TransportNo')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.transportNo),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"transportNo\", $$v)},expression:\"searchCriteria.transportNo\"}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.referenceNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('ReferenceNo')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.referenceNo),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"referenceNo\", $$v)},expression:\"searchCriteria.referenceNo\"}})]},proxy:true},{key:\"filter.regNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('TruckNo')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.regNo),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"regNo\", $$v)},expression:\"searchCriteria.regNo\"}})]},proxy:true},{key:\"filter.truckTypeName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'truckTypeMulti' },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true},{key:\"filter.pickupLocationFormatted\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupLocationCounty,\n zipCode: _vm.searchCriteria.pickupLocationZipCode,\n countryId: _vm.searchCriteria.pickupLocationCountryId\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupLocationCounty = val.county;\n _vm.searchCriteria.pickupLocationZipCode = val.zipCode;\n _vm.searchCriteria.pickupLocationCountryId = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocationFormatted\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryLocationCounty,\n zipCode: _vm.searchCriteria.deliveryLocationZipCode,\n countryId: _vm.searchCriteria.deliveryLocationCountryId\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryLocationCounty = val.county;\n _vm.searchCriteria.deliveryLocationZipCode = val.zipCode;\n _vm.searchCriteria.deliveryLocationCountryId = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.supplierName\",fn:function(){return [(_vm.supplierFilterVisible)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'supplier' },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.supplierId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"supplierId\", $$v)},expression:\"searchCriteria.supplierId\"}}):_vm._e()]},proxy:true},{key:\"filter.customerName\",fn:function(){return [(_vm.customerFilterVisible)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'customer' },\"placeholder\":_vm.$t('Customer')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.customerId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"customerId\", $$v)},expression:\"searchCriteria.customerId\"}}):_vm._e()]},proxy:true},{key:\"filter.terminalName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'terminal' },\"placeholder\":_vm.$t('Terminal')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.terminalId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"terminalId\", $$v)},expression:\"searchCriteria.terminalId\"}})]},proxy:true},{key:\"filter.numExtraStops\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'withWithout' },\"placeholder\":_vm.$t('Stop')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.hasExtraStops),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"hasExtraStops\", $$v)},expression:\"searchCriteria.hasExtraStops\"}})]},proxy:true}],null,true)})]}},{key:\"item.dots\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LoadDots',{attrs:{\"loadId\":item.id,\"loadIds\":_vm.checked.length ? _vm.checked : [item.id]}})]}},{key:\"item.infoIcons\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LoadInfoIcons',{attrs:{\"load\":item,\"checked\":_vm.checked.includes(item.id)},on:{\"check\":function($event){return _vm.$emit('check', item.id)}}})]}},{key:\"item.statusName\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.loadStatusName(item.status))+\" \")]}},{key:\"item.truckTypeName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.truckTypeText(item),\"width\":\"135\"}})]}},{key:\"item.pickupLocationFormatted\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocationFormatted,\"width\":\"150\"}})]}},{key:\"item.deliveryLocationFormatted\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocationFormatted,\"width\":\"165\"}})]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"110\"}})]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"110\"}})]}},{key:\"item.customerName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.customerName,\"width\":\"100\"}})]}},{key:\"item.terminalName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.terminalName,\"width\":\"100\"}})]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"90\"}})]}},{key:\"item.regDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.regDate,\"width\":\"120\"}})]}},{key:\"item.regDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.regDate}})]}},{key:\"item.spotTenderEndDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.spotTenderEndDate,\"width\":\"120\"}})]}},{key:\"item.spotTenderEndDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.spotTenderEndDate}})]}},{key:\"item.pickupEarliest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupEarliest,\"width\":\"120\"}})]}},{key:\"item.pickupEarliestWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.pickupEarliest}})]}},{key:\"item.pickupLatest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLatest,\"width\":\"120\"}})]}},{key:\"item.pickupLatestWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.pickupLatest}})]}},{key:\"item.deliveryEarliest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryEarliest,\"width\":\"120\"}})]}},{key:\"item.deliveryEarliestWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.deliveryEarliest}})]}},{key:\"item.deliveryLatest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLatest,\"width\":\"120\"}})]}},{key:\"item.deliveryLatestWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.deliveryLatest}})]}},{key:\"item.bookingDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookingDate,\"width\":\"120\"}})]}},{key:\"item.bookingDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.bookingDate}})]}},{key:\"item.loadedDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.loadedDate,\"width\":\"120\"}})]}},{key:\"item.loadedDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.loadedDate}})]}},{key:\"item.bookedPickupDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookedPickupDate,\"width\":\"120\"}})]}},{key:\"item.bookedPickupDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.bookedPickupDate}})]}},{key:\"item.deliveryDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryDate,\"width\":\"120\"}})]}},{key:\"item.deliveryDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.deliveryDate}})]}},{key:\"item.bookedDeliveryDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookedDeliveryDate,\"width\":\"120\"}})]}},{key:\"item.bookedDeliveryDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.bookedDeliveryDate}})]}},{key:\"item.alterDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.alterDate,\"width\":\"120\"}})]}},{key:\"item.alterDateWithZone\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.alterDate}})]}},{key:\"item.numExtraStops\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(item.numExtraStops ? item.numExtraStops + 1 : \"\"))])]}},{key:\"item.numRelatedLoads\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(item.numRelatedLoads ? item.numRelatedLoads : \"\"))])]}},{key:\"item.visibleToNextSupplier\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.presentNextVisibleSupplierDate(item.visibleToNextSupplier),\"width\":\"120\"}})]}},{key:\"item.deviationCause\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.deviationCauseText(item),\"width\":\"135\"}})]}},{key:\"item.otherPriceCause\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.otherPriceCauseText(item),\"width\":\"135\"}})]}},{key:\"item.bookedPickupInfo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookedPickupInfo,\"width\":\"130\"}})]}}],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { ActorType, LoadOrderBy, LoadStatus } from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\n\r\nexport default (\r\n actorType: ActorType,\r\n forEdit: boolean,\r\n tabId: number,\r\n userConfig?: number[]\r\n): TableHeader[] => {\r\n let res = availableHeaders();\r\n if (userConfig !== undefined) {\r\n res = userConfig\r\n .map(id => res.find(r => r.id === id))\r\n .filter(h => h !== undefined) as LoadListTableHeaderInternal[];\r\n }\r\n if (!forEdit) {\r\n res = [...nonEditableHeaders(tabId), ...res];\r\n }\r\n return res.filter(h => !h.blacklist || !h.blacklist.includes(actorType));\r\n};\r\n\r\nconst availableHeaders = (): LoadListTableHeaderInternal[] => {\r\n return headers.map(\r\n h =>\r\n ({\r\n sortValue: h.id! > 0 ? h.id : undefined,\r\n ...h\r\n } as LoadListTableHeaderInternal)\r\n );\r\n};\r\n\r\ninterface LoadListTableHeaderInternal extends TableHeader {\r\n blacklist?: ActorType[];\r\n}\r\n\r\nconst nonEditableHeaders = (tabId: number): LoadListTableHeaderInternal[] => {\r\n const res: LoadListTableHeaderInternal[] = [\r\n {\r\n id: -100,\r\n value: \"dots\",\r\n width: 38\r\n }\r\n ];\r\n if (tabId !== LoadStatus.Annulled) {\r\n res.push({\r\n id: -101,\r\n value: \"infoIcons\",\r\n width: 1\r\n });\r\n }\r\n return res;\r\n};\r\n\r\nconst headers: LoadListTableHeaderInternal[] = [\r\n {\r\n id: LoadOrderBy.Id,\r\n value: \"id\",\r\n text: \"LoadID\",\r\n width: 90\r\n },\r\n {\r\n id: LoadOrderBy.TransportNo,\r\n value: \"transportNo\",\r\n text: \"TransportNo\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.StatusName,\r\n value: \"statusName\",\r\n text: \"Status\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.TruckTypeName,\r\n value: \"truckTypeName\",\r\n text: \"TruckType\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Client],\r\n id: LoadOrderBy.ClientName,\r\n value: \"clientName\",\r\n text: \"Client\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Supplier],\r\n id: LoadOrderBy.SupplierName,\r\n value: \"supplierName\",\r\n text: \"Supplier\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Customer],\r\n id: LoadOrderBy.CustomerName,\r\n value: \"customerName\",\r\n text: \"Customer\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.TerminalName,\r\n value: \"terminalName\",\r\n text: \"Terminal\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.PickupLocationFormatted,\r\n value: \"pickupLocationFormatted\",\r\n text: \"PickupLocation\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryLocationFormatted,\r\n value: \"deliveryLocationFormatted\",\r\n text: \"DeliveryLocation\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.RegDate,\r\n value: \"regDate\",\r\n text: \"RegDate\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.RegDateWithZone,\r\n value: \"regDateWithZone\",\r\n text: \"RegDateWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.SpotTenderEndDate,\r\n value: \"spotTenderEndDate\",\r\n text: \"SpotTenderEndDateShort\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.SpotTenderEndDateWithZone,\r\n value: \"spotTenderEndDateWithZone\",\r\n text: \"SpotTenderEndDateShortWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.PickupEarliest,\r\n value: \"pickupEarliest\",\r\n text: \"PickupEarliest\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.PickupEarliestWithZone,\r\n value: \"pickupEarliestWithZone\",\r\n text: \"PickupEarliestWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.PickupLatest,\r\n value: \"pickupLatest\",\r\n text: \"PickupLatest\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.PickupLatestWithZone,\r\n value: \"pickupLatestWithZone\",\r\n text: \"PickupLatestWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryEarliest,\r\n value: \"deliveryEarliest\",\r\n text: \"DeliveryEarliest\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryEarliestWithZone,\r\n value: \"deliveryEarliestWithZone\",\r\n text: \"DeliveryEarliestWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryLatest,\r\n value: \"deliveryLatest\",\r\n text: \"DeliveryLatest\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryLatestWithZone,\r\n value: \"deliveryLatestWithZone\",\r\n text: \"DeliveryLatestWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.BookingDate,\r\n value: \"bookingDate\",\r\n text: \"BookingDate\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.BookingDateWithZone,\r\n value: \"bookingDateWithZone\",\r\n text: \"BookingDateWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.LoadedDate,\r\n value: \"loadedDate\",\r\n text: \"LoadedDate\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.LoadedDateWithZone,\r\n value: \"loadedDateWithZone\",\r\n text: \"LoadedDateWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.BookedPickupDate,\r\n value: \"bookedPickupDate\",\r\n text: \"BookedPickupDate\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.BookedPickupDateWithZone,\r\n value: \"bookedPickupDateWithZone\",\r\n text: \"BookedPickupDateWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryDate,\r\n value: \"deliveryDate\",\r\n text: \"DeliveredDate\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.DeliveryDateWithZone,\r\n value: \"deliveryDateWithZone\",\r\n text: \"DeliveredDateWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.BookedDeliveryDate,\r\n value: \"bookedDeliveryDate\",\r\n text: \"BookedDeliveryDate\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.BookedDeliveryDateWithZone,\r\n value: \"bookedDeliveryDateWithZone\",\r\n text: \"BookedDeliveryDateWithZone\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.AlterDate,\r\n value: \"alterDate\",\r\n text: \"Altered\",\r\n width: 125\r\n },\r\n {\r\n id: LoadOrderBy.AlterDateWithZone,\r\n value: \"alterDateWithZone\",\r\n text: \"AlteredWithZone\",\r\n width: 125\r\n },\r\n {\r\n blacklist: [ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.Unit,\r\n value: \"unit\",\r\n text: \"Unit\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.ReferenceNo,\r\n value: \"referenceNo\",\r\n text: \"ReferenceNo\",\r\n width: 1\r\n },\r\n {\r\n id: LoadOrderBy.RegNo,\r\n value: \"regNo\",\r\n text: \"TruckNo\",\r\n width: 80\r\n },\r\n {\r\n id: LoadOrderBy.BookingNo,\r\n value: \"bookingNo\",\r\n text: \"BookingNo\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.NumExtraStops,\r\n value: \"numExtraStops\",\r\n text: \"Stop\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Supplier, ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.DeviationCause,\r\n value: \"deviationCause\",\r\n text: \"DeviationCause\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Supplier, ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.OtherPriceCause,\r\n value: \"otherPriceCause\",\r\n text: \"OtherPriceCause\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Client, ActorType.Supplier, ActorType.Customer],\r\n id: LoadOrderBy.NumRelatedLoads,\r\n value: \"numRelatedLoads\",\r\n text: \"RelatedLoads\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Client, ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.VisibleToNextSupplier,\r\n value: \"visibleToNextSupplier\",\r\n text: \"VisibleForNextSupplierShort\",\r\n width: 1\r\n },\r\n {\r\n blacklist: [ActorType.Customer, ActorType.Terminal],\r\n id: LoadOrderBy.BookedPickupInfo,\r\n value: \"bookedPickupInfo\",\r\n text: \"BookedPickupInfo\",\r\n width: 1\r\n }\r\n];\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('thead',{staticClass:\"custom-filter-wrapper\"},[_c('tr',_vm._l((_vm.props.headers),function(h){return _c('th',{key:h.value,staticClass:\"dont-render-newlines\",attrs:{\"width\":h.width}},[_c('span',{staticClass:\"dark-text\",class:{ clickable: _vm.sortable(h) },on:{\"click\":function($event){return _vm.sort(h)},\"mouseenter\":function($event){_vm.hoveredHeader = h.value},\"mouseleave\":function($event){_vm.hoveredHeader = undefined}}},[_c('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":!h.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[(h.customHeader)?_c('span',[_vm._t('header.' + h.value)],2):(h.multiLine)?_c('span',{staticStyle:{\"white-space\":\"pre-line\"}},[_vm._v(\" \"+_vm._s(h.untranslated ? h.text : _vm.$t(h.text || \"\"))+\" \")]):_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(h.untranslated ? h.text : _vm.$t(h.text || \"\"))+\" \")])])]}}],null,true)},[_vm._v(\" \"+_vm._s(h.untranslated ? h.tooltip : _vm.$t(h.tooltip || \"\"))+\" \")]),(_vm.sortable(h))?_c('v-icon',{class:{\n transparent: !_vm.sortedBy(h) && !_vm.hovered(h),\n flipped: _vm.sortedDesc\n },attrs:{\"color\":\"black\",\"size\":\"14\"}},[_vm._v(\" mdi-arrow-up \")]):_vm._e()],1),_c('div',{staticClass:\"tiniest-margin-bottom\"},[_vm._t('filter.' + h.value)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\n\r\ninterface TableHeaderProps {\r\n headers: TableHeader[];\r\n options: TableOptions;\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n props: Object as () => TableHeaderProps,\r\n on: Object\r\n },\r\n computed: {\r\n estimatedNoOfLoadsTextShort(): string {\r\n let text: string = this.$t(\"NumberOfEstimatedLoads\").toString();\r\n if (text.length > 7) {\r\n text = `${text.substring(0, 5)}...`;\r\n }\r\n return text;\r\n },\r\n sortedDesc(): boolean {\r\n return this.props.options.sortDesc[0];\r\n }\r\n },\r\n methods: {\r\n sortable(h: TableHeader): boolean {\r\n return h.sortValue !== undefined;\r\n },\r\n sortedBy(h: TableHeader): boolean {\r\n if (!this.sortable(h)) {\r\n return false;\r\n }\r\n if (h.sortValue === true) {\r\n return h.value === this.props.options.sortBy[0];\r\n } else {\r\n return h.sortValue === this.props.options.sortBy[0];\r\n }\r\n },\r\n sort(h: TableHeader) {\r\n if (!this.sortable(h)) {\r\n return;\r\n }\r\n if (h.sortValue === true) {\r\n this.on.sort(h.value);\r\n } else {\r\n this.on.sort(h.sortValue);\r\n }\r\n },\r\n hovered(h: TableHeader): boolean {\r\n return this.hoveredHeader === h.value;\r\n }\r\n },\r\n data: (): { hoveredHeader?: string } => ({\r\n hoveredHeader: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomTableHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomTableHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomTableHeader.vue?vue&type=template&id=75ffef0c&scoped=true&\"\nimport script from \"./CustomTableHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomTableHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CustomTableHeader.vue?vue&type=style&index=0&id=75ffef0c&scoped=true&lang=css&\"\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 \"75ffef0c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.type === _vm.types.text)?_c('TextSingle',{staticClass:\"filter-input\",attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"tabindex\":\"2\",\"clearable\":\"\",\"only-on-blur\":\"\"},on:{\"input\":function (val) {\n _vm.input(val || null);\n _vm.search();\n }}}):_vm._e(),(_vm.type === _vm.types.autocomplete)?_c('Autocomplete',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"items\":_vm.dropdownItems,\"tabindex\":\"2\",\"innerClass\":\"filter-input\"},on:{\"input\":function (val) {\n _vm.input(val);\n _vm.search();\n }}}):_vm._e(),(_vm.type === _vm.types.dropdown)?_c('Dropdown',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"items\":_vm.dropdownItems,\"tabindex\":\"2\",\"innerClass\":\"filter-input\",\"clearable\":\"\"},on:{\"input\":function (val) {\n _vm.input(val);\n _vm.search();\n }}}):_vm._e(),(_vm.type === _vm.types.dropdownMulti)?_c('DropdownMulti',{attrs:{\"value\":_vm.value,\"placeholder\":_vm.placeholder,\"items\":_vm.dropdownItems,\"tabindex\":\"2\",\"innerClass\":\"filter-input\",\"clearable\":\"\"},on:{\"input\":function (val) {\n _vm.input(val);\n _vm.search();\n }}}):_vm._e(),(\n [\n _vm.subtypes.location,\n _vm.subtypes.locationMulti,\n _vm.subtypes.locationCargoType,\n _vm.subtypes.locationClient\n ].includes(_vm.config.subtype)\n )?_c('LocationFilter',{attrs:{\"multi\":_vm.config.subtype === _vm.subtypes.locationMulti,\"inner-class\":\"filter-input\",\"location\":_vm.value,\"placeholder\":_vm.placeholder,\"counties\":_vm.items.counties,\"countries\":_vm.items.countries,\"hideCountryFilter\":this.hideCountryFilter},on:{\"input\":_vm.input,\"search\":_vm.search,\"clearSelection\":_vm.clearSelection}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { t } from \"@/scripts/language/i18n\";\r\nimport { RepositoryDto } from \"@/scripts/cld.api\";\r\n\r\nexport default (options: RepositoryDto[]): RepositoryDto[] => {\r\n return options.map(x => new RepositoryDto({ id: x.id, text: t(x.text!) }));\r\n};\r\n","import {\r\n AgreementRouteSearchCriteria,\r\n AgreementRouteWithAgreementStatusDto,\r\n AgreementsClientClient,\r\n ApiConfiguration,\r\n CargoType,\r\n Country,\r\n CountyWithZipcodeDto,\r\n PublishSpeed,\r\n RankedSupplierDto,\r\n RankingSearchCriteria,\r\n RepositoryClient,\r\n RepositoryDto,\r\n RoutingClient,\r\n ItineraryDto,\r\n SuggestionDto,\r\n TruckType,\r\n TruckTypeDto,\r\n TruckTypeSearchCriteria,\r\n LoadsClient,\r\n LoadSearchResultDto,\r\n AgreementRoutesClient,\r\n LocationsClient,\r\n LocationStartingWithDto,\r\n BaseIndexPeriodDto,\r\n ActorsClient,\r\n TimeZone,\r\n CountriesSupportAdminSearchCriteria\r\n} from \"@/scripts/cld.api\";\r\nimport store from \"@/scripts/store/store\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { gets, mutations } from \"@/scripts/store/constants\";\r\nimport translatedDropdown from \"./translatedDropdown\";\r\nimport { isoName } from \"./enumNames\";\r\n\r\nconst endpointLocationCache = {\r\n counties: null,\r\n countries: null,\r\n countiesByCargotype: null,\r\n countiesOnAgreementroutes: null,\r\n countiesAndZipcode: null,\r\n countiesStartingWith: null,\r\n countiesSupportAdmin: null,\r\n zipcodesStartingWith: null,\r\n tags: null\r\n};\r\nconst endpointLongTimeCache = {\r\n baseIndexPeriods: null,\r\n addressSuggestions: null,\r\n itinerary: null\r\n};\r\nconst endpointShortTimeCache = {\r\n trucktypesByAgreementrouteid: null,\r\n rankedSuppliersByAgreementroute: null,\r\n agreementRoutes: null,\r\n clients: null,\r\n suppliers: null,\r\n suppliersForSupportAdmin: null,\r\n customers: null,\r\n terminals: null,\r\n loadSearch: null,\r\n units: null\r\n};\r\nconst endpoint = {\r\n ...endpointLocationCache,\r\n ...endpointLongTimeCache,\r\n ...endpointShortTimeCache\r\n};\r\n\r\ntype Endpoint = keyof typeof endpoint;\r\n\r\ninterface CacheEntry {\r\n key: string;\r\n type: Endpoint;\r\n timestamp: CDate;\r\n promise: Promise;\r\n}\r\n\r\ntype SuppliersInput = [\r\n /* cargoType */ CargoType | null,\r\n /* includeOnesExcludedByMe */ boolean,\r\n /* includeOnesThatExcludeMe */ boolean\r\n];\r\ntype ClientsInput = [\r\n /* includeOnesExcludedByMe */ boolean,\r\n /* includeOnesThatExcludeMe */ boolean,\r\n /* includeInactive */ boolean\r\n];\r\ntype AddressSuggestionInput = [\r\n /*country:*/ Country,\r\n /*county:*/ string,\r\n /*zipcode:*/ string,\r\n /*address:*/ string\r\n];\r\ntype LoadSearchInput = [string];\r\ntype TagInput = [CargoType | null];\r\ntype CountiesSupportAdminInput = [boolean, Country[]];\r\ntype ItineraryInput = [\r\n /*fromCountry:*/ Country,\r\n /*fromCounty:*/ string,\r\n /*fromZipcode:*/ string,\r\n /*fromAddress:*/ string,\r\n /*toCountry:*/ Country,\r\n /*toCounty:*/ string,\r\n /*toZipcode:*/ string,\r\n /*toAddress:*/ string,\r\n /*agreementRouteId:*/ number | null\r\n];\r\ntype RankedSuppliersByAgreementRouteInput = [\r\n /*agreementRouteId:*/ number,\r\n /*truckType:*/ TruckType,\r\n /*agreementDate:*/ CDate,\r\n /*publishSpeed:*/ PublishSpeed,\r\n /*loadId:*/ number | undefined\r\n];\r\n\r\ntype LocationsStartingWithInput = [/* Str */ string, /* Country */ Country];\r\n\r\nlet cache: CacheEntry[] = [];\r\n\r\nconst isLocationType = (endpoint: Endpoint): boolean => {\r\n return Object.keys(endpointLocationCache).includes(endpoint);\r\n};\r\n\r\nconst isShortTimeType = (endpoint: Endpoint): boolean => {\r\n return Object.keys(endpointShortTimeCache).includes(endpoint);\r\n};\r\n\r\nconst isLongTimeType = (endpoint: Endpoint): boolean => {\r\n return Object.keys(endpointLongTimeCache).includes(endpoint);\r\n};\r\n\r\nconst clearCacheIfNeeded = (endpoint: Endpoint) => {\r\n if (isLocationType(endpoint)) {\r\n if (store.getters[gets.locationCacheOutdated]) {\r\n store.commit(mutations.setLocationCacheOutdated, false);\r\n cache = cache.filter(c => !isLocationType(c.type));\r\n }\r\n } else if (isShortTimeType(endpoint)) {\r\n cache = cache.filter(\r\n c =>\r\n !isShortTimeType(c.type) ||\r\n c.timestamp.toSeconds() + 30 >\r\n CDate.now(TimeZone.Europe_Stockholm).toSeconds()\r\n );\r\n } else if (isLongTimeType(endpoint)) {\r\n cache = cache.filter(\r\n c =>\r\n !isLongTimeType(c.type) ||\r\n c.timestamp.toSeconds() + 7200 >\r\n CDate.now(TimeZone.Europe_Stockholm).toSeconds()\r\n );\r\n }\r\n};\r\n\r\nconst addToCache = (entry: CacheEntry) => {\r\n cache.push(entry);\r\n};\r\n\r\nconst createKey = (endpoint: Endpoint, args: any[]) => {\r\n let key = endpoint;\r\n for (const arg of args) {\r\n key += !arg ? \"null\" : arg.toString();\r\n }\r\n return key;\r\n};\r\n\r\nconst createEntry = (endpoint: Endpoint, args: any[]): CacheEntry => {\r\n return {\r\n key: createKey(endpoint, args),\r\n type: endpoint,\r\n timestamp: CDate.now(TimeZone.Europe_Stockholm),\r\n promise: createPromise(endpoint, args)\r\n };\r\n};\r\n\r\nconst getEntry = (endpoint: Endpoint, args: any[]) => {\r\n const key = createKey(endpoint, args);\r\n clearCacheIfNeeded(endpoint);\r\n return cache.find(c => c.key === key);\r\n};\r\n\r\nconst createPromise = (endpoint: Endpoint, args: any[]): Promise => {\r\n if (endpoint === \"countiesOnAgreementroutes\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n args[0],\r\n args[1]\r\n );\r\n }\r\n if (endpoint === \"countiesByCargotype\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n args[0],\r\n args[1]\r\n );\r\n }\r\n if (endpoint === \"suppliersForSupportAdmin\") {\r\n return new ActorsClient(new ApiConfiguration(store))[endpoint](args[0]);\r\n }\r\n if (endpoint === \"suppliers\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n ...(args[0] as SuppliersInput)\r\n );\r\n }\r\n if (endpoint === \"clients\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n ...(args[0] as ClientsInput)\r\n );\r\n }\r\n if (endpoint === \"trucktypesByAgreementrouteid\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n new TruckTypeSearchCriteria({\r\n cargoType: args[0],\r\n agreementDate: args[1],\r\n agreementRouteId: args[2]\r\n })\r\n );\r\n }\r\n if (endpoint === \"counties\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](args[0]);\r\n }\r\n if (endpoint === \"countiesAndZipcode\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](args[0]);\r\n }\r\n if (endpoint === \"agreementRoutes\") {\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n new AgreementRouteSearchCriteria({\r\n cargoType: args[0],\r\n agreementDate: args[1]\r\n })\r\n );\r\n }\r\n if (endpoint === \"rankedSuppliersByAgreementroute\") {\r\n const input = args[0] as RankedSuppliersByAgreementRouteInput;\r\n return new AgreementsClientClient(new ApiConfiguration(store))[endpoint](\r\n new RankingSearchCriteria({\r\n agreementRouteId: input[0],\r\n truckType: input[1],\r\n agreementDate: input[2],\r\n publishSpeed: input[3],\r\n loadId: input[4]\r\n })\r\n );\r\n }\r\n if (endpoint === \"addressSuggestions\") {\r\n return new RoutingClient(new ApiConfiguration(store))[endpoint](\r\n ...(args[0] as AddressSuggestionInput)\r\n );\r\n }\r\n if (endpoint === \"itinerary\") {\r\n return new RoutingClient(new ApiConfiguration(store))[endpoint](\r\n ...(args[0] as ItineraryInput)\r\n );\r\n }\r\n if (endpoint === \"loadSearch\") {\r\n return new LoadsClient(new ApiConfiguration(store))[endpoint](\r\n ...(args[0] as LoadSearchInput)\r\n );\r\n }\r\n if (endpoint === \"tags\") {\r\n return new AgreementRoutesClient(new ApiConfiguration(store))[endpoint](\r\n ...(args[0] as TagInput)\r\n );\r\n }\r\n if (\r\n endpoint === \"countiesStartingWith\" ||\r\n endpoint === \"zipcodesStartingWith\"\r\n ) {\r\n const input = args[0] as LocationsStartingWithInput;\r\n return new LocationsClient(new ApiConfiguration(store))[endpoint](\r\n new LocationStartingWithDto({\r\n str: input[0],\r\n country: input[1]\r\n })\r\n );\r\n }\r\n if (endpoint === \"countiesSupportAdmin\") {\r\n const input = args[0] as CountiesSupportAdminInput;\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint](\r\n new CountriesSupportAdminSearchCriteria({\r\n pickup: input[0],\r\n countries: input[1]\r\n })\r\n );\r\n }\r\n return new RepositoryClient(new ApiConfiguration(store))[endpoint]();\r\n};\r\n\r\nconst applyTranslationIfNeeded = (entry: CacheEntry, endpoint: Endpoint) => {\r\n if (endpoint === \"countries\") {\r\n entry.promise = entry.promise.then((res: RepositoryDto[]) => {\r\n res = translatedDropdown(res);\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n res.map(c => {\r\n if (c.id !== null) {\r\n c.text = `(${isoName(c.id)}) ${c.text}`;\r\n }\r\n });\r\n return res;\r\n });\r\n }\r\n};\r\n\r\nconst getPromise = (endpoint: Endpoint, args: any[]): Promise => {\r\n let entry = getEntry(endpoint, args);\r\n if (entry === undefined) {\r\n entry = createEntry(endpoint, args);\r\n applyTranslationIfNeeded(entry, endpoint);\r\n addToCache(entry);\r\n }\r\n return entry.promise;\r\n};\r\n\r\nfunction cached(\r\n endpoint: \"countries\" | \"customers\" | \"terminals\"\r\n): Promise;\r\n\r\nfunction cached(endpoint: \"baseIndexPeriods\"): Promise;\r\n\r\nfunction cached(endpoint: \"units\"): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"countiesSupportAdmin\",\r\n input: CountiesSupportAdminInput\r\n): Promise;\r\n\r\nfunction cached(endpoint: \"tags\", input: TagInput): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"counties\",\r\n country: Country | null\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"suppliersForSupportAdmin\",\r\n cargoType: CargoType | null\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"clients\",\r\n input: ClientsInput\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"suppliers\",\r\n input: SuppliersInput\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"countiesAndZipcode\",\r\n country: Country\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"countiesStartingWith\" | \"zipcodesStartingWith\",\r\n input: LocationsStartingWithInput\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"countiesByCargotype\" | \"countiesOnAgreementroutes\",\r\n cargoType: CargoType,\r\n pickup: boolean\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"agreementRoutes\",\r\n cargoType: CargoType,\r\n agreementDate: CDate\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"trucktypesByAgreementrouteid\",\r\n cargoType: CargoType,\r\n agreementDate: CDate,\r\n agreementRouteId: number\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"rankedSuppliersByAgreementroute\",\r\n input: RankedSuppliersByAgreementRouteInput\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"addressSuggestions\",\r\n input: AddressSuggestionInput\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"itinerary\",\r\n input: ItineraryInput\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"loadSearch\",\r\n input: LoadSearchInput\r\n): Promise;\r\n\r\nfunction cached(endpoint: Endpoint, ...args: any[]): Promise {\r\n return getPromise(endpoint, args);\r\n}\r\n\r\nexport default cached;\r\n","export default (event: KeyboardEvent, callback: Function) => {\r\n if (event.key !== \"Tab\" && event.key !== \"Shift\") {\r\n callback(event.key);\r\n }\r\n};\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"close-on-content-click\":false,\"close-on-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({class:_vm.innerClass,attrs:{\"value\":_vm.filterText,\"placeholder\":_vm.placeholder,\"label\":_vm.label,\"spellcheck\":false,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"hide-details\":\"\",\"outlined\":\"\",\"dense\":\"\",\"readonly\":\"\"},on:{\"keydown\":function($event){_vm.ifNotTabbing($event, function () {\n _vm.menu = true;\n })}}},on))]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-card',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.clickOutside),expression:\"clickOutside\"}],staticClass:\"filter-card\"},[_c('v-card-title',{staticClass:\"card-grey subtitle-1 font-weight-regular small-vertical-padding medium-padding-sides\"},[_vm._v(\" \"+_vm._s(_vm.label || _vm.placeholder)+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"small\":\"\"},on:{\"click\":_vm.clearSelection}},[_c('v-icon',{attrs:{\"size\":\"16\",\"left\":\"\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ClearSelection\"))+\" \")],1)],1),_c('v-card-text',{staticClass:\"medium-padding-sides\"},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom no-padding-right no-dropdown-arrow\",attrs:{\"cols\":!_vm.hideCountryFilter ? 4 : 6}},[_c('Autocomplete',{attrs:{\"label\":_vm.label || _vm.placeholder,\"items\":_vm.counties,\"item-value\":\"name\",\"tabindex\":\"100\",\"autofocus\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.county),callback:function ($$v) {_vm.county=$$v},expression:\"county\"}})],1),_c('v-col',{class:{\n 'no-padding-bottom': true,\n 'no-padding-right': !_vm.hideCountryFilter,\n 'medium-padding-right': _vm.hideCountryFilter\n },attrs:{\"cols\":!_vm.hideCountryFilter ? 4 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ZipCode'),\"tabindex\":\"100\",\"clearable\":\"\",\"only-on-blur\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.zipCode),callback:function ($$v) {_vm.zipCode=$$v},expression:\"zipCode\"}})],1),(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('AutocompleteMultiCountry',{attrs:{\"items\":_vm.countries,\"tabindex\":\"100\"},on:{\"input\":_vm.search},model:{value:(_vm.countryIds),callback:function ($$v) {_vm.countryIds=$$v},expression:\"countryIds\"}})],1):(!_vm.hideCountryFilter)?_c('v-col',{staticClass:\"no-padding-bottom no-dropdown-arrow\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.countries,\"tabindex\":\"100\"},on:{\"input\":_vm.search},model:{value:(_vm.countryId),callback:function ($$v) {_vm.countryId=$$v},expression:\"countryId\"}})],1):_vm._e()],1)],1),_c('v-card-actions',{staticClass:\"medium-padding-sides medium-padding-bottom small-padding-top\"},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"small\":\"\",\"color\":\"btn-cyan\",\"tabindex\":\"100\"},on:{\"click\":_vm.closeMenu}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Close\"))+\" \")])],1)],1)],1)],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('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-autocomplete',{ref:\"autocomplete\",attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.items,\"item-value\":\"id\",\"item-text\":\"text\",\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"spellcheck\":false,\"filter\":_vm.filter,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"menu-props\":{ maxHeight: 420 },\"loader-height\":\"3\",\"auto-select-first\":\"\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input},model:{value:(_vm.internalValue),callback:function ($$v) {_vm.internalValue=$$v},expression:\"internalValue\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom small-padding-top\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.value),function(val){return _c('v-chip',{key:val,attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.isoName(val))+\" \"),_c('v-icon',{on:{\"click\":function($event){_vm.value.splice(_vm.value.indexOf(val), 1)}}},[_vm._v(\"mdi-close\")])],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\r\nimport Vue from \"vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport { isoName } from \"@/scripts/misc/enumNames\";\r\nimport { RepositoryDto } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Array as () => number[],\r\n label: String,\r\n items: Array as () => RepositoryDto[],\r\n tabindex: String,\r\n rules: Array,\r\n disabled: Boolean,\r\n loading: Boolean\r\n },\r\n methods: {\r\n isoName: isoName,\r\n input(val: number | null | undefined) {\r\n if (val) {\r\n this.$nextTick(() => {\r\n this.internalValue = null;\r\n (this.$refs.autocomplete as any).reset();\r\n });\r\n if (!this.value.includes(val)) {\r\n this.$emit(\"input\", [...this.value, val]);\r\n }\r\n }\r\n },\r\n filter(_: any, queryText: string, itemText: string) {\r\n return stringSearchHit(queryText, itemText, true);\r\n }\r\n },\r\n data: (): { internalValue: any } => ({\r\n internalValue: null\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutocompleteMultiCountry.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AutocompleteMultiCountry.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AutocompleteMultiCountry.vue?vue&type=template&id=98fe72e0&scoped=true&\"\nimport script from \"./AutocompleteMultiCountry.vue?vue&type=script&lang=ts&\"\nexport * from \"./AutocompleteMultiCountry.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AutocompleteMultiCountry.vue?vue&type=style&index=0&id=98fe72e0&scoped=true&lang=css&\"\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 \"98fe72e0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAutocomplete,VChip,VCol,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport AutocompleteMultiCountry from \"@/components/shared/input/AutocompleteMultiCountry.vue\";\r\nimport { CountryISO } from \"@/scripts/cld.api\";\r\nimport { isoName } from \"@/scripts/misc/enumNames\";\r\nimport ifNotTabbing from \"@/scripts/misc/ifNotTabbing\";\r\n\r\nexport interface LocationValue {\r\n county?: string | null;\r\n zipCode?: string | null;\r\n countryId?: CountryISO | null;\r\n countryIds?: CountryISO[];\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Autocomplete,\r\n TextSingle,\r\n AutocompleteMultiCountry\r\n },\r\n props: {\r\n location: Object as () => LocationValue,\r\n label: String,\r\n placeholder: String,\r\n counties: Array,\r\n countries: Array,\r\n multi: Boolean,\r\n innerClass: String,\r\n tabindex: String,\r\n hideCountryFilter: Boolean\r\n },\r\n watch: {\r\n menu() {\r\n //Prevents flickering\r\n this.closable = false;\r\n setTimeout(() => {\r\n this.closable = true;\r\n }, 50);\r\n }\r\n },\r\n computed: {\r\n county: {\r\n get(): string | null | undefined {\r\n return this.location.county;\r\n },\r\n set(county: string | null) {\r\n county = county || null;\r\n this.input({ county: county });\r\n }\r\n },\r\n zipCode: {\r\n get(): string | null | undefined {\r\n return this.location.zipCode;\r\n },\r\n set(zipCode: string | null) {\r\n zipCode = zipCode || null;\r\n this.input({ zipCode: zipCode });\r\n }\r\n },\r\n countryId: {\r\n get(): number | null | undefined {\r\n return this.location.countryId;\r\n },\r\n set(countryId: number | null) {\r\n if (countryId === undefined) {\r\n countryId = null;\r\n }\r\n this.input({ countryId: countryId });\r\n }\r\n },\r\n countryIds: {\r\n get(): number[] {\r\n return this.location.countryIds || [];\r\n },\r\n set(countryIds: number[]) {\r\n this.input({ countryIds: countryIds });\r\n }\r\n },\r\n filterText(): string {\r\n const iso = [this.location.countryId, ...(this.location.countryIds || [])]\r\n .filter((id: CountryISO | null | undefined) => !!id)\r\n .map(id => isoName(id!))\r\n .join(\",\");\r\n return [this.location.county, this.location.zipCode, iso]\r\n .filter(e => !!e)\r\n .join();\r\n }\r\n },\r\n methods: {\r\n ifNotTabbing: ifNotTabbing,\r\n input(val: LocationValue) {\r\n if (val.county === undefined) {\r\n val.county = this.county;\r\n }\r\n if (val.zipCode === undefined) {\r\n val.zipCode = this.zipCode;\r\n }\r\n if (val.countryId === undefined) {\r\n val.countryId = this.countryId;\r\n }\r\n if (val.countryIds === undefined) {\r\n val.countryIds = this.countryIds;\r\n }\r\n this.$emit(\"input\", val);\r\n },\r\n clearSelection() {\r\n this.input({\r\n county: null,\r\n zipCode: null,\r\n countryId: null,\r\n countryIds: []\r\n });\r\n this.$emit(\"search\");\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n closeMenu() {\r\n if (this.closable) {\r\n this.menu = false;\r\n }\r\n },\r\n clickOutside(event: any) {\r\n if (!event.target.className.includes(\"v-list\")) {\r\n this.closeMenu();\r\n }\r\n }\r\n },\r\n data: (): { menu: boolean; closable: boolean } => ({\r\n menu: false,\r\n closable: true\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LocationFilter.vue?vue&type=template&id=0352c834&scoped=true&\"\nimport script from \"./LocationFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./LocationFilter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LocationFilter.vue?vue&type=style&index=0&id=0352c834&scoped=true&lang=css&\"\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 \"0352c834\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VCol,VIcon,VMenu,VRow,VSpacer,VTextField})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport ClickOutside from 'vuetify/lib/directives/click-outside'\ninstallDirectives(component, {ClickOutside})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-select',{class:_vm.innerClass,attrs:{\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"items\":_vm.items,\"item-value\":\"id\",\"item-text\":\"text\",\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"rules\":_vm.rules,\"clearable\":_vm.clearable,\"menu-props\":{ maxHeight: 420 },\"multiple\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk && !_vm.disabled)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': !_vm.value || _vm.value.length === 0 }},[_vm._v(\" * \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null,{key:\"selection\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nreturn [(index === 0)?_c('span',[(_vm.value.length === 1)?_c('div',{staticClass:\"selection-width\"},[_vm._v(\" \"+_vm._s(item.text || item)+\" \")]):(_vm.value.length === _vm.items.length)?_c('div',{staticClass:\"selection-width\"},[_vm._v(\" \"+_vm._s(_vm.items.length === 2 ? _vm.$t(\"Both\") : _vm.$t(\"MobileAll\"))+\" \")]):_c('div',{staticClass:\"selection-width\"},[_vm._v(\" \"+_vm._s(_vm.value.length)+\" \"+_vm._s(_vm.$t(\"ItemsChecked\"))+\" \")])]):_vm._e()]}},{key:\"prepend-item\",fn:function(){return [(!_vm.noCheckAll)?_c('v-list-item',{on:{\"click\":_vm.checkAll}},[_c('v-list-item-action',[_c('v-simple-checkbox',{attrs:{\"value\":_vm.allChecked === true,\"indeterminate\":_vm.allChecked === undefined},on:{\"click\":_vm.checkAll}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.items.length === 2 ? _vm.$t(\"Both\") : _vm.$t(\"MobileAll\")))])])],1)],1):_vm._e(),_c('v-divider')]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Array as () => number[] | string[] | boolean[],\r\n label: String,\r\n placeholder: String,\r\n items: Array as () => { id: any; text: string }[],\r\n tabindex: String,\r\n innerClass: String,\r\n disabled: Boolean,\r\n loading: Boolean,\r\n clearable: Boolean,\r\n rules: Array,\r\n asterisk: Boolean,\r\n noCheckAll: Boolean,\r\n emptyMeansAll: Boolean\r\n },\r\n computed: {\r\n allChecked(): boolean | undefined {\r\n if (this.value.length === 0) {\r\n return this.emptyMeansAll;\r\n }\r\n if (this.value.length !== this.items.length) {\r\n return undefined;\r\n }\r\n return !this.emptyMeansAll;\r\n }\r\n },\r\n methods: {\r\n input(val: any[]) {\r\n this.$emit(\"input\", val);\r\n },\r\n checkAll() {\r\n if (this.allChecked === true) {\r\n this.input([]);\r\n } else {\r\n this.input(\r\n this.emptyMeansAll\r\n ? []\r\n : this.items.map(i => (typeof i === \"object\" ? i.id : i))\r\n );\r\n }\r\n }\r\n }\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n CargoType,\r\n Country,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport {\r\n actorCargoTypes,\r\n actorTypes,\r\n cargoTypeByTruckType,\r\n cargoTypes,\r\n currencies,\r\n deviationCauses,\r\n feeTypes,\r\n loadStatuses,\r\n otherPriceCauses,\r\n routingExactnesses,\r\n truckTypes,\r\n userLevels\r\n} from \"@/scripts/misc/enumLists\";\r\nimport ifNotTabbing from \"@/scripts/misc/ifNotTabbing\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport LocationFilter from \"@/components/shared/input/LocationFilter.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nenum CustomFilterType {\r\n text = \"text\",\r\n autocomplete = \"autocomplete\",\r\n dropdown = \"dropdown\",\r\n dropdownMulti = \"dropdownMulti\",\r\n advanced = \"advanced\"\r\n}\r\n\r\nenum CustomFilterSubtype {\r\n activity = \"activity\",\r\n actorType = \"actorType\",\r\n baseIndexDate = \"baseIndexDate\",\r\n cargoType = \"cargoType\",\r\n client = \"client\",\r\n country = \"country\",\r\n currency = \"currency\",\r\n customer = \"customer\",\r\n deviationCauseMulti = \"deviationCauseMulti\",\r\n feeType = \"feeType\",\r\n location = \"location\",\r\n locationMulti = \"locationMulti\",\r\n locationCargoType = \"locationCargotype\",\r\n locationClient = \"locationClient\",\r\n loadStatus = \"loadStatus\",\r\n lockStatus = \"lockStatus\",\r\n otherPriceCauseMulti = \"otherPriceCauseMulti\",\r\n routingExactness = \"routingExactness\",\r\n supplier = \"supplier\",\r\n tag = \"tag\",\r\n terminal = \"terminal\",\r\n text = \"text\",\r\n truckType = \"truckType\",\r\n truckTypeMulti = \"truckTypeMulti\",\r\n unit = \"unit\",\r\n userLevel = \"userLevel\",\r\n withWithout = \"withWithout\",\r\n yesNo = \"yesNo\"\r\n}\r\n\r\ninterface FilterConfig {\r\n subtype: CustomFilterSubtype;\r\n cargoType?: CargoType;\r\n pickup?: boolean;\r\n agreementEndDates?: number[];\r\n includeInactive?: boolean;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Autocomplete,\r\n Dropdown,\r\n DropdownMulti,\r\n TextSingle,\r\n LocationFilter\r\n },\r\n props: {\r\n value: [Number, String, Boolean, Object, Array],\r\n placeholder: String,\r\n config: Object as () => FilterConfig,\r\n hideCountryFilter: Boolean\r\n },\r\n watch: {\r\n config: {\r\n handler() {\r\n switch (this.config.subtype) {\r\n case this.subtypes.baseIndexDate:\r\n this.fetchbaseIndexDates();\r\n break;\r\n case this.subtypes.client:\r\n this.fetchClients();\r\n break;\r\n case this.subtypes.country:\r\n this.fetchCountries();\r\n break;\r\n case this.subtypes.customer:\r\n this.fetchCustomers();\r\n break;\r\n case this.subtypes.location:\r\n case this.subtypes.locationMulti:\r\n this.fetchCounties();\r\n this.fetchCountries();\r\n break;\r\n case this.subtypes.locationClient:\r\n this.fetchCountiesClient();\r\n this.fetchCountries();\r\n break;\r\n case this.subtypes.locationCargoType:\r\n this.fetchCountiesCargoType();\r\n this.fetchCountries();\r\n break;\r\n case this.subtypes.supplier:\r\n this.fetchSuppliers();\r\n break;\r\n case this.subtypes.tag:\r\n this.fetchTags();\r\n break;\r\n case this.subtypes.terminal:\r\n this.fetchTerminals();\r\n break;\r\n case this.subtypes.unit:\r\n this.fetchUnits();\r\n break;\r\n case this.subtypes.activity:\r\n case this.subtypes.actorType:\r\n case this.subtypes.cargoType:\r\n case this.subtypes.currency:\r\n case this.subtypes.deviationCauseMulti:\r\n case this.subtypes.feeType:\r\n case this.subtypes.loadStatus:\r\n case this.subtypes.lockStatus:\r\n case this.subtypes.otherPriceCauseMulti:\r\n case this.subtypes.routingExactness:\r\n case this.subtypes.truckType:\r\n case this.subtypes.truckTypeMulti:\r\n case this.subtypes.text:\r\n case this.subtypes.userLevel:\r\n case this.subtypes.withWithout:\r\n case this.subtypes.yesNo:\r\n break;\r\n default:\r\n neverHappens(this.config.subtype);\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n dropdownItems(): { id: any; text: any }[] {\r\n switch (this.config.subtype) {\r\n case this.subtypes.activity:\r\n return this.items.activity;\r\n case this.subtypes.actorType:\r\n return this.items.actorTypes;\r\n case this.subtypes.baseIndexDate:\r\n return this.items.baseIndexDates;\r\n case this.subtypes.cargoType:\r\n return this.items.cargoTypes;\r\n case this.subtypes.client:\r\n return this.items.clients;\r\n case this.subtypes.country:\r\n return this.items.countries;\r\n case this.subtypes.currency:\r\n return this.items.currencies;\r\n case this.subtypes.customer:\r\n return this.items.customers;\r\n case this.subtypes.deviationCauseMulti:\r\n return this.items.deviationCauses;\r\n case this.subtypes.feeType:\r\n return this.items.feeTypes;\r\n case this.subtypes.loadStatus:\r\n return this.items.loadStatuses;\r\n case this.subtypes.lockStatus:\r\n return this.items.lockStatuses;\r\n case this.subtypes.otherPriceCauseMulti:\r\n return this.items.otherPriceCauses;\r\n case this.subtypes.routingExactness:\r\n return this.items.routingExactnessItems;\r\n case this.subtypes.supplier:\r\n return this.items.suppliers;\r\n case this.subtypes.tag:\r\n return this.items.tags;\r\n case this.subtypes.terminal:\r\n return this.items.terminals;\r\n case this.subtypes.truckType:\r\n case this.subtypes.truckTypeMulti:\r\n return this.truckTypes;\r\n case this.subtypes.unit:\r\n return this.items.units;\r\n case this.subtypes.userLevel:\r\n return this.items.userLevels;\r\n case this.subtypes.withWithout:\r\n return this.items.withWithout;\r\n case this.subtypes.yesNo:\r\n return this.items.yesNo;\r\n case this.subtypes.text:\r\n case this.subtypes.location:\r\n case this.subtypes.locationMulti:\r\n case this.subtypes.locationCargoType:\r\n case this.subtypes.locationClient:\r\n return [];\r\n default:\r\n return neverHappens(this.config.subtype);\r\n }\r\n },\r\n type(): string {\r\n switch (this.config.subtype) {\r\n case this.subtypes.client:\r\n case this.subtypes.country:\r\n case this.subtypes.customer:\r\n case this.subtypes.supplier:\r\n case this.subtypes.terminal:\r\n return this.types.autocomplete;\r\n case this.subtypes.location:\r\n case this.subtypes.locationMulti:\r\n case this.subtypes.locationCargoType:\r\n case this.subtypes.locationClient:\r\n return this.types.advanced;\r\n case this.subtypes.text:\r\n return this.types.text;\r\n case this.subtypes.activity:\r\n case this.subtypes.actorType:\r\n case this.subtypes.baseIndexDate:\r\n case this.subtypes.cargoType:\r\n case this.subtypes.currency:\r\n case this.subtypes.feeType:\r\n case this.subtypes.loadStatus:\r\n case this.subtypes.lockStatus:\r\n case this.subtypes.routingExactness:\r\n case this.subtypes.tag:\r\n case this.subtypes.truckType:\r\n case this.subtypes.unit:\r\n case this.subtypes.userLevel:\r\n case this.subtypes.withWithout:\r\n case this.subtypes.yesNo:\r\n return this.types.dropdown;\r\n case this.subtypes.truckTypeMulti:\r\n case this.subtypes.deviationCauseMulti:\r\n case this.subtypes.otherPriceCauseMulti:\r\n return this.types.dropdownMulti;\r\n default:\r\n return neverHappens(this.config.subtype);\r\n }\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypes().filter(tt =>\r\n actorCargoTypes()\r\n .filter(c => !this.config.cargoType || this.config.cargoType === c.id)\r\n .some(c => cargoTypeByTruckType(tt.id) === c.id)\r\n );\r\n }\r\n },\r\n methods: {\r\n ifNotTabbing: ifNotTabbing,\r\n input(value: any) {\r\n this.$emit(\"input\", value);\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"search\");\r\n },\r\n fetchbaseIndexDates() {\r\n cached(\"baseIndexPeriods\")\r\n .then(res => {\r\n this.items.baseIndexDates = res.map(\r\n p =>\r\n new RepositoryDto({\r\n id: p.indexDate!.dateTimePrint() as any,\r\n text: p.displayName\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchClients() {\r\n cached(\"clients\", [\r\n true,\r\n true,\r\n this.config.includeInactive ? true : false\r\n ])\r\n .then(res => {\r\n this.items.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCustomers() {\r\n cached(\"customers\")\r\n .then(res => {\r\n this.items.customers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCounties() {\r\n cached(\"counties\", null)\r\n .then(res => {\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n this.items.counties = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountiesClient() {\r\n cached(\r\n \"countiesOnAgreementroutes\",\r\n this.config.cargoType!,\r\n this.config.pickup!\r\n )\r\n .then(res => {\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n this.items.counties = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountiesCargoType() {\r\n cached(\"countiesByCargotype\", this.config.cargoType!, this.config.pickup!)\r\n .then(res => {\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n this.items.counties = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.items.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSuppliers() {\r\n cached(\"suppliers\", [this.config.cargoType || null, true, true])\r\n .then(res => {\r\n this.items.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchTags() {\r\n cached(\"tags\", [this.config.cargoType || null])\r\n .then(res => {\r\n this.items.tags = res.sort().map(t => ({ id: t, text: t }));\r\n this.items.tags.unshift({ id: \"null\", text: t(\"NoTag\") });\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchTerminals() {\r\n cached(\"terminals\")\r\n .then(res => {\r\n this.items.terminals = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchUnits() {\r\n cached(\"units\")\r\n .then(res => {\r\n this.items.units = res.sort().map(u => ({ id: u, text: u }));\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n types: typeof CustomFilterType;\r\n subtypes: typeof CustomFilterSubtype;\r\n items: {\r\n activity: RepositoryDto[];\r\n actorTypes: RepositoryDto[];\r\n baseIndexDates: RepositoryDto[];\r\n cargoTypes: RepositoryDto[];\r\n clients: RepositoryDto[];\r\n counties: RepositoryDto[];\r\n countries: RepositoryDto[];\r\n currencies: RepositoryDto[];\r\n customers: RepositoryDto[];\r\n deviationCauses: RepositoryDto[];\r\n feeTypes: RepositoryDto[];\r\n loadStatuses: RepositoryDto[];\r\n lockStatuses: RepositoryDto[];\r\n otherPriceCauses: RepositoryDto[];\r\n routingExactnessItems: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n withWithout: RepositoryDto[];\r\n yesNo: RepositoryDto[];\r\n tags: { id: string; text: string }[];\r\n terminals: RepositoryDto[];\r\n units: { id: string; text: string }[];\r\n userLevels: RepositoryDto[];\r\n };\r\n } => ({\r\n types: CustomFilterType,\r\n subtypes: CustomFilterSubtype,\r\n items: {\r\n activity: [\r\n new RepositoryDto({\r\n id: true as any,\r\n text: \"Aktiv\"\r\n }),\r\n new RepositoryDto({\r\n id: false as any,\r\n text: \"Inaktiv\"\r\n })\r\n ],\r\n actorTypes: actorTypes(),\r\n baseIndexDates: [],\r\n cargoTypes: cargoTypes(),\r\n clients: [],\r\n counties: [],\r\n countries: [],\r\n currencies: currencies(),\r\n customers: [],\r\n deviationCauses: [\r\n new RepositoryDto({\r\n id: null as any,\r\n text: \"<\" + t(\"NoDeviations\") + \">\"\r\n }),\r\n ...deviationCauses()\r\n ],\r\n feeTypes: feeTypes(),\r\n loadStatuses: loadStatuses(),\r\n lockStatuses: [\r\n new RepositoryDto({\r\n id: true as any,\r\n text: \"Inaktiverade\"\r\n }),\r\n new RepositoryDto({\r\n id: false as any,\r\n text: \"Aktiverade\"\r\n })\r\n ],\r\n otherPriceCauses: [\r\n new RepositoryDto({\r\n id: null as any,\r\n text: \"<\" + t(\"NoDeviations\") + \">\"\r\n }),\r\n ...otherPriceCauses()\r\n ],\r\n routingExactnessItems: routingExactnesses(),\r\n suppliers: [],\r\n withWithout: [\r\n new RepositoryDto({\r\n id: true as any,\r\n text: t(\"With\")\r\n }),\r\n new RepositoryDto({\r\n id: false as any,\r\n text: t(\"Without\")\r\n })\r\n ],\r\n yesNo: [\r\n new RepositoryDto({\r\n id: true as any,\r\n text: t(\"Survey_Yes\")\r\n }),\r\n new RepositoryDto({\r\n id: false as any,\r\n text: t(\"Survey_No\")\r\n })\r\n ],\r\n tags: [],\r\n terminals: [],\r\n units: [],\r\n userLevels: userLevels()\r\n }\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownMulti.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DropdownMulti.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DropdownMulti.vue?vue&type=template&id=f7e026e4&scoped=true&\"\nimport script from \"./DropdownMulti.vue?vue&type=script&lang=ts&\"\nexport * from \"./DropdownMulti.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DropdownMulti.vue?vue&type=style&index=0&id=f7e026e4&scoped=true&lang=css&\"\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 \"f7e026e4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\ninstallComponents(component, {VDivider,VListItem,VListItemAction,VListItemContent,VListItemTitle,VSelect,VSimpleCheckbox})\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CustomFilter.vue?vue&type=template&id=f50da5b2&scoped=true&\"\nimport script from \"./CustomFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./CustomFilter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CustomFilter.vue?vue&type=style&index=0&id=f50da5b2&scoped=true&lang=css&\"\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 \"f50da5b2\",\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('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"200\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"text-truncate\",class:{ clickable: _vm.clickable },style:((\"max-width: \" + _vm.width + \"px; min-height: 21px;\")),on:{\"click\":function () { return (_vm.clickable ? _vm.$emit('click') : undefined); }}},on),[_vm._v(\" \"+_vm._s(_vm.text)+\" \")])]}}])},[_c('span',[_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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n text: ([String, Number, CDate] as any) as () => string | number | CDate,\r\n width: String,\r\n clickable: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EllipsisTableItem.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EllipsisTableItem.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EllipsisTableItem.vue?vue&type=template&id=2f0110b3&\"\nimport script from \"./EllipsisTableItem.vue?vue&type=script&lang=ts&\"\nexport * from \"./EllipsisTableItem.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"height\":\"23\",\"width\":\"23\",\"icon\":\"\",\"disabled\":_vm.disabled}},on),[_c('v-icon',{attrs:{\"size\":\"25\"}},[_vm._v(\" \"+_vm._s(_vm.menuIcon)+\" \")])],1)]}}])},[_c('v-list',{staticClass:\"no-padding\",attrs:{\"dense\":\"\"}},_vm._l((_vm.visibleActions),function(action,index){return _c('v-list-item',{key:index,staticClass:\"medium-padding-sides\",attrs:{\"disabled\":_vm.actionLocked(action.id)},on:{\"click\":function($event){return _vm.open(action.id)}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":action.id === _vm.actionEnum.Annul ? 'error' : 'black'}},[_vm._v(_vm._s(_vm.actionIcon(action)))])],1),_c('v-list-item-title',[_vm._v(_vm._s(action.text))])],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { FileResponse } from \"@/scripts/cld.api\";\r\n\r\nexport const excelPrompt = (res: FileResponse) => {\r\n filePrompt(res, \"application/vnd.ms-excel\");\r\n};\r\n\r\nexport const pdfPrompt = (res: FileResponse) => {\r\n filePrompt(res, \"application/pdf\");\r\n};\r\n\r\nexport const textPrompt = (res: FileResponse) => {\r\n filePrompt(res, \"text/csv\");\r\n};\r\n\r\nconst filePrompt = (res: FileResponse, mimeType: string) => {\r\n const blob = new Blob([res.data], {\r\n type: mimeType\r\n });\r\n const link = document.createElement(\"a\");\r\n link.href = window.URL.createObjectURL(blob);\r\n link.download = res.fileName as string;\r\n link.click();\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadActionPermission,\r\n LoadLockDto,\r\n LoadsClient,\r\n LockStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { LoadAction } from \"@/scripts/types\";\r\nimport { pdfPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number,\r\n loadIds: Array as () => number[]\r\n },\r\n computed: {\r\n loading(): boolean {\r\n return this.actions.length === 0 || this.loadLocks.length === 0;\r\n },\r\n loadLocks(): LoadLockDto[] {\r\n return this.loadIds\r\n .map(id => this.$store.getters[gets.lock](id))\r\n .filter(l => l !== undefined);\r\n },\r\n anyLocked(): boolean {\r\n return this.loadLocks.some(\r\n l => l.lockStatus === LockStatus.LockedBySomeoneElse\r\n );\r\n },\r\n thisLocked(): boolean {\r\n const lock = this.$store.getters[gets.lock](this.loadId);\r\n return (\r\n lock !== undefined && lock.lockStatus === LockStatus.LockedBySomeoneElse\r\n );\r\n },\r\n menuIcon(): string {\r\n return !this.loading && this.thisLocked\r\n ? \"mdi-lock\"\r\n : \"mdi-dots-horizontal\";\r\n },\r\n actions(): LoadAction[] {\r\n return this.loadIds.flatMap(id =>\r\n this.$store.getters[gets.loadActions](id)\r\n );\r\n },\r\n disabled(): boolean {\r\n return (\r\n this.loadIds.length > 0 && !this.loadIds.some(id => id === this.loadId)\r\n );\r\n },\r\n visibleActions(): LoadAction[] {\r\n const allowedActions = this.actions.filter(a => a.allowed);\r\n if (this.loadIds.length === 1) {\r\n return allowedActions;\r\n }\r\n const multiActions = [\r\n LoadActionPermission.Book,\r\n LoadActionPermission.Load,\r\n LoadActionPermission.Unbook,\r\n LoadActionPermission.Annul,\r\n LoadActionPermission.Reorder,\r\n LoadActionPermission.Resign\r\n ];\r\n return multiActions\r\n .filter(\r\n a =>\r\n allowedActions.filter(aa => aa.id === a).length ===\r\n this.loadIds.length\r\n )\r\n .map(a => allowedActions.find(aa => aa.id === a)!);\r\n }\r\n },\r\n methods: {\r\n actionLocked(actionId: LoadActionPermission): boolean {\r\n return (\r\n this.$store.getters[gets.lockNeeded](actionId, this.loadIds) &&\r\n this.anyLocked\r\n );\r\n },\r\n actionIcon(action: LoadAction): string {\r\n return this.actionLocked(action.id) ? \"mdi-lock\" : action.icon!;\r\n },\r\n exportContainerSpec() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .exportContainerPdf(this.loadIds[0])\r\n .then(res => {\r\n pdfPrompt(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n open(actionId: LoadActionPermission) {\r\n if (actionId === LoadActionPermission.ContainerExport) {\r\n this.exportContainerSpec();\r\n } else {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: actionId.toString(),\r\n ids: \"[\" + this.loadIds.toString() + \"]\"\r\n }\r\n });\r\n }\r\n }\r\n },\r\n data: (): {\r\n actionEnum: typeof LoadActionPermission;\r\n actionId?: LoadActionPermission;\r\n } => ({\r\n actionEnum: LoadActionPermission,\r\n actionId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDots.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDots.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDots.vue?vue&type=template&id=121e96d5&scoped=true&\"\nimport script from \"./LoadDots.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDots.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadDots.vue?vue&type=style&index=0&id=121e96d5&scoped=true&lang=css&\"\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 \"121e96d5\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemIcon,VListItemTitle,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"dont-render-newlines info-column\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.checked},on:{\"input\":function($event){return _vm.$emit('check')}}}),_vm._l((_vm.infos),function(info,index){return _c('v-tooltip',{key:index,attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"20\",\"color\":info.color}},on),[_vm._v(\" \"+_vm._s(info.icon)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(info.tooltip))])])})],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('v-btn',{class:_vm.innerClass,attrs:{\"disabled\":_vm.disabled,\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":_vm.click}},[_c('v-icon',{attrs:{\"size\":_vm.size ? _vm.size : 21}},[_vm._v(\" \"+_vm._s(_vm.icon)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Boolean,\r\n disabled: Boolean,\r\n innerClass: String,\r\n radio: Boolean,\r\n size: Number\r\n },\r\n computed: {\r\n icon(): string {\r\n return this.value === true\r\n ? this.iconTrue\r\n : this.value === false\r\n ? this.iconFalse\r\n : this.iconIndeterminate;\r\n },\r\n iconTrue(): string {\r\n return this.radio ? \"mdi-radiobox-marked\" : \"mdi-checkbox-marked\";\r\n },\r\n iconFalse(): string {\r\n return this.radio ? \"mdi-radiobox-blank\" : \"mdi-checkbox-blank-outline\";\r\n },\r\n iconIndeterminate(): string {\r\n return this.radio ? \"mdi-checkbox-blank-circle\" : \"mdi-minus-box\";\r\n }\r\n },\r\n methods: {\r\n click() {\r\n this.$emit(\"input\", !this.value);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTiny.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTiny.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckboxTiny.vue?vue&type=template&id=5ceba098&\"\nimport script from \"./CheckboxTiny.vue?vue&type=script&lang=ts&\"\nexport * from \"./CheckboxTiny.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n DeviationCause,\r\n LoadActionPermission,\r\n LoadListDto,\r\n LoadStatus,\r\n PublishSpeed,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { LoadAction } from \"@/scripts/types\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\ninterface Info {\r\n icon: string;\r\n color: string;\r\n tooltip: string;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CheckboxTiny\r\n },\r\n props: {\r\n load: LoadListDto,\r\n checked: Boolean\r\n },\r\n computed: {\r\n infos(): Info[] {\r\n const infos: (Info | undefined)[] = [\r\n this.missingAgreement,\r\n this.noSupplierLeft,\r\n this.resigned,\r\n this.broadcast,\r\n this.economy,\r\n this.containerExport,\r\n this.spotTenderPrice,\r\n this.spotTenderHasEnded\r\n ];\r\n return infos.filter(i => i !== undefined) as Info[];\r\n },\r\n missingAgreement(): Info | undefined {\r\n if (\r\n this.actorType === ActorType.Client &&\r\n this.load.status === LoadStatus.MissingAgreement &&\r\n this.load.deviationCause !== DeviationCause.SpotTender\r\n ) {\r\n return {\r\n icon: \"mdi-alert-octagon\",\r\n color: \"error\",\r\n tooltip: t(\"MissingAgreement\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n noSupplierLeft(): Info | undefined {\r\n if (\r\n this.actorType === ActorType.Client &&\r\n this.load.status === LoadStatus.Ordered &&\r\n this.load.deviationCause !== DeviationCause.SpotTender &&\r\n this.load.noSupplierLeftToNotify\r\n ) {\r\n return {\r\n icon: \"mdi-alert-octagon\",\r\n color: \"warning\",\r\n tooltip: t(\"AllSuppliersHaveBeenOffered\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n resigned(): Info | undefined {\r\n if (\r\n this.actorType === ActorType.Supplier &&\r\n this.load.resigned &&\r\n this.load.status === LoadStatus.Ordered &&\r\n this.load.deviationCause !== DeviationCause.SpotTender\r\n ) {\r\n return {\r\n icon: \"mdi-cancel\",\r\n color: \"error\",\r\n tooltip: t(\"YouHaveDeclined\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n broadcast(): Info | undefined {\r\n if (\r\n (this.actorType === ActorType.Supplier ||\r\n this.actorType === ActorType.Client) &&\r\n this.load.status === LoadStatus.Ordered &&\r\n this.load.deviationCause !== DeviationCause.SpotTender &&\r\n this.load.publishSpeed === PublishSpeed.Broadcast\r\n ) {\r\n return {\r\n icon: \"mdi-rabbit\",\r\n color: \"error\",\r\n tooltip: t(\"Broadcast\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n economy(): Info | undefined {\r\n if (\r\n (this.actorType === ActorType.Supplier ||\r\n this.actorType === ActorType.Client) &&\r\n this.load.status === LoadStatus.Ordered &&\r\n this.load.deviationCause !== DeviationCause.SpotTender &&\r\n this.load.publishSpeed === PublishSpeed.Economy\r\n ) {\r\n return {\r\n icon: \"mdi-snail\",\r\n color: \"success\",\r\n tooltip: t(\"Economy\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n containerExport(): Info | undefined {\r\n if (\r\n this.actions.some(\r\n a => a.id === LoadActionPermission.ContainerExport && a.allowed\r\n )\r\n ) {\r\n return {\r\n icon: \"mdi-file-pdf-box\",\r\n color: \"error\",\r\n tooltip: t(\"ContainerExport\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n spotTenderPrice(): Info | undefined {\r\n if (this.load.spotTenderPriceTooltipDtos!.length > 0) {\r\n return {\r\n icon: \"mdi-currency-usd\",\r\n color: \"success\",\r\n tooltip: this.load\r\n .spotTenderPriceTooltipDtos!.map(\r\n x => `${truckTypeName(x.truckType)}: ${x.price}`\r\n )\r\n .join(\"\\n\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n spotTenderHasEnded(): Info | undefined {\r\n if (\r\n this.load.deviationCause === DeviationCause.SpotTender &&\r\n this.load.status === LoadStatus.Ordered &&\r\n this.load.spotTenderEndDate &&\r\n this.load.spotTenderEndDate.isBefore(CDate.now(this.actorZone))\r\n ) {\r\n return {\r\n icon: \"mdi-clock-alert\",\r\n color: \"warning\",\r\n tooltip: t(\"SpotTenderTimePassed\")\r\n };\r\n }\r\n return undefined;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actions(): LoadAction[] {\r\n return this.$store.getters[gets.loadActions](this.load.id);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadInfoIcons.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadInfoIcons.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadInfoIcons.vue?vue&type=template&id=39860ace&scoped=true&\"\nimport script from \"./LoadInfoIcons.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadInfoIcons.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadInfoIcons.vue?vue&type=style&index=0&id=39860ace&scoped=true&lang=css&\"\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 \"39860ace\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.date)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [(_vm.date)?_c('span',_vm._g({staticClass:\"text-truncate\"},on),[_vm._v(\" \"+_vm._s(_vm.date)+\" (\"+_vm._s(_vm.date.offsetName)+\") \")]):_vm._e()]}}],null,false,1521741134)},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n date: Object as () => CDate | undefined,\r\n width: String\r\n },\r\n computed: {\r\n tooltip(): string {\r\n if (!this.date) {\r\n return \"\";\r\n }\r\n return `Local time for:\\n${this.date.zoneName} (${this.date.offsetName})`;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateDisplay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateDisplay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateDisplay.vue?vue&type=template&id=09762f34&\"\nimport script from \"./DateDisplay.vue?vue&type=script&lang=ts&\"\nexport * from \"./DateDisplay.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n CargoType,\r\n LoadListContainerDto,\r\n LoadListDto,\r\n LoadSearchCriteriaDto,\r\n TimeZone,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport loadListHeaders from \"@/scripts/misc/loadListHeaders\";\r\nimport { LoadListTab, TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport LoadDots from \"@/components/web/loads/shared/list/LoadDots.vue\";\r\nimport LoadInfoIcons from \"@/components/web/loads/shared/list/LoadInfoIcons.vue\";\r\nimport DateDisplay from \"@/components/shared/ui/DateDisplay.vue\";\r\nimport {\r\n deviationCauseName,\r\n loadStatusName,\r\n otherPriceCauseName,\r\n truckTypeName\r\n} from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n LoadDots,\r\n LoadInfoIcons,\r\n DateDisplay\r\n },\r\n props: {\r\n loading: Boolean,\r\n loadListContainer: LoadListContainerDto,\r\n tableOptions: Object as () => TableOptions,\r\n selectedTab: LoadListTab,\r\n checked: Array as () => number[]\r\n },\r\n watch: {\r\n loadIds: {\r\n handler() {\r\n this.fetchLoadPermissions();\r\n this.fetchLoadLocks();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 285);\r\n },\r\n loadIds(): number[] {\r\n return this.loadListContainer.loads!.map(l => l.id);\r\n },\r\n searchCriteria(): LoadSearchCriteriaDto {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadList,\r\n this.selectedTab.id\r\n );\r\n },\r\n tabConf(): LoadListTab {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadTab,\r\n this.selectedTab.id\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n return loadListHeaders(\r\n this.actorType,\r\n false,\r\n this.tabConf.id,\r\n this.tabConf.headers\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n supplierFilterVisible(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n customerFilterVisible(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n truckTypeText(load: LoadListDto): string {\r\n let retVal = truckTypeName(load.truckType);\r\n if (load.cargoType === CargoType.Container) {\r\n retVal += \" (\" + load.numContainers + \")\";\r\n }\r\n return retVal;\r\n },\r\n loadStatusName: loadStatusName,\r\n deviationCauseText(load: LoadListDto): string | undefined {\r\n if (!load.deviationCause) {\r\n return undefined;\r\n }\r\n return deviationCauseName(load.deviationCause);\r\n },\r\n otherPriceCauseText(load: LoadListDto): string | undefined {\r\n if (!load.otherPriceCause) {\r\n return undefined;\r\n }\r\n return otherPriceCauseName(load.otherPriceCause);\r\n },\r\n fetchLoadPermissions() {\r\n this.$store\r\n .dispatch(actions.fetchPermissions, this.loadIds)\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchLoadLocks() {\r\n if (\r\n this.actorType === ActorType.Client ||\r\n this.actorType === ActorType.Supplier\r\n ) {\r\n this.$store.dispatch(actions.fetchLocks, this.loadIds).catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n presentNextVisibleSupplierDate(d?: CDate): string {\r\n if (!!d && d.isSameOrAfter(CDate.now(this.actorZone))) {\r\n return this.presentDate(d);\r\n }\r\n return \"\";\r\n },\r\n presentDate(d?: CDate): string {\r\n return d === undefined ? \"\" : d.shortDateTimePrint();\r\n }\r\n },\r\n mounted() {\r\n this.$nextTick(function() {\r\n this.intervalId = setInterval(() => {\r\n this.fetchLoadLocks();\r\n }, 25000);\r\n });\r\n },\r\n destroyed() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n },\r\n data: (): { intervalId?: number } => ({\r\n intervalId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadListTable.vue?vue&type=template&id=0cbb0249&\"\nimport script from \"./LoadListTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadListTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-bottom-sheet',{attrs:{\"value\":_vm.dialog,\"persistent\":\"\"}},[_c('v-sheet',{staticClass:\"rounded-top\"},[_c('ContentContainer',[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('Dropdown',{attrs:{\"value\":_vm.selectedTab.id,\"items\":_vm.tabs,\"label\":_vm.$t('TabToEdit'),\"custom-item\":\"\"},on:{\"input\":function (v) { return _vm.$emit('selectTabId', v); }},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.loadListTabName(item.id))+\" \")]}}])})],1),_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"error\",\"height\":\"40\",\"disabled\":_vm.cancelInProgress || _vm.saveInProgress,\"depressed\":\"\"},on:{\"click\":_vm.resetTab}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ResetTab\"))+\" \")],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-sides\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"SelectedColumns\"))+\" \"),_c('v-sheet',{staticClass:\"tiny-vertical-padding side-scrollable\",attrs:{\"elevation\":\"1\",\"color\":\"background-pale\"}},[_c('drop',{attrs:{\"orientation\":\"horizontal\",\"group-name\":\"1\",\"get-child-payload\":function (i) { return _vm.confHeaders[i]; }},on:{\"drop\":function($event){return _vm.handleDrop('top', $event)}}},_vm._l((_vm.confHeaders),function(header){return _c('drag',{key:header.id},[_c('v-sheet',{staticClass:\"header-card tiny-padding-left\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('span',{staticClass:\"subtitle-2 dark-text dont-render-newlines draggable\"},[_vm._v(_vm._s(_vm.$t(header.text || \"\")))])])],1)}),1)],1)],1),_c('v-col',{staticClass:\"no-padding-top no-padding-sides\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AvailableColumns\"))+\" \"),_c('v-sheet',{staticClass:\"tiny-vertical-padding side-scrollable\",attrs:{\"elevation\":\"1\",\"color\":\"background-pale\"}},[_c('drop',{attrs:{\"orientation\":\"horizontal\",\"group-name\":\"1\",\"get-child-payload\":function (i) { return _vm.remainingHeaders[i]; }},on:{\"drop\":function($event){return _vm.handleDrop('bottom', $event)}}},_vm._l((_vm.remainingHeaders),function(header){return _c('drag',{key:header.id},[_c('v-sheet',{staticClass:\"header-card tiny-padding-left\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('span',{staticClass:\"subtitle-2 dark-text dont-render-newlines draggable\"},[_vm._v(_vm._s(_vm.$t(header.text || \"\")))])])],1)}),1)],1)],1)],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"loading\":_vm.cancelInProgress,\"disabled\":_vm.saveInProgress,\"depressed\":\"\"},on:{\"click\":_vm.cancel}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.saveInProgress,\"disabled\":_vm.cancelInProgress,\"depressed\":\"\"},on:{\"click\":function($event){return _vm.save(true)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],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\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport loadListHeaders from \"@/scripts/misc/loadListHeaders\";\r\nimport {\r\n Container as drop,\r\n Draggable as drag,\r\n DropResult\r\n} from \"vue-smooth-dnd\";\r\n\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { LoadListTab, loadListTabName, TableHeader } from \"@/scripts/types\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport ContentContainer from \"@/components/shared/ui/ContentContainer.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ContentContainer,\r\n Dropdown,\r\n drop,\r\n drag\r\n },\r\n props: {\r\n dialog: Boolean,\r\n selectedTab: LoadListTab,\r\n tabs: Array as () => LoadListTab[],\r\n selectedTabIndex: Number\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.save(false);\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n confHeaders(): TableHeader[] {\r\n return loadListHeaders(\r\n this.$store.getters[gets.userInfo].actorType,\r\n true,\r\n this.selectedTab.id,\r\n this.selectedTab.headers\r\n );\r\n },\r\n remainingHeaders(): TableHeader[] {\r\n return loadListHeaders(\r\n this.$store.getters[gets.userInfo].actorType,\r\n true,\r\n this.selectedTab.id\r\n ).filter(h1 => !this.confHeaders.some(h2 => h2.id === h1.id));\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n loadListTabName: loadListTabName,\r\n handleDrop(row: string, drop: DropResult) {\r\n if (drop.removedIndex === drop.addedIndex) {\r\n return;\r\n }\r\n if (row === \"top\") {\r\n if (drop.removedIndex !== null) {\r\n this.selectedTab.headers.splice(drop.removedIndex, 1);\r\n }\r\n if (drop.addedIndex !== null) {\r\n this.selectedTab.headers.splice(drop.addedIndex, 0, drop.payload.id);\r\n }\r\n }\r\n },\r\n save(close: boolean) {\r\n this.saveInProgress = true;\r\n const promises = [];\r\n for (const tab of this.tabs) {\r\n promises.push(\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.LoadTab,\r\n subTypeId: tab.id\r\n })\r\n );\r\n }\r\n Promise.all(promises)\r\n .then(() => {\r\n if (close) {\r\n return this.close();\r\n }\r\n })\r\n .then(() => {\r\n this.saveInProgress = false;\r\n });\r\n },\r\n cancel() {\r\n this.cancelInProgress = true;\r\n this.close().then(() => {\r\n this.cancelInProgress = false;\r\n });\r\n },\r\n async close(): Promise {\r\n return new UsersClient(new ApiConfiguration(this.$store))\r\n .profile()\r\n .then(res => {\r\n return this.$store.dispatch(actions.initUserConf, {\r\n actorType: this.actorType,\r\n zone: this.$store.getters[gets.userInfo].zone,\r\n confs: res.userConfigurations\r\n });\r\n })\r\n .then(() => {\r\n this.$emit(\"close\");\r\n });\r\n },\r\n resetTab() {\r\n this.$store.dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.LoadTab,\r\n subTypeId: this.selectedTab.id,\r\n actorType: this.actorType\r\n });\r\n }\r\n },\r\n data: (): { saveInProgress: boolean; cancelInProgress: boolean } => ({\r\n saveInProgress: false,\r\n cancelInProgress: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTabsEdit.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadListTabsEdit.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadListTabsEdit.vue?vue&type=template&id=43740fea&scoped=true&\"\nimport script from \"./LoadListTabsEdit.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadListTabsEdit.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadListTabsEdit.vue?vue&type=style&index=0&id=43740fea&scoped=true&lang=css&\"\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 \"43740fea\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBottomSheet } from 'vuetify/lib/components/VBottomSheet';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBottomSheet,VBtn,VCol,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._l(([_vm.actionEnum.Details]),function(action){return _c('div',{key:_vm.key + action},[(_vm.mobile)?_c('MobileLoadDetails',{attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}}):_c('LoadDetailsDialog',{attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})],1)}),_vm._l(([_vm.actionEnum.ClientEdit]),function(action){return _c('LoadEditDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"loadCreateCargoType\":_vm.cargoType,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Book]),function(action){return _c('LoadBookDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Load]),function(action){return _c('LoadLoadDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Deliver]),function(action){return _c('LoadDeliverDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Unbook]),function(action){return _c('LoadUnbookDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Reorder]),function(action){return _c('LoadReorderDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.CreateSpotTender]),function(action){return _c('CreateSpotTenderDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.EditSpotTender]),function(action){return _c('ClientEditSpotTenderDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.SupplierSpotTender]),function(action){return _c('SupplierEditSpotTenderDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Resign]),function(action){return _c('LoadResignDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.SupplierEdit]),function(action){return _c('LoadSupplierEditDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Annul]),function(action){return _c('LoadAnnulDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.Deviation]),function(action){return _c('LoadDeviationEditDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.ContainerEdit]),function(action){return _c('LoadEditContainersDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.SupplierEditDocuments]),function(action){return _c('LoadSupplierDocumentsDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})}),_vm._l(([_vm.actionEnum.LoadingSlotEdit]),function(action){return _c('SlotDialog',{key:_vm.key + action,attrs:{\"loadIds\":_vm.loadIds,\"dialog\":_vm.dialogVisible(action),\"actionId\":action},on:{\"close\":function($event){return _vm.unlockAndClose(action)}}})})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":_vm.loading,\"full-height\":\"\",\"no-padding-bottom\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},(_vm.baseValues && _vm.shippingInfo && _vm.dates)?{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",staticClass:\"full-height\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{staticClass:\"full-height\"},[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"8\"}},[_c('LoadDialogBaseValues',{attrs:{\"values\":_vm.baseValues}}),_c('LoadDialogDates',{attrs:{\"cargoType\":_vm.baseValues.cargoType,\"values\":_vm.dates,\"actorType\":_vm.actorType}}),_c('LoadDialogEventDates',{attrs:{\"values\":_vm.dates,\"supplierRank\":_vm.shippingInfo.ranking}}),_c('LoadDialogShippingInfo',{attrs:{\"values\":_vm.shippingInfo,\"loadId\":_vm.loadId,\"loadStatus\":_vm.loadStatus}}),_c('LoadDialogContainerInfo',{attrs:{\"cargoType\":_vm.baseValues.cargoType,\"terminalName\":_vm.shippingInfo.terminalName,\"blNo\":_vm.shippingInfo.blNo,\"containerValues\":_vm.containerValues}}),_c('LoadDialogMachineTransportInfo',{attrs:{\"cargoType\":_vm.baseValues.cargoType,\"escortCarPrice\":_vm.shippingInfo.escortCarPrice,\"vtlPrice\":_vm.shippingInfo.vtlPrice}})],1),_c('v-col',{staticClass:\"large-padding-left no-padding-top small-margin-top background-pale rounded\",attrs:{\"cols\":\"4\"}},[_c('Accordion',{attrs:{\"agreementDate\":_vm.dates.pickupEarliest,\"agreementRouteId\":_vm.baseValues.agreementRouteId,\"truckType\":_vm.baseValues.truckType,\"cargoType\":_vm.baseValues.cargoType,\"publishSpeed\":_vm.baseValues.publishSpeed,\"loadStatus\":_vm.loadStatus,\"loadId\":_vm.loadId,\"content\":_vm.content,\"subLocations\":_vm.subLocations,\"relatedLoads\":_vm.relatedLoads,\"containerValues\":_vm.containerValues,\"assortedValues\":_vm.content,\"infoTexts\":_vm.content,\"deviations\":_vm.deviationValues,\"documents\":_vm.documents,\"editable\":false,\"customsInfoRequired\":_vm.customsInfoRequired}})],1)],1)],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_vm._l((_vm.actions.filter(function (a) { return a.allowed; })),function(action,index){return _c('v-col',{key:index,staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\"},on:{\"click\":function($event){return _vm.actionClick(action.id)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\",\"color\":action.id === _vm.actionEnum.Annul ? 'error' : 'btn-outlined'}},[_vm._v(_vm._s(action.icon))]),_vm._v(\" \"+_vm._s(action.text)+\" \")],1)],1)}),_c('v-spacer')]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.lockNeeded && _vm.lock)?_c('div',[_vm._v(\" \"+_vm._s(_vm.time)+\" \"),_c('v-icon',{class:_vm.small ? 'tiny-margin-bottom' : 'small-margin-bottom',attrs:{\"color\":_vm.color,\"size\":_vm.small ? 16 : 24}},[_vm._v(\" \"+_vm._s(_vm.icon)+\" \")])],1):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n LoadActionPermission,\r\n LoadLockDto,\r\n LockStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { LoadAction } from \"@/scripts/types\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number,\r\n actionId: Number as () => LoadActionPermission,\r\n small: Boolean\r\n },\r\n computed: {\r\n lock(): LoadLockDto | undefined {\r\n return this.$store.getters[gets.lock](this.loadId);\r\n },\r\n action(): LoadAction {\r\n return this.$store.getters\r\n .loadActions(this.loadId)\r\n .find((a: LoadAction) => a.id === this.actionId);\r\n },\r\n lockNeeded(): boolean {\r\n return this.action.lockNeeded;\r\n },\r\n color(): string {\r\n return this.lock!.lockStatus === LockStatus.Unlocked ? \"error\" : \"black\";\r\n },\r\n icon(): string {\r\n return this.lock!.lockStatus === LockStatus.Unlocked\r\n ? \"mdi-lock-open-variant\"\r\n : \"mdi-lock\";\r\n },\r\n time(): string {\r\n let seconds = this.lock!.secondsLeft;\r\n if (seconds <= 0 || seconds >= 3600) {\r\n return \"\";\r\n }\r\n if (seconds >= 180) {\r\n seconds = Math.ceil(seconds / 60) * 60;\r\n }\r\n return new Date(seconds * 1000).toISOString().substr(14, 5);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadLock.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadLock.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadLock.vue?vue&type=template&id=6d99dbbc&\"\nimport script from \"./LoadLock.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadLock.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('GeneralValues')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"8\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AgreementRoute'),\"value\":_vm.values.agreementRoute}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckType'),\"value\":_vm.truckTypeName(_vm.values.truckType)}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLocation'),\"value\":_vm.values.pickupLocation}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupAddress'),\"value\":_vm.values.pickupAddress,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupInformation'),\"value\":_vm.values.pickupInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryLocation'),\"value\":_vm.values.deliveryLocation}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryAddress'),\"value\":_vm.values.deliveryAddress,\"clickable\":\"\"},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.values.consigneeAppendixId)?_c('v-btn',{staticClass:\"tiny-padding-bottom\",attrs:{\"icon\":\"\",\"width\":\"24\",\"height\":\"22\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showConsigneeInfo()}}},[_c('v-icon',{attrs:{\"size\":\"22\",\"color\":\"cyan\"}},[_vm._v(\" mdi-information-outline \")])],1):_vm._e()]},proxy:true}])}),_c('AppendixConsigneeDialog',{attrs:{\"appendixId\":_vm.selectedConsigneeId},on:{\"close\":function($event){return _vm.closeConsigneeInfo()}}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DestinationInformation'),\"value\":_vm.values.deliveryInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('Distance')) + \" (km)\"),\"value\":_vm.distance}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Emission'),\"value\":_vm.emission}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PublishSpeed'),\"value\":_vm.publishSpeedName(_vm.values.publishSpeed)}})],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('DialogCard',{attrs:{\"dialog\":!!_vm.appendixId,\"loading\":!_vm.data,\"title\":_vm.$t('ConsigneeInformation'),\"width\":500},on:{\"close\":_vm.close},scopedSlots:_vm._u([(_vm.data)?{key:\"body\",fn:function(){return [_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"body-1 black-text font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.data.consigneeName)+\" \")])]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},_vm._l((_vm.keys),function(key){return _c('div',{key:key,staticClass:\"body-2 black-text\"},[_vm._v(\" \"+_vm._s(key)+\": \")])}),0),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},_vm._l((_vm.keys),function(key){return _c('div',{key:key,staticClass:\"body-2 blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.data[key])+\" \")])}),0)],1)],1)]},proxy:true}:null],null,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\r\nimport Vue from \"vue\";\r\nimport { ApiConfiguration, LoadsClient } from \"@/scripts/cld.api\";\r\nimport { appendixName } from \"@/scripts/misc/enumNames\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n appendixId: Number\r\n },\r\n watch: {\r\n appendixId: {\r\n handler() {\r\n this.fetchAppendixData();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n keys(): string[] {\r\n return Object.keys(this.data!).filter(\r\n k => ![\"type\", \"consigneeName\"].includes(k)\r\n );\r\n }\r\n },\r\n methods: {\r\n appendixName: appendixName,\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n fetchAppendixData() {\r\n if (!this.appendixId) {\r\n this.data = undefined;\r\n return;\r\n }\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .appendixData(this.appendixId)\r\n .then(res => {\r\n this.data = JSON.parse(res.json!);\r\n });\r\n }\r\n },\r\n data: (): {\r\n data?: any;\r\n exporting: boolean;\r\n } => ({\r\n data: undefined,\r\n exporting: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppendixConsigneeDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppendixConsigneeDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppendixConsigneeDialog.vue?vue&type=template&id=3bfa2932&\"\nimport script from \"./AppendixConsigneeDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppendixConsigneeDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadDetailsBaseValuesDto } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport AppendixConsigneeDialog from \"@/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport { publishSpeedName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsBaseValuesDto\r\n },\r\n components: {\r\n ReadOnlyText,\r\n AppendixConsigneeDialog,\r\n GreyTitle\r\n },\r\n computed: {\r\n distance(): string {\r\n if (this.values.distance) {\r\n return this.values.distance.toString();\r\n }\r\n return \"-\";\r\n },\r\n emission(): string {\r\n if (this.values.emission) {\r\n return this.values.emission.toString();\r\n }\r\n return \"-\";\r\n }\r\n },\r\n methods: {\r\n publishSpeedName: publishSpeedName,\r\n truckTypeName: truckTypeName,\r\n showConsigneeInfo() {\r\n this.selectedConsigneeId = this.values.consigneeAppendixId;\r\n },\r\n closeConsigneeInfo() {\r\n this.selectedConsigneeId = undefined;\r\n }\r\n },\r\n data: (): {\r\n selectedConsigneeId?: Number | undefined;\r\n } => ({\r\n selectedConsigneeId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogBaseValues.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogBaseValues.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogBaseValues.vue?vue&type=template&id=f7103982&\"\nimport script from \"./LoadDialogBaseValues.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogBaseValues.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('Dates')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('RegDate'),\"value\":_vm.values.regDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.values.pickupEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('PickupLatest'),\"value\":_vm.values.pickupLatest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[(_vm.isRoad)?_c('Checkbox',{attrs:{\"readonly\":\"\",\"label\":_vm.$t('RequiredPickupDate'),\"value\":_vm.values.mandatoryBookedPickup,\"tooltipText\":_vm.$t('RequiredPickupDateInfo'),\"toolTip\":_vm.isSupplier && _vm.values.mandatoryBookedPickup && _vm.isRoad,\"small-font\":\"\"}}):_vm._e()],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('BookingDate'),\"value\":_vm.values.bookingDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"value\":_vm.values.deliverEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('DeliveryLatest'),\"value\":_vm.values.deliverLatest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[(_vm.isRoad)?_c('Checkbox',{attrs:{\"readonly\":\"\",\"label\":_vm.$t('RequiredDeliveryDate'),\"value\":_vm.values.mandatoryBookedDelivery,\"small-font\":\"\",\"tooltipText\":_vm.$t('RequiredDeliveryDateInfo'),\"toolTip\":_vm.isSupplier && _vm.values.mandatoryBookedDelivery && _vm.isRoad}}):_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',{staticClass:\"outer\"},[_c('div',{staticClass:\"label-cld small-text ellipsis-text dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"value-wrapper\"},on),[_c('div',{staticClass:\"value-cld ellipsis-text dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.displayValue)+\" \")])])]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n label: String,\r\n value: Object as () => CDate | undefined\r\n },\r\n computed: {\r\n displayValue(): string | undefined {\r\n if (!this.value) {\r\n return undefined;\r\n }\r\n if (CDate.isCDate(this.value)) {\r\n return (\r\n this.value.shortDateTimePrint() + \" \" + `(${this.value.offsetName})`\r\n );\r\n }\r\n return this.value.toString();\r\n },\r\n tooltip(): string {\r\n if (!this.value) {\r\n return \"\";\r\n }\r\n return `Local time for:\\n${this.value.zoneName} (${this.value.offsetName})`;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadOnlyDate.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ReadOnlyDate.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ReadOnlyDate.vue?vue&type=template&id=6be4482f&scoped=true&\"\nimport script from \"./ReadOnlyDate.vue?vue&type=script&lang=ts&\"\nexport * from \"./ReadOnlyDate.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ReadOnlyDate.vue?vue&type=style&index=0&id=6be4482f&scoped=true&lang=css&\"\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 \"6be4482f\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'readonly-wrapper': this.readonly }},[_c('v-checkbox',{attrs:{\"input-value\":_vm.value,\"tabindex\":_vm.tabindex,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"hide-details\":\"\"},on:{\"change\":function (v) { return _vm.$emit('input', !!v); }},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"align-center-flex-row\"},[_c('span',{class:_vm.smallFont ? 'small' : ''},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")]),(_vm.tooltipText !== undefined && _vm.toolTip)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"clickable small-padding-left\",attrs:{\"size\":\"20\",\"color\":\"cyan\"}},on),[_vm._v(\" mdi-information-outline \")])]}}],null,false,2983185740)},[_c('span',[_vm._v(_vm._s(_vm.tooltipText))])]):_vm._e()],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Boolean,\r\n label: String,\r\n tabindex: String,\r\n disabled: Boolean,\r\n readonly: Boolean,\r\n tooltipText: String,\r\n toolTip: Boolean,\r\n smallFont: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Checkbox.vue?vue&type=template&id=7b5a1866&scoped=true&\"\nimport script from \"./Checkbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./Checkbox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Checkbox.vue?vue&type=style&index=0&id=7b5a1866&scoped=true&lang=css&\"\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 \"7b5a1866\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCheckbox,VIcon,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadDetailsDatesDto, CargoType, ActorType } from \"@/scripts/cld.api\";\r\nimport ReadOnlyDate from \"@/components/shared/ui/ReadOnlyDate.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsDatesDto,\r\n cargoType: Number as () => CargoType,\r\n actorType: Number as () => ActorType\r\n },\r\n components: {\r\n ReadOnlyDate,\r\n Checkbox,\r\n GreyTitle\r\n },\r\n computed: {\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogDates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogDates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogDates.vue?vue&type=template&id=78c609c6&\"\nimport script from \"./LoadDialogDates.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogDates.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('EventDates')}})],1),(_vm.isSupplier)?_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('VisibleForNextSupplier'),\"value\":_vm.nextVisible}})],1):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding\",class:_vm.isSupplier ? 'no-padding-left' : '',attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('Loaded'),\"value\":_vm.values.loaded}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedPickupDate'),\"value\":_vm.values.bookedPickup},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.loadingSlotsText)?_c('v-tooltip',{attrs:{\"top\":\"\",\"text\":_vm.loadingSlotsText},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"tiny-padding-bottom clickable\",attrs:{\"size\":\"20\",\"color\":\"green\",\"width\":\"20\",\"height\":\"20\"}},on),[_vm._v(\" mdi-calendar-check \")])]}}],null,false,329835682)},[_c('span',[_vm._v(_vm._s(_vm.loadingSlotsText))])]):_vm._e()]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedPickupInfo'),\"value\":_vm.values.bookedPickupInfo,\"clickable\":\"\"}})],1),(_vm.isSupplier)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Ranking'),\"value\":_vm.supplierRank}})],1):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding\",class:_vm.isSupplier ? 'no-padding-left' : '',attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('Delivered'),\"value\":_vm.values.delivered}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('BookedDeliveryDate'),\"value\":_vm.values.bookedDelivery}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":_vm.isSupplier ? 3 : 4}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedDeliveryInfo'),\"value\":_vm.values.bookedDeliveryInfo,\"clickable\":\"\"}})],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { ActorType, LoadDetailsDatesDto, TimeZone } from \"@/scripts/cld.api\";\r\nimport ReadOnlyDate from \"@/components/shared/ui/ReadOnlyDate.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsDatesDto,\r\n supplierRank: Number\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle,\r\n ReadOnlyDate\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n nextVisible(): string {\r\n if (this.values.visibleToNextSupplier !== undefined) {\r\n if (\r\n CDate.now(this.actorZone).isSameOrAfter(\r\n this.values.visibleToNextSupplier!\r\n )\r\n ) {\r\n return this.$t(\"AlreadyVisible\").toString();\r\n } else {\r\n return this.values.visibleToNextSupplier! === undefined\r\n ? \"\"\r\n : this.values.visibleToNextSupplier!.shortDateTimePrint();\r\n }\r\n }\r\n return \"\";\r\n },\r\n loadingSlotsText(): string {\r\n let text = \"\";\r\n this.values.loadingSlots!.forEach(x => {\r\n text +=\r\n x.loadingDockName +\r\n \"\\n\" +\r\n x.startTime.shortDateTimePrintSeparated() +\r\n \" - \" +\r\n x.endTime.shortDateTimePrintSeparated() +\r\n \"\\n\";\r\n });\r\n return text;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogEventDates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogEventDates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogEventDates.vue?vue&type=template&id=9b77ec18&\"\nimport script from \"./LoadDialogEventDates.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogEventDates.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCol,VIcon,VRow,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ShippingInformation')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Client')},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('ActorInformation'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewClient(_vm.values.clientId)}}})]},proxy:true}]),model:{value:(_vm.values.clientName),callback:function ($$v) {_vm.$set(_vm.values, \"clientName\", $$v)},expression:\"values.clientName\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Supplier')},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.values.supplierId)?_c('InfoTooltip',{attrs:{\"text\":_vm.$t('ActorInformation'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewSupplier(_vm.values.supplierId)}}}):_vm._e()]},proxy:true}]),model:{value:(_vm.values.supplierName),callback:function ($$v) {_vm.$set(_vm.values, \"supplierName\", $$v)},expression:\"values.supplierName\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Customer')},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.isClient && _vm.values.customerId)?_c('InfoTooltip',{attrs:{\"text\":_vm.$t('ActorInformation'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewCustomer(_vm.values.customerId)}}}):_vm._e()]},proxy:true}]),model:{value:(_vm.values.customerName),callback:function ($$v) {_vm.$set(_vm.values, \"customerName\", $$v)},expression:\"values.customerName\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[(_vm.transportNoVisible)?_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TransportNo')},model:{value:(_vm.values.transportNo),callback:function ($$v) {_vm.$set(_vm.values, \"transportNo\", $$v)},expression:\"values.transportNo\"}}):_vm._e()],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Unit')},model:{value:(_vm.values.unit),callback:function ($$v) {_vm.$set(_vm.values, \"unit\", $$v)},expression:\"values.unit\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('ReferenceNo')},model:{value:(_vm.values.referenceNo),callback:function ($$v) {_vm.$set(_vm.values, \"referenceNo\", $$v)},expression:\"values.referenceNo\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('ConsignmentNote')},model:{value:(_vm.values.consignmentNote),callback:function ($$v) {_vm.$set(_vm.values, \"consignmentNote\", $$v)},expression:\"values.consignmentNote\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Note'),\"clickable\":\"\"},model:{value:(_vm.values.note),callback:function ($$v) {_vm.$set(_vm.values, \"note\", $$v)},expression:\"values.note\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckNo')},model:{value:(_vm.values.truckNo),callback:function ($$v) {_vm.$set(_vm.values, \"truckNo\", $$v)},expression:\"values.truckNo\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadID')},model:{value:(_vm.loadId),callback:function ($$v) {_vm.loadId=$$v},expression:\"loadId\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadOrderNo')},model:{value:(_vm.values.loadOrderNo),callback:function ($$v) {_vm.$set(_vm.values, \"loadOrderNo\", $$v)},expression:\"values.loadOrderNo\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingNo')},model:{value:(_vm.values.bookingNo),callback:function ($$v) {_vm.$set(_vm.values, \"bookingNo\", $$v)},expression:\"values.bookingNo\"}})],1)],1),_c('ActorDialog',{attrs:{\"actorIdToView\":_vm.actorIdToView,\"actorTypeToView\":_vm.actorTypeToView},on:{\"close\":function () {\n _vm.actorIdToView = undefined;\n _vm.actorTypeToView = undefined;\n }}})],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.text || _vm.disableOnEmpty)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":_vm.color,\"size\":_vm.small ? 20 : undefined,\"disabled\":!_vm.text && _vm.disableOnEmpty},on:{\"click\":function($event){return _vm.$emit('click')}}},on),[_vm._v(\" \"+_vm._s(_vm.icon ? _vm.icon : \"mdi-information\")+\" \")])]}}],null,false,300279062)},[_c('span',[_vm._v(_vm._s(_vm.text))])]):_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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n text: String,\r\n icon: String,\r\n color: String,\r\n disableOnEmpty: Boolean,\r\n small: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoTooltip.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoTooltip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoTooltip.vue?vue&type=template&id=0f44bd72&\"\nimport script from \"./InfoTooltip.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoTooltip.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VIcon,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.actorIdToView !== undefined,\"title\":_vm.actorTypeToView ? _vm.actorTypeName(_vm.actorTypeToView) : '',\"width\":900},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [(_vm.documentsVisible)?_c('v-btn',{on:{\"click\":_vm.openDocuments}},[_c('v-icon',{attrs:{\"size\":\"16\",\"left\":\"\"}},[_vm._v(\"mdi-file-document-multiple-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"TermsOfAgreement\") + \" & \" + _vm.$t(\"InvoicingInformation\"))+\" \")],1):_vm._e()]},proxy:true},{key:\"body\",fn:function(){return [_c('ActorDialogTabs',{attrs:{\"actorIdToView\":_vm.actorIdToView,\"actorTypeToView\":_vm.actorTypeToView}})]},proxy:true}])})}\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('v-tabs',{attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},_vm._l((_vm.tabs.filter(function (t) { return t.visible; })),function(tab){return _c('v-tab',{key:tab.id},[_vm._v(\" \"+_vm._s(tab.name)+\" \")])}),1),(_vm.actor)?_c('v-tabs-items',{model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},[_c('v-tab-item',{attrs:{\"value\":_vm.tabIndexById(0)}},[_c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.name,\"label\":_vm.$t('Name')}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.orgNo,\"label\":_vm.$t('OrgNo')}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.countryName(_vm.actor.country),\"label\":_vm.$t('Country')}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.mainContactName,\"label\":_vm.$t('MainContact')}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.mainContactEmail,\"label\":_vm.$t('MainContactEmail')}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.mainContactPhone,\"label\":_vm.$t('MainContactPhone')}})],1),(_vm.viewingClient || _vm.viewingSupplier)?_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.regDate,\"label\":_vm.$t('EnteredLasset'),\"withoutOffsetAndTime\":\"\"}})],1):_vm._e(),(_vm.viewingSupplier)?_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.contractAddress,\"label\":_vm.$t('Address'),\"clickable\":\"\"}})],1):_vm._e(),(_vm.viewingSupplier)?_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"value\":_vm.actor.actorInfo || ' ',\"label\":_vm.$t('OtherInformation'),\"rows\":3,\"readonly\":\"\"}})],1):_vm._e(),(_vm.viewingClient)?_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"value\":_vm.actor.actorInfo || ' ',\"label\":_vm.$t('Contact'),\"rows\":3,\"readonly\":\"\"}})],1):_vm._e(),(_vm.viewingClient)?_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"value\":_vm.actor.openingHours || ' ',\"label\":_vm.$t('OpeningHours'),\"rows\":3,\"readonly\":\"\"}})],1):_vm._e()],1)],1),_c('v-tab-item',{attrs:{\"value\":_vm.tabIndexById(1)}},[_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Ranking\"))+\" \")]),_vm._l((_vm.publishRuleTypes()),function(type){return _c('th',{key:type.id},[_vm._v(\" \"+_vm._s(type.text)+\" \")])})],2)]),_c('tbody',_vm._l((_vm.publishRules),function(rule,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(index + 1)+\" \")]),_vm._l((rule.publishRuleRows),function(row){return _c('td',{key:row.publishRuleType},[_vm._v(\" \"+_vm._s(row.delay)+\"h \")])})],2)}),0)])],1),_c('v-tab-item',{attrs:{\"value\":_vm.tabIndexById(2)}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('WorkingHours')}}),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"DayType\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayStart\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayEnd\"))+\" \")])])]),_c('tbody',_vm._l((_vm.dayTypes()),function(dayType){return _c('tr',{key:dayType.id},[_c('td',[_vm._v(\" \"+_vm._s(dayType.text)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.startTime(dayType.id) ? _vm.startTime(dayType.id) : _vm.$t(\"ClosedAllDay\"))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.endTime(dayType.id) ? _vm.endTime(dayType.id) : _vm.$t(\"ClosedAllDay\"))+\" \")])])}),0)]),(_vm.holidays.length > 0)?_c('div',{staticClass:\"medium-padding-top\"},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('DeviatingDays')}})],1):_vm._e(),(_vm.holidays.length > 0)?_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"DayType\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayStart\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayEnd\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Description\"))+\" \")])])]),_c('tbody',_vm._l((_vm.holidays),function(holiday){return _c('tr',{key:holiday.id},[_c('td',[_vm._v(\" \"+_vm._s(holiday.date.datePrint())+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(holiday.start ? ((holiday.start.hoursAndMinutes()) + \" (\" + _vm.clientTimeZoneOffsetName + \")\") : _vm.$t(\"ClosedAllDay\"))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(holiday.stop ? ((holiday.stop.hoursAndMinutes()) + \" (\" + _vm.clientTimeZoneOffsetName + \")\") : _vm.$t(\"ClosedAllDay\"))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(holiday.description)+\" \")])])}),0)]):_vm._e()],1),_c('v-tab-item',{attrs:{\"value\":_vm.tabIndexById(3)}},[_vm._v(\" \"+_vm._s(_vm.superAdminDescription)+\" \"),_vm._l((_vm.superAdmins),function(u,index){return _c('v-row',{key:index},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":u.name,\"label\":_vm.$t('Name')}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":u.email,\"label\":_vm.$t('Email')}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":u.mobileNo,\"label\":_vm.$t('PhoneNumber')}})],1)],1)})],2)],1):_c('Spinner',{attrs:{\"size\":180,\"top-margin\":\"\",\"bottom-margin\":\"\"}})],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',{class:{ 'input-compact': _vm.compact }},[_c('v-textarea',{ref:_vm.refString,attrs:{\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"rows\":_vm.rows || 3,\"color\":_vm.readonly ? 'grey' : undefined,\"readonly\":_vm.readonly,\"disabled\":_vm.disabled,\"rules\":_vm.rules,\"maxlength\":_vm.maxLength,\"counter\":!!_vm.maxLength,\"autofocus\":_vm.autofocus,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"spellcheck\":false,\"autocomplete\":\"off\",\"outlined\":\"\",\"auto-grow\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': !_vm.value }},[_vm._v(\" * \")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String,\r\n label: String,\r\n placeholder: String,\r\n rows: Number,\r\n readonly: Boolean,\r\n disabled: Boolean,\r\n rules: Array,\r\n asterisk: Boolean,\r\n maxLength: Number,\r\n refString: String,\r\n autofocus: Boolean,\r\n tabindex: String,\r\n onlyOnBlur: Boolean,\r\n compact: Boolean\r\n },\r\n methods: {\r\n input(val: string) {\r\n this.$emit(\"change\");\r\n this.newValue(val, !this.onlyOnBlur);\r\n },\r\n newValue(val: string | null, instant: boolean) {\r\n if (!val) {\r\n val = null;\r\n }\r\n if (instant) {\r\n this.emitValue(val);\r\n } else {\r\n this.emitValueWhenFinished(val);\r\n }\r\n },\r\n emitValue(val: string | null) {\r\n this.$emit(\"input\", val);\r\n },\r\n emitValueWhenFinished(val: string | null) {\r\n const unique = nextUnique();\r\n this.inputTracker = unique;\r\n setTimeout(() => {\r\n if (this.inputTracker === unique) {\r\n this.emitValue(val);\r\n }\r\n }, 400);\r\n }\r\n },\r\n data: (): { inputTracker: number } => ({\r\n inputTracker: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextMulti.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextMulti.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TextMulti.vue?vue&type=template&id=616e8ebc&scoped=true&\"\nimport script from \"./TextMulti.vue?vue&type=script&lang=ts&\"\nexport * from \"./TextMulti.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TextMulti.vue?vue&type=style&index=0&id=616e8ebc&scoped=true&lang=css&\"\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 \"616e8ebc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VTextarea})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport {\r\n ActorDetailsDto,\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n Country,\r\n DayType,\r\n HolidayDto,\r\n PublishRuleDto,\r\n RepositoryDto,\r\n SuperAdminDto,\r\n TimeZone,\r\n WorkingHoursDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { dayTypes, publishRuleTypes } from \"@/scripts/misc/enumLists\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ReadOnlyText,\r\n TextMulti,\r\n Spinner,\r\n GreyTitle\r\n },\r\n props: {\r\n actorIdToView: Number as () => number | undefined,\r\n actorTypeToView: Number as () => ActorType\r\n },\r\n watch: {\r\n actorIdToView: {\r\n handler() {\r\n if (this.actorIdToView) {\r\n this.init();\r\n } else {\r\n this.actor = undefined;\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n viewingClient(): boolean {\r\n return this.actorTypeToView === ActorType.Client;\r\n },\r\n viewingSupplier(): boolean {\r\n return this.actorTypeToView === ActorType.Supplier;\r\n },\r\n tabs(): { id: number; name: string; visible: boolean }[] {\r\n return [\r\n {\r\n id: 0,\r\n name: t(\"GeneralValues\"),\r\n visible: true\r\n },\r\n {\r\n id: 1,\r\n name: t(\"PublishRules\"),\r\n visible: this.showClientSpecificData\r\n },\r\n {\r\n id: 2,\r\n name: t(\"WorkingHours\"),\r\n visible: this.showClientSpecificData\r\n },\r\n {\r\n id: 3,\r\n name: t(\"SuperAdmin\"),\r\n visible: this.actorIdToView === this.actorId\r\n }\r\n ];\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorId(): number {\r\n return this.$store.getters[gets.userInfo].actorId;\r\n },\r\n showClientSpecificData(): boolean {\r\n return this.viewingClient && this.actorType === ActorType.Supplier;\r\n },\r\n superAdminDescription(): string {\r\n return t(\"MyActorSuperAdminsText\").replace(\r\n \"{0}\",\r\n this.$store.getters[gets.userInfo].actorName\r\n );\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n clientTimeZoneOffsetName(): string {\r\n return CDate.now(this.clientTimeZone!).offsetName;\r\n }\r\n },\r\n methods: {\r\n publishRuleTypes: publishRuleTypes,\r\n dayTypes: dayTypes,\r\n startTime(dayType: DayType): string {\r\n const d = this.workingHours.find(w => w.dayType === dayType);\r\n return d\r\n ? `${d.start.hoursAndMinutes()} ${\r\n this.clientTimeZone ? `(${this.clientTimeZoneOffsetName})` : ``\r\n }`\r\n : \"\";\r\n },\r\n endTime(dayType: DayType): string {\r\n const d = this.workingHours.find(w => w.dayType === dayType);\r\n return d\r\n ? `${d.stop.hoursAndMinutes()} ${\r\n this.clientTimeZone ? `(${this.clientTimeZoneOffsetName})` : ``\r\n }`\r\n : \"\";\r\n },\r\n tabIndexById(id: number): number {\r\n return this.tabs.filter(t => t.visible).findIndex(t => t.id === id);\r\n },\r\n countryName(country: Country): string | undefined {\r\n const c = this.countries.find(c => c.id === country);\r\n if (!c) {\r\n return undefined;\r\n }\r\n return c.text;\r\n },\r\n init() {\r\n this.selectedTab = 0;\r\n this.fetchActor();\r\n this.fetchCountries();\r\n if (this.showClientSpecificData) {\r\n this.fetchPublishRules();\r\n this.fetchSchedule();\r\n }\r\n if (this.actorIdToView === this.actorId) {\r\n this.fetchSuperAdmins();\r\n }\r\n },\r\n fetchActor() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .details(this.actorIdToView!)\r\n .then(res => {\r\n this.actor = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPublishRules() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .publishRules(this.actorIdToView!)\r\n .then(res => {\r\n this.publishRules = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSchedule() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientSchedule(this.actorIdToView!)\r\n .then(res => {\r\n this.workingHours = res.workingHours!;\r\n this.clientTimeZone = res.clientTimeZone;\r\n this.holidays = res\r\n .holidays!.filter(\r\n h =>\r\n h.date > CDate.now(this.actorZone).addDays(-1) &&\r\n h.date < CDate.now(this.actorZone).addYears(1)\r\n )\r\n .sort((a, b) => a.date.toSeconds() - b.date.toSeconds());\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSuperAdmins() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .superAdmins()\r\n .then(res => {\r\n this.superAdmins = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n selectedTab: number;\r\n actor: ActorDetailsDto | undefined;\r\n publishRules: PublishRuleDto[];\r\n workingHours: WorkingHoursDto[];\r\n holidays: HolidayDto[];\r\n countries: RepositoryDto[];\r\n superAdmins: SuperAdminDto[];\r\n clientTimeZone: TimeZone | undefined;\r\n } => ({\r\n selectedTab: 0,\r\n actor: undefined,\r\n publishRules: [],\r\n workingHours: [],\r\n holidays: [],\r\n countries: [],\r\n superAdmins: [],\r\n clientTimeZone: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorDialogTabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorDialogTabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorDialogTabs.vue?vue&type=template&id=021c1e90&\"\nimport script from \"./ActorDialogTabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorDialogTabs.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VCol,VRow,VSimpleTable,VTab,VTabItem,VTabs,VTabsItems})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport ActorDialogTabs from \"@/components/web/actor/ActorDialogTabs.vue\";\r\nimport { ActorType, UserLevel } from \"@/scripts/cld.api\";\r\nimport { actorTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n ActorDialogTabs\r\n },\r\n props: {\r\n actorIdToView: Number as () => number | undefined,\r\n actorTypeToView: Number as () => ActorType\r\n },\r\n computed: {\r\n userLevel(): UserLevel | undefined {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n },\r\n atleastUser(): boolean {\r\n return (\r\n this.userLevel !== undefined &&\r\n [UserLevel.User, UserLevel.Admin, UserLevel.SuperAdmin].includes(\r\n this.userLevel\r\n )\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n documentsVisible(): boolean {\r\n return (\r\n this.actorTypeToView === ActorType.Client &&\r\n this.actorType === ActorType.Supplier &&\r\n this.atleastUser\r\n );\r\n }\r\n },\r\n methods: {\r\n actorTypeName: actorTypeName,\r\n openDocuments() {\r\n window.open(\"/documents?clientId=\" + this.actorIdToView, \"_blank\");\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorDialog.vue?vue&type=template&id=e07c481e&\"\nimport script from \"./ActorDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n LoadDetailsShippingInfoDto,\r\n LoadStatus\r\n} from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport ActorDialog from \"@/components/web/actor/ActorDialog.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle,\r\n InfoTooltip,\r\n ActorDialog\r\n },\r\n props: {\r\n values: LoadDetailsShippingInfoDto,\r\n loadId: Number,\r\n loadStatus: Number as () => LoadStatus\r\n },\r\n computed: {\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n transportNoVisible(): boolean {\r\n return (\r\n this.actorType !== ActorType.Supplier ||\r\n this.loadStatus !== LoadStatus.Ordered\r\n );\r\n }\r\n },\r\n methods: {\r\n viewClient(clientId: number) {\r\n this.actorIdToView = clientId;\r\n this.actorTypeToView = ActorType.Client;\r\n },\r\n viewSupplier(supplierId: number | undefined) {\r\n if (!supplierId) {\r\n return;\r\n }\r\n this.actorIdToView = supplierId;\r\n this.actorTypeToView = ActorType.Supplier;\r\n },\r\n viewCustomer(customerId: number | undefined) {\r\n if (!customerId) {\r\n return;\r\n }\r\n this.actorIdToView = customerId;\r\n this.actorTypeToView = ActorType.Customer;\r\n }\r\n },\r\n data: (): {\r\n actorIdToView: number | undefined;\r\n actorTypeToView: ActorType | undefined;\r\n } => ({\r\n actorIdToView: undefined,\r\n actorTypeToView: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogShippingInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogShippingInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogShippingInfo.vue?vue&type=template&id=2d50f60c&\"\nimport script from \"./LoadDialogShippingInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogShippingInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"tiny-padding small-margin-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AdditionalInformation\"))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-expansion-panels',{model:{value:(_vm.expandedPanel),callback:function ($$v) {_vm.expandedPanel=$$v},expression:\"expandedPanel\"}},[(!_vm.agreementDetermined)?_c('v-expansion-panel',{attrs:{\"disabled\":\"\"}},[_c('v-expansion-panel-header',[_vm._v(\" \"+_vm._s(_vm.$t(\"SelectAgreementRouteAndTruckType\"))+\" \")])],1):[(_vm.priceVisible)?_c('AccordionPrices',{attrs:{\"loadId\":_vm.loadId,\"loadStatus\":_vm.loadStatus,\"cargoType\":_vm.cargoType,\"expanded\":_vm.isExpanded(0)}}):_vm._e(),(_vm.rankingVisible)?_c('AccordionRankings',{attrs:{\"agreementRouteId\":_vm.agreementRouteId,\"truckType\":_vm.truckType,\"agreementDate\":_vm.agreementDate,\"publishSpeed\":_vm.publishSpeed,\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(1)}}):_vm._e(),(_vm.historyVisible)?_c('AccordionLoadHistory',{attrs:{\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(2)}}):_vm._e(),_c('AccordionSpecialRequirements',{attrs:{\"agreementRouteId\":_vm.agreementRouteId,\"expanded\":_vm.isExpanded(3)}}),_c('AccordionContent',{attrs:{\"assortedValues\":_vm.assortedValues,\"infoTexts\":_vm.infoTexts,\"editable\":_vm.editable,\"expanded\":_vm.isExpanded(4)}}),(_vm.supplierBookingInfoVisible)?_c('AccordionSupplierBookingInfo',{attrs:{\"supplierBookingInfo\":_vm.supplierBookingInfo,\"expanded\":_vm.isExpanded(5)}}):_vm._e(),(_vm.subLocationsVisible)?_c('AccordionSubLocations',{attrs:{\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.subLocations,\"expanded\":_vm.isExpanded(6)}}):_vm._e(),(_vm.subLocationsReadOnlyVisible)?_c('AccordionSubLocationReadOnly',{attrs:{\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(7)}}):_vm._e(),_c('AccordionRelatedLoads',{attrs:{\"relatedLoads\":_vm.relatedLoads,\"expanded\":_vm.isExpanded(8),\"editable\":_vm.editable}}),(_vm.containerVisible)?_c('AccordionContainers',{attrs:{\"loadStatus\":_vm.loadStatus,\"containerValues\":_vm.containerValues,\"expanded\":_vm.isExpanded(9),\"editable\":_vm.editable,\"loadId\":_vm.loadId}}):_vm._e(),(_vm.additionalDeliveryInfoVisible)?_c('AccordionAdditionalDeliveryInfo',{attrs:{\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(10)}}):_vm._e(),(_vm.appendixVisible)?_c('AccordionAppendix',{attrs:{\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(11)}}):_vm._e(),(_vm.deviationsVisible)?_c('AccordionDeviation',{attrs:{\"deviationValues\":_vm.deviations,\"expanded\":_vm.isExpanded(12)}}):_vm._e(),(_vm.clientSpotTenderVisible)?_c('AccordionSpotTender',{attrs:{\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(13)}}):_vm._e(),(_vm.duplicateVisible)?_c('AccordionDuplicateLoad',{attrs:{\"assortedValues\":_vm.assortedValues,\"duplicateTransportNos\":_vm.duplicateTransportNos,\"expanded\":_vm.isExpanded(14)}}):_vm._e(),(_vm.contactsVisible)?_c('AccordionContacts',{attrs:{\"loadId\":_vm.loadId,\"editable\":_vm.editable,\"expanded\":_vm.isExpanded(15)}}):_vm._e(),_c('AccordionDocuments',{attrs:{\"loadId\":_vm.loadId,\"editable\":_vm.editable,\"documents\":_vm.documents,\"expanded\":_vm.isExpanded(16)}}),(_vm.customsInfoVisible)?_c('AccordionCustomsInfo',{attrs:{\"loadId\":_vm.loadId,\"expanded\":_vm.isExpanded(17)}}):_vm._e()]],2)],1)],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('v-expansion-panel',{attrs:{\"disabled\":!_vm.title.value}},[[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[(!_vm.title.value)?[_c('v-col',[_c('span',{staticClass:\"body-1\"},[_vm._v(_vm._s(_vm.$t(\"LoadHasNoPriceYet\")))])])]:(_vm.expanded)?[_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 black-text\"},[_vm._v(_vm._s(_vm.$t(\"TheLoadsPrice\")))])]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium\"},[_vm._v(_vm._s(_vm.currencyName(_vm.price.currency)))])])]:[_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(_vm._s(_vm.$t(_vm.title.key)))])]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium\"},[_vm._v(_vm._s(_vm.title.value)+\" \"+_vm._s(_vm.currencyName(_vm.price.currency)))])])]],2)],1),_c('v-expansion-panel-content',[(_vm.title)?_c('v-list',{staticClass:\"no-padding\"},[_vm._l((_vm.valueLines),function(line,index){return [_c('div',{key:index},[(\n _vm.title.value !== undefined && index === _vm.valueLines.length - 1\n )?_c('v-divider'):_vm._e(),_c('v-list-item',{staticClass:\"extra-dense-list-item no-padding grey-hover\"},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"body-1 dark-text unselectable\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(line.key))+\" \")]),_c('div',{staticClass:\"tiny-margin-left\"},[(_vm.title.value !== undefined && _vm.tooltip(line))?_c('InfoTooltip',{attrs:{\"text\":_vm.tooltip(line),\"icon\":\"mdi-open-in-new\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.clicked(line)}}}):_vm._e()],1),_c('v-spacer'),_c('v-col',{staticClass:\"body-1 font-weight-medium unselectable\",class:{ invalid: !!line.invalid },attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(line.value)+\" \")])],1)],1)],1)]})],2):_vm._e()],1)]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { localeCode } from \"@/scripts/language/i18n\";\r\n\r\nexport default (\r\n v: number | undefined | null,\r\n decimals: number,\r\n shorterIfPossible: boolean = false\r\n): string => {\r\n if (v === undefined || v === null) {\r\n return \"\";\r\n }\r\n const formatter = new Intl.NumberFormat(localeCode(), {\r\n maximumFractionDigits: decimals,\r\n minimumFractionDigits: shorterIfPossible ? 0 : decimals\r\n });\r\n let res = formatter.format(v);\r\n if (localeCode() === \"en-US\") {\r\n res = res.replaceAll(\",\", \" \");\r\n }\r\n return res;\r\n};\r\n\r\nexport const percentage = (\r\n factor: number | undefined | null,\r\n decimals: number\r\n): string => {\r\n if (factor === undefined || factor === null) {\r\n return \"\";\r\n }\r\n let res = `${(factor * 100).toLocaleString(localeCode(), {\r\n minimumFractionDigits: decimals,\r\n maximumFractionDigits: decimals\r\n })}%`;\r\n if (localeCode() === \"en-US\") {\r\n res = res.replaceAll(\",\", \" \");\r\n }\r\n return res;\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n CargoType,\r\n LoadsClient,\r\n LoadStatus,\r\n PriceRowDto\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n currencyName,\r\n freightPriceFormula,\r\n freightPriceFormulaOtherPrice,\r\n invoicePriceFormulaLong,\r\n invoicePriceFormulaOtherPrice\r\n} from \"@/scripts/misc/enumNames\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\ninterface PriceLine {\r\n key: string;\r\n value: any;\r\n hide?: boolean;\r\n invalid?: boolean;\r\n}\r\n\r\nexport const indexDateTooltip = (\r\n indexFactor: number,\r\n baseIndexName: string,\r\n indexDate: CDate | undefined\r\n): string => {\r\n let text = `${t(\"Index\")}: ${percentage(indexFactor - 1, 2)}`;\r\n text += `\\n${t(\"BaseIndex\")}: ${baseIndexName}`;\r\n if (indexDate) {\r\n text += `\\n${t(\"IndexDate\")}: ${indexDate.datePrint()}`;\r\n }\r\n text += `\\n${t(\"ClickToReadMoreAboutIndex\")}`;\r\n return text;\r\n};\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number as () => number | undefined,\r\n cargoType: Number as () => CargoType,\r\n loadStatus: Number as () => LoadStatus,\r\n expanded: Boolean\r\n },\r\n components: {\r\n InfoTooltip\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchPrices();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): PriceLine {\r\n const price = this.valueLines.find(\r\n l => l.key === this.invoicePriceText || l.key === this.freightPriceText\r\n );\r\n if (!price) {\r\n return {\r\n key: \"key\",\r\n value: undefined\r\n };\r\n }\r\n return price;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n valueLines(): PriceLine[] {\r\n if (!this.price) {\r\n return [];\r\n }\r\n return [\r\n {\r\n key: \"AgreedPrice\",\r\n value: money(this.price.basePrice, 2),\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"StopPrice\",\r\n value: money(this.price.stopPrice || 0, 2),\r\n hide: this.hideStops,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"ExtraStops\",\r\n value: this.price.numExtraStops,\r\n hide: this.hideStops,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"ServiceFee\",\r\n value: money(this.price.serviceFee, 2),\r\n hide: this.hideContainers,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"Containers\",\r\n value: this.price.numContainers,\r\n hide: this.hideContainers,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"TruckTypeFee\",\r\n value: money(this.price.initialFee, 2),\r\n hide: this.hideMachineTransport,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"VTLPrice\",\r\n value: money(this.price.vtlPrice, 2),\r\n hide: this.hideMachineTransport,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"EscortCarPriceKM\",\r\n value: money(this.price.escortCarPrice, 2),\r\n hide: this.hideMachineTransport,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"DistanceInKM\",\r\n value: this.price.distance,\r\n hide: this.hideMachineTransport,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"Index\",\r\n value:\r\n this.price.indexFactor === 1.0\r\n ? \"\"\r\n : money(this.price.indexPrice, 2),\r\n hide: this.hideIndex,\r\n invalid: !this.hideOtherPrice\r\n },\r\n {\r\n key: \"OtherPrice\",\r\n value: money(this.price.otherPrice, 2),\r\n hide: this.hideOtherPrice\r\n },\r\n { key: \"BookingFee\", value: money(this.price.bookingFee, 2) },\r\n {\r\n key: this.freightPriceText,\r\n value: money(this.price.freightPrice, 2),\r\n hide: this.hideFreightPrice\r\n },\r\n {\r\n key: this.invoicePriceText,\r\n value: money(this.price.invoicePrice, 2),\r\n hide: this.hideInvoicePrice\r\n }\r\n ].filter(l => !l.hide);\r\n },\r\n invoicePriceText(): string {\r\n return this.loadStatus === LoadStatus.Loaded ||\r\n this.loadStatus === LoadStatus.Delivered\r\n ? \"InvoicePrices\"\r\n : \"PreliminaryPrice\";\r\n },\r\n freightPriceText(): string {\r\n return this.loadStatus === LoadStatus.Loaded ||\r\n this.loadStatus === LoadStatus.Delivered\r\n ? \"FreightPrice\"\r\n : \"PreliminaryFreightPrice\";\r\n },\r\n hideStops(): boolean {\r\n return (\r\n this.cargoType !== CargoType.Road &&\r\n this.cargoType !== CargoType.MachineTransport\r\n );\r\n },\r\n hideContainers(): boolean {\r\n return this.cargoType !== CargoType.Container;\r\n },\r\n hideMachineTransport(): boolean {\r\n return this.cargoType !== CargoType.MachineTransport;\r\n },\r\n hideOtherPrice(): boolean {\r\n return !this.price.otherPrice;\r\n },\r\n hideIndex(): boolean {\r\n return this.cargoType !== CargoType.Road || !this.hideOtherPrice;\r\n },\r\n hideInvoicePrice(): boolean {\r\n return this.actorType === ActorType.Client || !this.price.invoicePrice;\r\n },\r\n hideFreightPrice(): boolean {\r\n return this.actorType === ActorType.Supplier || !this.price.freightPrice;\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n tooltip(line: PriceLine): string {\r\n if (line.key === \"Index\") {\r\n return indexDateTooltip(\r\n this.price.indexFactor,\r\n this.price.baseIndexName!,\r\n this.price.indexDate\r\n );\r\n }\r\n let text = \"\";\r\n if (line.key === this.freightPriceText) {\r\n if (this.hideOtherPrice === false) {\r\n text = freightPriceFormulaOtherPrice(\r\n (this.cargoType as number) as CargoType\r\n );\r\n } else {\r\n text = freightPriceFormula((this.cargoType as number) as CargoType);\r\n }\r\n }\r\n if (line.key === this.invoicePriceText) {\r\n if (this.hideOtherPrice === false) {\r\n text = invoicePriceFormulaOtherPrice(\r\n (this.cargoType as number) as CargoType\r\n );\r\n } else {\r\n text = invoicePriceFormulaLong(\r\n (this.cargoType as number) as CargoType\r\n );\r\n }\r\n }\r\n if (text) {\r\n text += `\\n${t(\"ClickToReadMoreAboutPrices\")}`;\r\n }\r\n return text;\r\n },\r\n clicked(line: PriceLine) {\r\n if (line.key === \"Index\") {\r\n window.open(\r\n `/indexes?from=${this.price.baseIndexDate!.datePrint()}&to=${this.price.indexDate!.datePrint()}`,\r\n \"_blank\"\r\n );\r\n } else {\r\n window.open(`/price-list`, \"_blank\");\r\n }\r\n },\r\n fetchPrices() {\r\n this.price = undefined as any;\r\n if (!this.loadId) {\r\n return;\r\n }\r\n return new LoadsClient(new ApiConfiguration(this.$store))\r\n .price(this.loadId)\r\n .then(res => {\r\n this.price = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { price: PriceRowDto } => ({\r\n price: undefined as any\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionPrices.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionPrices.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionPrices.vue?vue&type=template&id=028fbcc9&scoped=true&\"\nimport script from \"./AccordionPrices.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionPrices.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionPrices.vue?vue&type=style&index=0&id=028fbcc9&scoped=true&lang=css&\"\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 \"028fbcc9\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VList,VListItem,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[(!_vm.rankings)?_c('v-expansion-panel-header',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1):(_vm.missingAgreement)?_c('v-expansion-panel-header',[_c('span',{staticClass:\"orange-text\"},[_vm._v(_vm._s(_vm.$t(\"MissingAgreement\")))])]):[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(_vm._s(_vm.$t(\"Suppliers\")))])]),(_vm.expanded && _vm.loadId)?_c('v-col',{staticClass:\"currency-align\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(\" \"+_vm._s(_vm.rankings[0].currencyName)+\" \")])]):_vm._e()],1)],1),_c('v-expansion-panel-content',[_c('div',{staticClass:\"make-me-scroll small-padding-right\"},[_c('v-list',{staticClass:\"no-padding\"},_vm._l((_vm.rankings),function(supplier,index){return _c('v-list-item',{key:index,staticClass:\"extra-dense-list-item no-padding grey-hover\"},[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding body-1 dark-text unselectable ellipsis-text\"},[_c('span',{class:{ 'green-text': supplier.visible }},[(supplier.booked)?_c('v-icon',{staticClass:\"green-text\",attrs:{\"size\":\"18\"}},[_vm._v(\" mdi-check-bold \")]):(!supplier.visible)?_c('v-icon',{staticClass:\"dark-text\",attrs:{\"size\":\"18\"}},[_vm._v(\" mdi-eye-off \")]):(supplier.visible)?_c('v-icon',{staticClass:\"green-text\",attrs:{\"size\":\"18\"}},[_vm._v(\" mdi-eye \")]):_vm._e(),_vm._v(\" \"+_vm._s(supplier.rank)+\". \"+_vm._s(supplier.name)+\" \")],1)]),(_vm.loadId)?_c('v-col',{staticClass:\"no-padding body-1 font-weight-medium unselectable\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.money(supplier.price, 0))+\" \")]):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding no-padding-left body-1 unselectable\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"publish-time\"},[_vm._v(\" \"+_vm._s(_vm.time(supplier))+\" \")])])],1)],1)}),1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { PublishSpeed, RankedSupplierDto } from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n agreementRouteId: Number,\r\n truckType: Number,\r\n agreementDate: Object as () => CDate,\r\n publishSpeed: Number as () => PublishSpeed,\r\n loadId: Number as () => number | undefined,\r\n expanded: Boolean\r\n },\r\n watch: {\r\n agreementRouteId: {\r\n handler() {\r\n this.fetchRankings();\r\n },\r\n immediate: true\r\n },\r\n truckType: {\r\n handler() {\r\n this.fetchRankings();\r\n },\r\n immediate: true\r\n },\r\n agreementDate: {\r\n handler() {\r\n this.fetchRankings();\r\n },\r\n immediate: true\r\n },\r\n publishSpeed: {\r\n handler() {\r\n this.fetchRankings();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n missingAgreement(): boolean {\r\n return !this.rankings || this.rankings!.length === 0;\r\n },\r\n disabled(): boolean {\r\n return !this.rankings || this.missingAgreement;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n fetchRankings() {\r\n if (!this.agreementRouteId || !this.truckType || !this.publishSpeed) {\r\n return;\r\n }\r\n this.rankings = undefined;\r\n cached(\"rankedSuppliersByAgreementroute\", [\r\n this.agreementRouteId,\r\n this.truckType,\r\n this.agreementDate,\r\n this.publishSpeed,\r\n this.loadId\r\n ])\r\n .then(res => {\r\n this.rankings = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n time(supplier: RankedSupplierDto): string {\r\n return supplier.time.toString() + \"h\";\r\n }\r\n },\r\n data: (): { rankings?: RankedSupplierDto[] } => ({\r\n rankings: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRankings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRankings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionRankings.vue?vue&type=template&id=31b4f806&scoped=true&\"\nimport script from \"./AccordionRankings.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionRankings.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionRankings.vue?vue&type=style&index=0&id=31b4f806&scoped=true&lang=css&\"\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 \"31b4f806\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VList,VListItem,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled }},[_vm._v(_vm._s(_vm.$t(\"Content\"))+\" \"+_vm._s(_vm.summary))])])],1)],1),_c('v-expansion-panel-content',[(_vm.editable)?_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('VolumeM3'),\"allowNull\":\"\"},model:{value:(_vm.assortedValues.volume),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"volume\", $$v)},expression:\"assortedValues.volume\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('Weight'),\"allowNull\":\"\"},model:{value:(_vm.assortedValues.weight),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"weight\", $$v)},expression:\"assortedValues.weight\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('NumberInput',{attrs:{\"label\":((_vm.$t('Packages')) + \" (\" + (_vm.$t('Quantity')) + \")\"),\"allowNull\":\"\"},model:{value:(_vm.assortedValues.packages),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"packages\", $$v)},expression:\"assortedValues.packages\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('TextSaved',{attrs:{\"label\":_vm.$t('ContentInformation'),\"type\":\"contentInfo\"},model:{value:(_vm.infoTexts.contentInfo),callback:function ($$v) {_vm.$set(_vm.infoTexts, \"contentInfo\", $$v)},expression:\"infoTexts.contentInfo\"}})],1)],1):_c('v-row',[_c('v-col',[_c('ReadOnlyText',{attrs:{\"value\":_vm.assortedValues.volume,\"label\":_vm.$t('VolumeM3')}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.assortedValues.weight,\"label\":_vm.$t('Weight')}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.assortedValues.packages,\"label\":((_vm.$t('Packages')) + \" (\" + (_vm.$t('Quantity')) + \")\")}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.infoTexts.contentInfo,\"label\":_vm.$t('ContentInformation'),\"clickable\":\"\"}})],1)],1)],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('v-menu',{attrs:{\"close-on-content-click\":false,\"close-on-click\":false,\"top\":_vm.top,\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-text-field',_vm._g({ref:\"summary\",staticClass:\"ellipsis-text\",attrs:{\"value\":_vm.summary,\"label\":_vm.label,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"disabled\":_vm.disabled,\"spellcheck\":false,\"autocomplete\":\"off\",\"readonly\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"keydown\":function($event){return _vm.ifNotTabbing($event, _vm.keydown)}}},on))]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('SearchCard',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.clickOutside),expression:\"clickOutside\"}],attrs:{\"title\":_vm.label,\"width\":450,\"closable\":\"\"},on:{\"close\":_vm.closeMenu},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.editing)?_c('v-row',[_c('v-col',{staticClass:\"small-padding-right\"},[_c('TextSingle',{attrs:{\"label\":_vm.$t('SavedTexts'),\"autofocus\":\"\"},model:{value:(_vm.editSubject),callback:function ($$v) {_vm.editSubject=$$v},expression:\"editSubject\"}})],1),_c('v-col',{staticClass:\"no-padding-left small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.discardEditPreset}},[_c('v-icon',{attrs:{\"color\":\"error\"}},[_vm._v(\" mdi-close-thick \")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.invalid(_vm.editSubject) || _vm.invalid(_vm.value)},on:{\"click\":_vm.commitEditPreset}},[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\" mdi-check-bold \")])],1)],1)],1):_c('v-row',[_c('v-col',{staticClass:\"small-padding-right\"},[_c('Autocomplete',{attrs:{\"label\":_vm.computedLabel,\"items\":_vm.phrases,\"itemText\":\"subject\",\"clearable\":\"\",\"customItem\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}]),model:{value:(_vm.presetId),callback:function ($$v) {_vm.presetId=$$v},expression:\"presetId\"}})],1),(!_vm.notEditable)?_c('v-col',{staticClass:\"no-padding-left small-padding-right\",attrs:{\"cols\":\"auto\"}},[(_vm.presetId)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.deletePreset}},[_c('v-icon',{attrs:{\"color\":\"error\"}},[_vm._v(\" mdi-trash-can-outline \")])],1):_vm._e(),(_vm.presetId)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.editPreset}},[_c('v-icon',{attrs:{\"color\":\"warning\"}},[_vm._v(\" mdi-pencil \")])],1):_vm._e(),(!_vm.presetId)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.newPreset}},[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\" mdi-plus-thick \")])],1):_vm._e()],1):_vm._e()],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"value\":_vm.value,\"label\":_vm.$t('Text'),\"disabled\":_vm.presetId && !_vm.editing && !_vm.standardText,\"autofocus\":\"\",\"only-on-blur\":\"\"},on:{\"input\":_vm.input,\"change\":_vm.manuallyEditedStandardText}})],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport ifNotTabbing from \"@/scripts/misc/ifNotTabbing\";\r\nimport {\r\n ApiConfiguration,\r\n StandardPhraseDto,\r\n StandardPhrasesClient,\r\n StandardPhraseType\r\n} from \"@/scripts/cld.api\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n TextMulti,\r\n TextSingle\r\n },\r\n props: {\r\n value: String,\r\n label: String,\r\n type: String,\r\n tabindex: String,\r\n top: Boolean,\r\n disabled: Boolean,\r\n notEditable: Boolean,\r\n standardTextDialog: Boolean\r\n },\r\n watch: {\r\n menu() {\r\n //Prevents flickering\r\n this.closable = false;\r\n setTimeout(() => {\r\n this.closable = true;\r\n }, 50);\r\n },\r\n presetId() {\r\n this.populateFromPreset();\r\n }\r\n },\r\n computed: {\r\n summary(): string | null {\r\n if (!this.value) {\r\n return null;\r\n }\r\n return this.value.replaceAll(\"\\n\", \" \");\r\n },\r\n phraseType(): StandardPhraseType {\r\n switch (this.type) {\r\n case \"note\":\r\n return StandardPhraseType.Note;\r\n case \"pickupInfo\":\r\n return StandardPhraseType.PickupInfo;\r\n case \"destinationInfo\":\r\n return StandardPhraseType.DestinationInfo;\r\n case \"contentInfo\":\r\n return StandardPhraseType.ContentInfo;\r\n default:\r\n throw new Error(`Invalid standardphrase type ${this.type}`);\r\n }\r\n },\r\n phrase(): StandardPhraseDto | undefined {\r\n return this.phrases.find(p => p.id === this.presetId);\r\n },\r\n computedLabel(): string {\r\n return this.getLabel();\r\n },\r\n standardText() {\r\n return this?.standardTextDialog;\r\n }\r\n },\r\n methods: {\r\n ifNotTabbing: ifNotTabbing,\r\n keydown(key: any) {\r\n this.menu = true;\r\n if (!!this.value) {\r\n key = this.value + key;\r\n }\r\n this.input(key);\r\n },\r\n input(v?: string) {\r\n this.$emit(\"input\", v);\r\n },\r\n clickOutside(event: any) {\r\n if (this.skipCloseOutsideOnce) {\r\n this.skipCloseOutsideOnce = false;\r\n return;\r\n }\r\n if (!event.target.className.includes(\"v-list\")) {\r\n this.closeMenu();\r\n }\r\n },\r\n closeMenu() {\r\n if (!this.closable || !this.menu) {\r\n return;\r\n }\r\n this.menu = false;\r\n this.$nextTick(() => (this.$refs.summary as any).focus());\r\n },\r\n invalid(v?: string): boolean {\r\n return !this.trim(v);\r\n },\r\n trim(v?: string): string | undefined {\r\n if (!v) {\r\n return undefined;\r\n }\r\n return v.trim();\r\n },\r\n populateFromPreset() {\r\n if (this.phrase) {\r\n this.input(this.phrase.body);\r\n }\r\n },\r\n deletePreset() {\r\n if (this.presetId) {\r\n this.skipCloseOutsideOnce = true;\r\n popupDialog({\r\n title: t(\"Delete\"),\r\n body: t(\"ConfirmRemoveText\"),\r\n btnText1: t(\"Delete\"),\r\n btnColor1: \"error\",\r\n btnCallback1: this.deletePresetCallback\r\n });\r\n }\r\n },\r\n deletePresetCallback() {\r\n new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .delete(this.presetId!)\r\n .then(() => {\r\n this.presetId = undefined;\r\n this.fetchStandardPhrases();\r\n this.input(undefined);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n newPreset() {\r\n this.presetId = undefined;\r\n this.editSubject = \"\";\r\n this.editing = true;\r\n },\r\n editPreset() {\r\n this.editSubject = this.phrase!.subject!;\r\n this.editing = true;\r\n },\r\n discardEditPreset() {\r\n this.populateFromPreset();\r\n this.editing = false;\r\n },\r\n commitEditPreset() {\r\n new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .edit(\r\n new StandardPhraseDto({\r\n id: this.presetId === undefined ? 0 : this.presetId,\r\n phraseType: this.phraseType,\r\n subject: this.trim(this.editSubject),\r\n body: this.trim(this.value)\r\n })\r\n )\r\n .then(() => {\r\n return this.fetchStandardPhrases();\r\n })\r\n .then(() => {\r\n if (!this.presetId && this.phrases.length > 0) {\r\n //Highest id = the one we just added.\r\n this.presetId = this.phrases\r\n .map(p => p.id)\r\n .reduce((max: number, curr) => Math.max(max, curr));\r\n }\r\n this.editing = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n async fetchStandardPhrases(): Promise {\r\n return new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.phrases = res.filter(p => p.phraseType === this.phraseType);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n getLabel(): string {\r\n if (this.standardTextDialog) {\r\n return t(\"InternalName\");\r\n } else {\r\n return t(\"Subject\");\r\n }\r\n },\r\n manuallyEditedStandardText() {\r\n if (this.standardTextDialog) {\r\n this.presetId = undefined;\r\n this.$emit(\"modified\");\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.fetchStandardPhrases();\r\n },\r\n data: (): {\r\n menu: boolean;\r\n phrases: StandardPhraseDto[];\r\n closable: boolean;\r\n presetId?: number;\r\n editing: boolean;\r\n isStandardText: boolean;\r\n editSubject: string;\r\n canEditPreset: boolean;\r\n skipCloseOutsideOnce: boolean;\r\n } => ({\r\n menu: false,\r\n phrases: [],\r\n closable: true,\r\n presetId: undefined,\r\n canEditPreset: true,\r\n editing: false,\r\n isStandardText: false,\r\n editSubject: \"\",\r\n skipCloseOutsideOnce: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSaved.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextSaved.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TextSaved.vue?vue&type=template&id=bc7e893e&scoped=true&\"\nimport script from \"./TextSaved.vue?vue&type=script&lang=ts&\"\nexport * from \"./TextSaved.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TextSaved.vue?vue&type=style&index=0&id=bc7e893e&scoped=true&lang=css&\"\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 \"bc7e893e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VMenu,VRow,VTextField,VTooltip})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport ClickOutside from 'vuetify/lib/directives/click-outside'\ninstallDirectives(component, {ClickOutside})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ 'input-compact': _vm.compact, 'input-grey': _vm.grey }},[_c('v-text-field',{attrs:{\"type\":\"number\",\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"spellcheck\":false,\"rules\":_vm.rules,\"disabled\":_vm.disabled,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"readonly\":_vm.readonly,\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input,\"keydown\":_vm.keydown},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': _vm.value === null || _vm.value === undefined }},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null,{key:\"append\",fn:function(){return [_vm._t(\"append\")]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Number,\r\n label: String,\r\n placeholder: String,\r\n rules: Array,\r\n allowNull: Boolean,\r\n onlyIntegers: Boolean,\r\n onlyOnBlur: Boolean,\r\n disabled: Boolean,\r\n asterisk: Boolean,\r\n tabindex: String,\r\n readonly: Boolean,\r\n compact: Boolean,\r\n grey: Boolean\r\n },\r\n methods: {\r\n input(val: string) {\r\n if (this.onlyIntegers && val) {\r\n const decimalPos = Math.max(val.indexOf(\".\"), val.indexOf(\",\"));\r\n if (decimalPos !== -1) {\r\n val = val.substring(0, decimalPos);\r\n }\r\n }\r\n this.newValue(val, !this.onlyOnBlur);\r\n },\r\n newValue(valString: string | null, instant: boolean) {\r\n let val = valString ? Number(valString) : this.allowNull ? null : 0;\r\n\r\n if (instant) {\r\n this.emitValue(val);\r\n } else {\r\n this.emitValueWhenFinished(val);\r\n }\r\n },\r\n emitValue(val: number | null) {\r\n this.$emit(\"input\", val);\r\n },\r\n emitValueWhenFinished(val: number | null) {\r\n const unique = nextUnique();\r\n this.inputTracker = unique;\r\n setTimeout(() => {\r\n if (this.inputTracker === unique) {\r\n this.emitValue(val);\r\n }\r\n }, 400);\r\n },\r\n keydown(e: any): boolean {\r\n if (this.onlyIntegers) {\r\n e = e ? e : window.event;\r\n const key = e.key.toString();\r\n if (key === \".\" || key === \",\") {\r\n e.preventDefault();\r\n return false;\r\n }\r\n }\r\n this.$emit(\"keydown\");\r\n return true;\r\n }\r\n },\r\n data: (): { inputTracker: number } => ({\r\n inputTracker: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NumberInput.vue?vue&type=template&id=0fd64ae6&scoped=true&\"\nimport script from \"./NumberInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./NumberInput.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NumberInput.vue?vue&type=style&index=0&id=0fd64ae6&scoped=true&lang=css&\"\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 \"0fd64ae6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n LoadClientEditAssortedValuesDto,\r\n LoadClientEditInfoTextsDto,\r\n LoadDetailsContentDto\r\n} from \"@/scripts/cld.api\";\r\nimport TextSaved from \"@/components/shared/input/TextSaved.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n assortedValues: [LoadClientEditAssortedValuesDto, LoadDetailsContentDto],\r\n infoTexts: [LoadClientEditInfoTextsDto, LoadDetailsContentDto],\r\n content: LoadDetailsContentDto,\r\n editable: Boolean\r\n },\r\n components: {\r\n TextSaved,\r\n NumberInput,\r\n ReadOnlyText\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return !this.editable && this.values.length === 0;\r\n },\r\n values(): string[] {\r\n if (!this.assortedValues || !this.infoTexts) {\r\n return [];\r\n }\r\n const res: string[] = [];\r\n if (this.assortedValues.volume) {\r\n res.push(this.assortedValues.volume + \" m3\");\r\n }\r\n if (this.assortedValues.weight) {\r\n res.push(this.assortedValues.weight + \" kg\");\r\n }\r\n if (this.assortedValues.packages) {\r\n res.push(this.assortedValues.packages + \" \" + t(\"Packages\"));\r\n }\r\n if (this.infoTexts.contentInfo) {\r\n res.push(this.ellipsis(this.infoTexts.contentInfo, 20));\r\n }\r\n return res;\r\n },\r\n summary(): string {\r\n const values = this.values;\r\n if (values.length === 0) {\r\n values.push(t(\"NotGiven\"));\r\n }\r\n return \"(\" + values.join(\", \") + \")\";\r\n }\r\n },\r\n methods: {\r\n ellipsis(text: string | undefined | null, maxLength: number): string {\r\n if (!text) {\r\n return \"\";\r\n }\r\n if (text.length > maxLength) {\r\n return text.substr(0, maxLength - 3) + \"...\";\r\n }\r\n return text;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionContent.vue?vue&type=template&id=607b193b&\"\nimport script from \"./AccordionContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionContent.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(_vm._s(_vm.$t(\"SupplierBookingInfo\")))])])],1)],1),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('BookedPickupDate'),\"zone\":_vm.supplierBookingInfo.pickupZone,\"tabindex\":\"1\",\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.supplierBookingInfo.bookedPickupDate),callback:function ($$v) {_vm.$set(_vm.supplierBookingInfo, \"bookedPickupDate\", $$v)},expression:\"supplierBookingInfo.bookedPickupDate\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('BookedPickupInfo'),\"rows\":3},model:{value:(_vm.supplierBookingInfo.bookedPickupInfo),callback:function ($$v) {_vm.$set(_vm.supplierBookingInfo, \"bookedPickupInfo\", $$v)},expression:\"supplierBookingInfo.bookedPickupInfo\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('BookedDeliveryDate'),\"zone\":_vm.supplierBookingInfo.deliverZone,\"tabindex\":\"1\",\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.supplierBookingInfo.bookedDeliveryDate),callback:function ($$v) {_vm.$set(_vm.supplierBookingInfo, \"bookedDeliveryDate\", $$v)},expression:\"supplierBookingInfo.bookedDeliveryDate\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('BookedDeliveryInfo'),\"rows\":3},model:{value:(_vm.supplierBookingInfo.bookedDeliveryInfo),callback:function ($$v) {_vm.$set(_vm.supplierBookingInfo, \"bookedDeliveryInfo\", $$v)},expression:\"supplierBookingInfo.bookedDeliveryInfo\"}})],1)],1)],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('v-menu',{attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"nudge-left\":\"1\",\"nudge-top\":\"1\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){return [_c('v-text-field',{class:{ compact: _vm.compact },attrs:{\"value\":_vm.formattedDate,\"label\":_vm.label,\"clearable\":_vm.allowNull,\"rules\":_vm.computedRules(_vm.formattedDate),\"spellcheck\":false,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"disabled\":_vm.disabled,\"dense\":\"\",\"outlined\":\"\"},on:{\"click\":_vm.openDate,\"change\":function($event){_vm.formattedDate = $event},\"focus\":function($event){return $event.target.select()}},scopedSlots:_vm._u([(_vm.label)?{key:\"label\",fn:function(){return [(_vm.asterisk && !_vm.disabled && !_vm.allowNull)?_c('span',{staticClass:\"asterisk\",class:{ 'red-text': !_vm.value }},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"+_vm._s(_vm.label)+\" \")]},proxy:true}:null,{key:\"append\",fn:function(){return [_c('v-icon',{attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.openDate}},[_vm._v(_vm._s(_vm.disabled ? \"mdi-calendar-blank\" : \"mdi-calendar-month\"))]),(_vm.withTime)?_c('v-icon',{attrs:{\"disabled\":_vm.disabled && !_vm.timeEnabledAnyway},on:{\"click\":_vm.openTime}},[_vm._v(_vm._s(_vm.disabled && !_vm.timeEnabledAnyway ? \"mdi-clock-outline\" : \"mdi-clock\"))]):_vm._e(),_c('InfoTooltip',{attrs:{\"text\":_vm.infoTooltip,\"icon\":\"mdi-information-outline\",\"color\":\"cyan\"}})]},proxy:true}],null,true)})]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[(_vm.datePicker)?_c('v-date-picker',{attrs:{\"value\":_vm.formattedDate,\"locale\":_vm.locale,\"events\":_vm.isEventDate,\"event-color\":\"icon-red\",\"first-day-of-week\":\"1\",\"locale-first-day-of-year\":\"4\",\"show-week\":\"\",\"full-width\":\"\"},on:{\"input\":function (v) {\n _vm.setDate(v);\n _vm.closeDate();\n }}}):_c('TimePickerDialog',{attrs:{\"originalValue\":_vm.value,\"zone\":_vm.zone,\"timeOk\":function (v) { return _vm.computedRules(v.shortDateTimePrint()).every(function (x) { return x === true; }); }},on:{\"input\":function (v) { return (_vm.formattedDate = v.shortDateTimePrint()); },\"close\":_vm.closeTime}})],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('SearchCard',{attrs:{\"closable\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\" mdi-clock-outline \")])]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding tiny-padding-left\",attrs:{\"cols\":_vm.moreMinutes ? 7 : 8}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Hours\"))+\" \")]),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding tiniest-padding-left\",attrs:{\"cols\":_vm.moreMinutes ? 4 : 3}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Minutes\"))+\" \")]),_c('v-col',{staticClass:\"no-padding tiny-padding-bottom\",attrs:{\"cols\":_vm.moreMinutes ? 7 : 8}},_vm._l((_vm.hourOptions),function(h){return _c('v-btn',{key:h,staticClass:\"tiny-margin-left tiny-margin-bottom\",class:_vm.hourClass(h),attrs:{\"width\":_vm.moreMinutes ? 52 : 48,\"height\":_vm.moreMinutes ? 40.5 : 40,\"min-width\":\"0\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.setHours(h)}}},[_vm._v(\" \"+_vm._s(h)+\" \")])}),1),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding tiny-padding-bottom\",attrs:{\"cols\":_vm.moreMinutes ? 4 : 3}},_vm._l((_vm.minuteOptions),function(m){return _c('v-btn',{key:m,staticClass:\"tiny-margin-right tiny-margin-bottom\",class:_vm.minuteClass(m),attrs:{\"width\":_vm.moreMinutes ? 48 : 78,\"height\":_vm.moreMinutes ? 55 : 61.5,\"min-width\":\"0\",\"depressed\":\"\"},on:{\"click\":function($event){return _vm.setMinutes(m)}}},[_vm._v(\" \"+_vm._s(m)+\" \")])}),1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate, { CDuration } from \"@/scripts/misc/cdate\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard\r\n },\r\n props: {\r\n originalValue: Object as () => CDate | CDuration,\r\n zone: Number as () => TimeZone,\r\n moreMinutes: Boolean,\r\n updateOnClose: Boolean,\r\n timeOk: (Function as any) as () => { (date: CDate): boolean }\r\n },\r\n watch: {\r\n originalValue: {\r\n handler() {\r\n if (\r\n this.originalValue &&\r\n (this.originalValue as CDate).datePrint !== undefined\r\n ) {\r\n this.date = this.originalValue as CDate;\r\n } else {\r\n this.date = CDate.now(this.zone)\r\n .startOfDay()\r\n .withHours(this.originalValue.hours())\r\n .withMinutes(this.originalValue.minutes());\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n hours(): number {\r\n return this.date ? this.date.hours() : NaN;\r\n },\r\n minutes(): number {\r\n return this.date ? this.date.minutes() : NaN;\r\n },\r\n hourOptions(): string[] {\r\n return Array.from(Array(24).keys()).map((_, index) => index.toString());\r\n },\r\n minuteOptions(): string[] {\r\n return Array.from(\r\n Array(this.moreMinutes ? 12 : 4).keys()\r\n ).map((_, index) =>\r\n (index * (this.moreMinutes ? 5 : 15)).toString().padStart(2, \"0\")\r\n );\r\n }\r\n },\r\n methods: {\r\n hourClass(h: string): string {\r\n const hour = parseInt(h);\r\n const date = this.date ? this.date : CDate.now(this.zone).startOfDay();\r\n const hourMinutes = this.minuteOptions.map(m =>\r\n date.withHours(hour).withMinutes(Number(m))\r\n );\r\n return [\r\n this.hours === hour ? \"cyan-background\" : \"\",\r\n hourMinutes.some(hm => this.timeOk(hm))\r\n ? \"\"\r\n : \"red-border red-background\"\r\n ].join(\" \");\r\n },\r\n minuteClass(m: string): string {\r\n const minute = parseInt(m);\r\n const date = this.date ? this.date : CDate.now(this.zone).startOfDay();\r\n return [\r\n this.minutes === minute ? \"cyan-background\" : \"\",\r\n this.timeOk(date.withHours(this.hours).withMinutes(minute))\r\n ? \"\"\r\n : \"red-border red-background\"\r\n ].join(\" \");\r\n },\r\n setHours(h: string) {\r\n if (!this.date) {\r\n this.date = CDate.now(this.zone).startOfDay();\r\n }\r\n this.date = this.date.withHours(parseInt(h));\r\n if (!this.updateOnClose) {\r\n this.$emit(\"input\", this.date);\r\n }\r\n },\r\n setMinutes(m: string) {\r\n if (!this.date) {\r\n this.date = CDate.now(this.zone).startOfDay();\r\n }\r\n this.date = this.date.withMinutes(parseInt(m));\r\n if (!this.updateOnClose) {\r\n this.$emit(\"input\", this.date);\r\n }\r\n this.close();\r\n },\r\n close() {\r\n if (this.updateOnClose) {\r\n this.$emit(\"input\", this.date ? this.date : this.originalValue);\r\n }\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): { date?: CDate } => ({\r\n date: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePickerDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePickerDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimePickerDialog.vue?vue&type=template&id=1b7ff12d&scoped=true&\"\nimport script from \"./TimePickerDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimePickerDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimePickerDialog.vue?vue&type=style&index=0&id=1b7ff12d&scoped=true&lang=css&\"\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 \"1b7ff12d\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode, t } from \"@/scripts/language/i18n\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport TimePickerDialog from \"@/components/shared/input/TimePickerDialog.vue\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InfoTooltip,\r\n TimePickerDialog\r\n },\r\n props: {\r\n value: Object as () => CDate,\r\n zone: Number as () => TimeZone,\r\n label: String,\r\n compact: Boolean,\r\n allowNull: Boolean,\r\n invalidText: String,\r\n gteToday: Boolean,\r\n gteNow: Boolean,\r\n gteDates: Array as () => (CDate | undefined)[],\r\n gteText: String,\r\n lteDate: Object as () => CDate,\r\n lteText: String,\r\n tabindex: String,\r\n infoTooltip: String,\r\n withTime: Boolean,\r\n asterisk: Boolean,\r\n rules: Array as () => Function[],\r\n disabled: Boolean,\r\n timeEnabledAnyway: Boolean\r\n },\r\n watch: {\r\n menu() {\r\n if (!this.menu) {\r\n this.$emit(\"done\");\r\n }\r\n },\r\n gteToday(newVal) {\r\n this.prevGteToday = newVal;\r\n },\r\n gteNow(newVal) {\r\n this.prevGteNow = newVal;\r\n },\r\n gteDates(newVal) {\r\n this.prevGteDates = newVal;\r\n },\r\n lteDate(newVal) {\r\n this.prevLteDate = newVal;\r\n }\r\n },\r\n computed: {\r\n formattedDate: {\r\n get(): string | null {\r\n return this.toDateString(this.value);\r\n },\r\n set(dstring: string) {\r\n let date = dstring ? CDate.fromString(dstring, this.zone) : null;\r\n if (date && !this.withTime) {\r\n date = date.startOfDay();\r\n }\r\n this.$emit(\"input\", date);\r\n }\r\n },\r\n locale(): string {\r\n return localeCode();\r\n }\r\n },\r\n methods: {\r\n toDateString(date: CDate): string | null {\r\n if (CDate.isCDate(date) && date.isValid()) {\r\n if (this.withTime) {\r\n return `${date.shortDateTimePrintSeparated()} (${date.offsetName})`;\r\n }\r\n return date.datePrint();\r\n } else if (date !== null && date) {\r\n return t(\"InvalidDate\");\r\n }\r\n return null;\r\n },\r\n isEventDate(dstring: string): boolean {\r\n const timePoints = [...Array(this.withTime ? 24 : 1).keys()].map(\r\n h => dstring + \" \" + h.toString().padStart(2, \"0\")\r\n );\r\n\r\n const key =\r\n JSON.stringify(timePoints) +\r\n this.gteToday +\r\n this.gteNow +\r\n JSON.stringify(this.gteDates) +\r\n JSON.stringify(this.lteDate);\r\n if (this.test.has(key)) {\r\n return this.test.get(key)!;\r\n }\r\n\r\n const result = timePoints\r\n .map(t => this.computedRules(t).some(r => r !== true))\r\n .every(r => r);\r\n\r\n this.test.set(key, result);\r\n\r\n return result;\r\n },\r\n computedRules(dstring: string | null): (boolean | string)[] {\r\n if (!dstring && this.allowNull) {\r\n return [];\r\n }\r\n if (dstring) {\r\n dstring = dstring.replace(/\\(.*?\\)/g, \"\"); // Tar bort paranteserna kring (CEST) och text innanför för att CDate ska skapas korrekt.\r\n }\r\n\r\n const date = CDate.fromString(dstring, this.zone);\r\n const rules = this.rules as\r\n | { (date: CDate): boolean | string }[]\r\n | undefined;\r\n const validations = rules ? rules.map(rule => rule(date)) : [true];\r\n return [\r\n ...validations,\r\n this.validDate(date),\r\n this.greaterThanEqualToday(date),\r\n this.greaterThanEqualNow(date),\r\n this.greaterThanEqual(date),\r\n this.lessThanEqual(date)\r\n ];\r\n },\r\n validDate(date: CDate): boolean | string {\r\n return (\r\n date.isValid() ||\r\n (this.invalidText && !this.allowNull ? this.invalidText : false)\r\n );\r\n },\r\n greaterThanEqualToday(date: CDate): boolean | string {\r\n if (this.gteToday !== true) {\r\n return true;\r\n }\r\n return (\r\n date.isSameOrAfter(CDate.now(this.zone).startOfDay()) ||\r\n this.$t(\"DateBeforeToday\").toString()\r\n );\r\n },\r\n greaterThanEqualNow(date: CDate): boolean | string {\r\n if (this.gteNow !== true) {\r\n return true;\r\n }\r\n return (\r\n date.isSameOrAfter(CDate.now(this.zone).addMinutes(-45)) ||\r\n this.$t(\"DateBeforeToday\").toString()\r\n );\r\n },\r\n greaterThanEqual(date: CDate): boolean | string {\r\n return (\r\n (this.gteDates || [])\r\n .filter(d => d !== undefined)\r\n .every(d => date.isSameOrAfter(d!)) ||\r\n this.gteText ||\r\n false\r\n );\r\n },\r\n lessThanEqual(date: CDate): boolean | string {\r\n if (this.lteDate === undefined) {\r\n return true;\r\n }\r\n return date.isSameOrBefore(this.lteDate) || this.lteText || false;\r\n },\r\n setDate(dstring: string | null) {\r\n if (dstring) {\r\n const hours = this.value ? this.value.hours() : 0;\r\n const minutes = this.value ? this.value.minutes() : 0;\r\n this.formattedDate = CDate.fromString(dstring, this.zone)\r\n .withHours(hours)\r\n .withMinutes(minutes)\r\n .longDateTimePrint();\r\n }\r\n },\r\n openDate() {\r\n this.datePicker = true;\r\n this.menu = true;\r\n },\r\n openTime() {\r\n this.datePicker = false;\r\n this.menu = true;\r\n },\r\n closeDate() {\r\n if (this.withTime) {\r\n this.datePicker = false;\r\n } else {\r\n this.menu = false;\r\n }\r\n },\r\n closeTime() {\r\n this.menu = false;\r\n //Timeout prevents flickering.\r\n setTimeout(() => {\r\n this.datePicker = true;\r\n }, 100);\r\n }\r\n },\r\n mounted() {\r\n this.prevGteToday = this.gteToday;\r\n this.prevGteNow = this.gteNow;\r\n this.prevGteDates = this.gteDates;\r\n this.prevLteDate = this.lteDate;\r\n },\r\n data: (): {\r\n menu: boolean;\r\n datePicker: boolean;\r\n prevGteToday: boolean;\r\n prevGteNow: boolean;\r\n prevGteDates: (CDate | undefined)[];\r\n prevLteDate: CDate | undefined;\r\n prevTimePoints: Set;\r\n test: Map;\r\n cachedResult: boolean;\r\n } => ({\r\n menu: false,\r\n datePicker: true,\r\n prevGteToday: false,\r\n prevGteNow: false,\r\n prevGteDates: [],\r\n prevLteDate: undefined,\r\n prevTimePoints: new Set(),\r\n cachedResult: false,\r\n test: new Map()\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DatePicker.vue?vue&type=template&id=6952ecf6&scoped=true&\"\nimport script from \"./DatePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./DatePicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DatePicker.vue?vue&type=style&index=0&id=6952ecf6&scoped=true&lang=css&\"\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 \"6952ecf6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VDatePicker,VIcon,VMenu,VTextField})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadClientEditSupplierBookingInfoDto } from \"@/scripts/cld.api\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n supplierBookingInfo: LoadClientEditSupplierBookingInfoDto\r\n },\r\n components: {\r\n TextMulti,\r\n DatePicker\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSupplierBookingInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSupplierBookingInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSupplierBookingInfo.vue?vue&type=template&id=33821642&\"\nimport script from \"./AccordionSupplierBookingInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSupplierBookingInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(_vm._s(_vm.$t(\"MultiplePickupDelivery\"))+\" \"+_vm._s(_vm.numLocations))])]),_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[(!_vm.disabled)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.editClicked}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-pencil \")])],1):_vm._e()],1)],1)],1),_c('v-expansion-panel-content',[(_vm.subLocations)?_c('div',[((_vm.subLocations.subPickupLocations || []).length > 0)?_c('AccordionSubLocationsTable',{attrs:{\"pickup\":true,\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.subLocations.subPickupLocations,\"short-version\":\"\"}}):_vm._e(),((_vm.subLocations.subDeliveryLocations || []).length > 0)?_c('AccordionSubLocationsTable',{attrs:{\"pickup\":false,\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.subLocations.subDeliveryLocations,\"short-version\":\"\"}}):_vm._e(),_c('v-row',[(\n (_vm.subLocations.subPickupLocations || []).length === 0 &&\n (_vm.subLocations.subDeliveryLocations || []).length === 0\n )?_c('v-col',{staticClass:\"no-padding-top\"},[_c('span',{staticClass:\"darkish-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])]):_vm._e()],1)],1):_vm._e(),_c('AccordionSubLocationsDialog',{attrs:{\"dialog\":_vm.dialog,\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.subLocations},on:{\"close\":function($event){_vm.dialog = false}}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('MultiplePickupDelivery'),\"width\":1150,\"semiFullHeight\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return _vm._l(([true, false]),function(pickup){return _c('AccordionSubLocationsTable',{key:pickup,attrs:{\"pickup\":pickup,\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.locationsDraft(pickup)},on:{\"input\":function($event){return _vm.addEmptyRowIfNeeded(pickup)},\"remove\":function (i) { return _vm.remove(i, pickup); }}})})},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":!_vm.pendingChanges,\"color\":\"success\"},on:{\"click\":_vm.saveDraft}},[_vm._v(\" OK \")])]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","const objectsEqual = (a: any, b: any): boolean => {\r\n if (\r\n typeof a !== \"object\" ||\r\n typeof b !== \"object\" ||\r\n a === null ||\r\n b === null\r\n ) {\r\n return a === b;\r\n }\r\n const keysA = Object.keys(a);\r\n const keysB = Object.keys(b);\r\n for (const k of keysA) {\r\n if (!keysB.includes(k) || !objectsEqual(a[k], b[k])) {\r\n return false;\r\n }\r\n }\r\n for (const k of keysB) {\r\n if (!keysA.includes(k) || !objectsEqual(a[k], b[k])) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\n\r\nexport default objectsEqual;\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.pickup ? _vm.$t('MultiplePickupText') : _vm.$t('MultipleDeliveryText')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[(_vm.shortVersion)?_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.pickup ? _vm.$t(\"PickupLocation\") : _vm.$t(\"DeliveryLocation\"))+\" \")]):_vm._e(),(_vm.shortVersion)?_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.pickup ? _vm.$t(\"PickupAddress\") : _vm.$t(\"DeliveryAddress\"))+\" \")]):_vm._e(),(!_vm.shortVersion)?_c('th',{staticClass:\"country-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Country\"))+\" \")]):_vm._e(),(!_vm.shortVersion)?_c('th',{staticClass:\"location-col\"},[_vm._v(\" \"+_vm._s(_vm.pickup ? _vm.$t(\"PickupLocation\") : _vm.$t(\"DeliveryLocation\"))+\" \")]):_vm._e(),(!_vm.shortVersion)?_c('th',{staticClass:\"address-col\"},[_vm._v(\" \"+_vm._s(_vm.pickup ? _vm.$t(\"PickupAddress\") : _vm.$t(\"DeliveryAddress\"))+\" \")]):_vm._e(),(!_vm.shortVersion)?_c('th',{staticClass:\"button-col\"}):_vm._e()])]),_c('tbody',_vm._l((_vm.subLocations),function(location,index){return _c('tr',{key:index},[(_vm.shortVersion)?_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.locationTextById(location.locationId, location.country))+\" \")]):_vm._e(),(_vm.shortVersion)?_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(location.address)+\" \")]):_vm._e(),(!_vm.shortVersion)?_c('td',{staticClass:\"country-col\"},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.countries},model:{value:(location.country),callback:function ($$v) {_vm.$set(location, \"country\", $$v)},expression:\"location.country\"}})],1):_vm._e(),(!_vm.shortVersion)?_c('td',{staticClass:\"location-col\"},[_c('Autocomplete',{attrs:{\"items\":_vm.countryLocation(location.country).locationsConcated,\"disabled\":!!location.locationId,\"asterisk\":\"\"},on:{\"input\":function($event){return _vm.$emit('input')}},model:{value:(location.locationId),callback:function ($$v) {_vm.$set(location, \"locationId\", $$v)},expression:\"location.locationId\"}})],1):_vm._e(),(!_vm.shortVersion)?_c('td',{staticClass:\"address-col\"},[_c('AddressCombobox',{attrs:{\"country\":location.country,\"county\":_vm.locationSpecifics(location.locationId, location.country)\n .county,\"zipcode\":_vm.locationSpecifics(location.locationId, location.country)\n .zipcode,\"disabled\":!location.locationId},on:{\"zipcode\":function (v) { return _vm.changeZipcode(v, location); }},model:{value:(location.address),callback:function ($$v) {_vm.$set(location, \"address\", $$v)},expression:\"location.address\"}})],1):_vm._e(),(!_vm.shortVersion && !!location.locationId)?_c('td',{staticClass:\"button-col\"},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('remove', index)}}},[_c('v-icon',[_vm._v(\" mdi-close \")])],1)],1):_vm._e()])}),0)]},proxy:true}])})],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('v-combobox',{attrs:{\"value\":_vm.value,\"label\":_vm.label,\"items\":_vm.items,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"spellcheck\":false,\"filter\":_vm.filter,\"disabled\":_vm.disabled,\"item-text\":\"address\",\"item-value\":\"id\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.input,\"update:search-input\":_vm.searchInput},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-row',[_c('v-col',{staticClass:\"small-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(item.address)+\" \")]),_c('v-spacer'),_c('v-col',{staticClass:\"small-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(item.zipcode)+\" \")])],1)]}}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { Country, SuggestionDto } from \"@/scripts/cld.api\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String,\r\n label: String,\r\n country: Number as () => Country,\r\n county: String,\r\n zipcode: String,\r\n tabindex: String,\r\n disabled: Boolean\r\n },\r\n methods: {\r\n input(val?: SuggestionDto | string) {\r\n if (!!val && (val as SuggestionDto).address) {\r\n this.$emit(\"input\", (val as SuggestionDto).address);\r\n this.$emit(\"zipcode\", (val as SuggestionDto).zipcode);\r\n } else {\r\n this.$emit(\"input\", val);\r\n }\r\n },\r\n filter(_: any, queryText: string, itemText: string) {\r\n return stringSearchHit(queryText, itemText, true);\r\n },\r\n searchInput(val?: string | null) {\r\n if (!val) {\r\n this.items = [];\r\n }\r\n if (\r\n !val ||\r\n val.length < 3 ||\r\n !this.country ||\r\n !this.county ||\r\n !this.zipcode\r\n ) {\r\n return;\r\n }\r\n cached(\"addressSuggestions\", [\r\n this.country,\r\n this.county,\r\n this.zipcode,\r\n val\r\n ])\r\n .then(res => {\r\n this.items = this.combine(this.items, res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n combine(l1: SuggestionDto[], l2: SuggestionDto[]): SuggestionDto[] {\r\n let res: SuggestionDto[] = l1;\r\n for (const i of l2) {\r\n if (\r\n !res.find(r => r.address === i.address && r.zipcode === i.zipcode)\r\n ) {\r\n res.push(i);\r\n }\r\n }\r\n res.sort((a, b) => stringCompare(a.address!, b.address!));\r\n return res;\r\n }\r\n },\r\n data: (): { items: SuggestionDto[] } => ({\r\n items: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressCombobox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressCombobox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddressCombobox.vue?vue&type=template&id=48436486&scoped=true&\"\nimport script from \"./AddressCombobox.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddressCombobox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AddressCombobox.vue?vue&type=style&index=0&id=48436486&scoped=true&lang=css&\"\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 \"48436486\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VCombobox,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n Country,\r\n CountyWithZipcodeDto,\r\n CargoType,\r\n RepositoryDto,\r\n SubLocationDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport AddressCombobox from \"@/components/shared/input/AddressCombobox.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\ninterface CountryLocation {\r\n country: Country;\r\n locations: CountyWithZipcodeDto[];\r\n locationsConcated: RepositoryDto[];\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Autocomplete,\r\n Dropdown,\r\n AddressCombobox,\r\n GreyTitle\r\n },\r\n props: {\r\n pickup: Boolean,\r\n shortVersion: Boolean,\r\n agreementRouteId: Number,\r\n cargoType: Number as () => CargoType,\r\n agreementDate: Object as () => CDate,\r\n subLocations: Array as () => SubLocationDto[]\r\n },\r\n methods: {\r\n locationTextById(locationId: number, country: Country): string | undefined {\r\n const countryLocation = this.countryLocation(country);\r\n const location = countryLocation.locationsConcated.find(\r\n l => l.id === locationId\r\n );\r\n if (location !== undefined) {\r\n return location.text;\r\n }\r\n return;\r\n },\r\n locationSpecifics(\r\n locationId: number,\r\n country: Country\r\n ): { county?: string; zipcode?: string } {\r\n const countryLocation = this.countryLocation(country);\r\n const location = countryLocation.locations.find(l => l.id === locationId);\r\n if (location !== undefined) {\r\n return { county: location.county, zipcode: location.zipcode };\r\n }\r\n return {};\r\n },\r\n countryLocation(country: Country): CountryLocation {\r\n let countryLocation:\r\n | CountryLocation\r\n | undefined = this.countryLocations.find(cl => cl.country === country);\r\n if (countryLocation === undefined) {\r\n countryLocation = {\r\n country: country,\r\n locations: [],\r\n locationsConcated: []\r\n };\r\n this.countryLocations.push(countryLocation);\r\n this.fetchLocations(country);\r\n }\r\n return countryLocation;\r\n },\r\n changeZipcode(zipcode: string, subLocation: SubLocationDto) {\r\n const countryLocation = this.countryLocation(subLocation.country);\r\n const currentLocation = countryLocation.locations.find(\r\n l => l.id === subLocation.locationId\r\n );\r\n const newLocation = countryLocation!.locations.find(\r\n l => l.zipcode === zipcode\r\n );\r\n if (\r\n newLocation &&\r\n (!currentLocation || newLocation.zipcode !== currentLocation.zipcode)\r\n ) {\r\n subLocation.locationId = newLocation.id;\r\n }\r\n },\r\n fetchLocations(country: Country) {\r\n cached(\"countiesAndZipcode\", country)\r\n .then(res => {\r\n const countryLocation = this.countryLocations.find(\r\n cl => cl.country === country\r\n )!;\r\n countryLocation.locations = res;\r\n countryLocation.locationsConcated = res.map(\r\n x =>\r\n new RepositoryDto({\r\n id: x.id,\r\n text: `${x.county}, ${x.zipcode}`\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchCountries();\r\n },\r\n data: (): {\r\n countryLocations: CountryLocation[];\r\n countries: RepositoryDto[];\r\n } => ({\r\n countryLocations: [],\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSubLocationsTable.vue?vue&type=template&id=58a3ed14&scoped=true&\"\nimport script from \"./AccordionSubLocationsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSubLocationsTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionSubLocationsTable.vue?vue&type=style&index=0&id=58a3ed14&scoped=true&lang=css&\"\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 \"58a3ed14\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteWithAgreementStatusDto,\r\n LoadClientEditSubLocations,\r\n CargoType,\r\n SubLocationDto\r\n} from \"@/scripts/cld.api\";\r\nimport { saveBeforeContinueDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport objectsEqual from \"@/scripts/misc/objectsEqual\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport AccordionSubLocationsTable from \"@/components/web/loads/client/accordion/AccordionSubLocationsTable.vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n AccordionSubLocationsTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n agreementRouteId: Number,\r\n agreementDate: Object as () => CDate,\r\n cargoType: Number as () => CargoType,\r\n subLocations: Object as () => LoadClientEditSubLocations\r\n },\r\n watch: {\r\n agreementDate: {\r\n handler() {\r\n this.fetchAgreementRoutes();\r\n },\r\n immediate: true\r\n },\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.pickupDraft = [\r\n ...this.subLocations.subPickupLocations!.map(x => this.copy(x))\r\n ];\r\n this.deliveryDraft = [\r\n ...this.subLocations.subDeliveryLocations!.map(x => this.copy(x))\r\n ];\r\n this.addEmptyRowIfNeeded(true);\r\n this.addEmptyRowIfNeeded(false);\r\n }\r\n },\r\n immediate: true\r\n },\r\n agreementRoute() {\r\n this.addEmptyRowIfNeeded(true);\r\n this.addEmptyRowIfNeeded(false);\r\n }\r\n },\r\n computed: {\r\n pendingChanges(): boolean {\r\n return (\r\n !objectsEqual(\r\n this.subLocations.subPickupLocations,\r\n this.pickupDraft.slice(0, -1)\r\n ) ||\r\n !objectsEqual(\r\n this.subLocations.subDeliveryLocations,\r\n this.deliveryDraft.slice(0, -1)\r\n )\r\n );\r\n },\r\n agreementRoute(): AgreementRouteWithAgreementStatusDto | undefined {\r\n return this.agreementRoutes.find(ar => ar.id === this.agreementRouteId);\r\n }\r\n },\r\n methods: {\r\n close() {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.saveDraft();\r\n },\r\n () => {\r\n this.closeCallback();\r\n }\r\n );\r\n } else {\r\n this.closeCallback();\r\n }\r\n },\r\n closeCallback() {\r\n this.$emit(\"close\");\r\n },\r\n saveDraft() {\r\n this.subLocations.subPickupLocations = this.pickupDraft\r\n .slice(0, -1)\r\n .map(x => this.copy(x));\r\n this.subLocations.subDeliveryLocations = this.deliveryDraft\r\n .slice(0, -1)\r\n .map(x => this.copy(x));\r\n this.closeCallback();\r\n },\r\n locationsDraft(pickup: boolean): SubLocationDto[] {\r\n return pickup ? this.pickupDraft : this.deliveryDraft;\r\n },\r\n addEmptyRowIfNeeded(pickup: boolean) {\r\n if (!this.agreementRoute) {\r\n return;\r\n }\r\n if (this.locationsDraft(pickup).filter(l => !l.locationId).length === 0) {\r\n this.locationsDraft(pickup).push(\r\n new SubLocationDto({\r\n locationId: 0,\r\n country: pickup\r\n ? this.agreementRoute.pickupCountry\r\n : this.agreementRoute.deliveryCountry,\r\n address: undefined,\r\n locationDisplayNameReadOnly: undefined\r\n })\r\n );\r\n }\r\n },\r\n copy(location: SubLocationDto): SubLocationDto {\r\n return new SubLocationDto({\r\n locationId: location.locationId,\r\n country: location.country,\r\n address: location.address,\r\n locationDisplayNameReadOnly: undefined\r\n });\r\n },\r\n remove(index: number, pickup: boolean) {\r\n this.locationsDraft(pickup).splice(index, 1);\r\n },\r\n fetchAgreementRoutes() {\r\n cached(\"agreementRoutes\", this.cargoType, this.agreementDate)\r\n .then(res => {\r\n this.agreementRoutes = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n pickupDraft: SubLocationDto[];\r\n deliveryDraft: SubLocationDto[];\r\n agreementRoutes: AgreementRouteWithAgreementStatusDto[];\r\n } => ({\r\n pickupDraft: [],\r\n deliveryDraft: [],\r\n agreementRoutes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSubLocationsDialog.vue?vue&type=template&id=825c7d6c&\"\nimport script from \"./AccordionSubLocationsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSubLocationsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadClientEditSubLocations, CargoType } from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport AccordionSubLocationsDialog from \"@/components/web/loads/client/accordion/AccordionSubLocationsDialog.vue\";\r\nimport AccordionSubLocationsTable from \"@/components/web/loads/client/accordion/AccordionSubLocationsTable.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AccordionSubLocationsDialog,\r\n AccordionSubLocationsTable\r\n },\r\n props: {\r\n agreementRouteId: Number,\r\n cargoType: Number as () => CargoType,\r\n agreementDate: Object as () => CDate,\r\n subLocations: Object as () => LoadClientEditSubLocations | undefined,\r\n expanded: Boolean\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return !this.subLocations;\r\n },\r\n numLocations(): string {\r\n if (!this.subLocations) {\r\n return \"\";\r\n }\r\n return `(${this.subLocations.subPickupLocations!.length +\r\n this.subLocations.subDeliveryLocations!.length})`;\r\n }\r\n },\r\n methods: {\r\n editClicked(e: any) {\r\n this.dialog = true;\r\n if (this.expanded) {\r\n e.stopPropagation();\r\n }\r\n }\r\n },\r\n data: (): { dialog: boolean } => ({ dialog: false })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocations.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocations.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSubLocations.vue?vue&type=template&id=e478d0e8&\"\nimport script from \"./AccordionSubLocations.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSubLocations.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled }},[_vm._v(_vm._s(_vm.$t(\"MultiplePickupDelivery\"))+\" \"+_vm._s(_vm.numLocations))])])],1)],1),(_vm.subLocations)?_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('MultiplePickupText')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"PickupLocation\"))+\" \")]),_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DeliveryAddress\"))+\" \")])])]),_c('tbody',_vm._l((_vm.subLocations.subPickupLocations ||\n []),function(location,id){return _c('tr',{key:id},[_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(location.locationDisplayNameReadOnly)+\" \")]),_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(location.address)+\" \")])])}),0)]},proxy:true}],null,false,2151306419)})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('MultipleDeliveryText')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"location-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DeliveryLocation\"))+\" \")]),_c('th',{staticClass:\"address-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DeliveryAddress\"))+\" \")])])]),_c('tbody',_vm._l((_vm.subLocations.subDeliveryLocations ||\n []),function(location,id){return _c('tr',{key:id},[_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(location.locationDisplayNameReadOnly)+\" \")]),_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(location.address)+\" \")])])}),0)]},proxy:true}],null,false,4276536536)})],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n LoadsClient,\r\n ApiConfiguration,\r\n LoadClientEditSubLocations\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n GreyTitle\r\n },\r\n props: {\r\n loadId: Number\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchSubLocations();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return (\r\n !this.subLocations ||\r\n (this.subLocations.subPickupLocations!.length === 0 &&\r\n this.subLocations.subDeliveryLocations!.length === 0)\r\n );\r\n },\r\n numLocations(): string {\r\n if (!this.subLocations) {\r\n return \"\";\r\n }\r\n return `(${this.subLocations.subPickupLocations!.length +\r\n this.subLocations.subDeliveryLocations!.length})`;\r\n }\r\n },\r\n methods: {\r\n fetchSubLocations() {\r\n this.subLocations = undefined;\r\n if (!this.loadId) {\r\n return;\r\n }\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .sublocations(this.loadId)\r\n .then(res => {\r\n this.subLocations = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n subLocations: LoadClientEditSubLocations | undefined;\r\n } => ({\r\n subLocations: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationReadOnly.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSubLocationReadOnly.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSubLocationReadOnly.vue?vue&type=template&id=56d57a72&scoped=true&\"\nimport script from \"./AccordionSubLocationReadOnly.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSubLocationReadOnly.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionSubLocationReadOnly.vue?vue&type=style&index=0&id=56d57a72&scoped=true&lang=css&\"\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 \"56d57a72\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VRow,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled }},[_vm._v(_vm._s(_vm.$t(\"RelatedLoads\"))+\" \"+_vm._s(_vm.numRelatedLoads))])]),_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[(_vm.editable && !!_vm.relatedLoads)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.editClicked}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-pencil \")])],1):_vm._e(),(!_vm.editable && !_vm.disabled)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.editClicked}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-text-box-search-outline \")])],1):_vm._e()],1)],1)],1),_c('v-expansion-panel-content',[(_vm.relatedLoads)?_c('v-row',{staticClass:\"scrollable max-300\"},[((_vm.relatedLoads.parentLoads || []).length > 0)?_c('v-col',{staticClass:\"no-vertical-padding small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ParentLoad')}}),_c('LoadRelatedTableCompact',{attrs:{\"items\":_vm.relatedLoads.parentLoads,\"shortVersion\":\"\"}})],1):_vm._e(),((_vm.relatedLoads.childLoads || []).length > 0)?_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ChildLoads')}}),_c('LoadRelatedTableCompact',{attrs:{\"items\":_vm.relatedLoads.childLoads,\"shortVersion\":\"\"}})],1):_vm._e(),(\n (_vm.relatedLoads.parentLoads || []).length === 0 &&\n (_vm.relatedLoads.childLoads || []).length === 0\n )?_c('v-col',{staticClass:\"no-padding-top\"},[_c('span',{staticClass:\"darkish-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])]):_vm._e()],1):_vm._e()],1),(_vm.relatedLoads)?_c('AccordionRelatedLoadsDialog',{attrs:{\"dialog\":_vm.dialog,\"relatedLoads\":_vm.relatedLoads,\"editable\":_vm.editable},on:{\"close\":function($event){_vm.dialog = false}}}):_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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('RelatedLoads'),\"semiFullHeight\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ParentLoad')}})],1),(_vm.editable)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LoadSearchInput',{attrs:{\"excludedLoadIds\":_vm.excludedLoadIds},on:{\"click\":function (v) {\n _vm.addRelatedLoad(false, v);\n }}})],1):_vm._e(),(_vm.parentLoadsDraft.length > 0)?_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('LoadRelatedTable',{attrs:{\"items\":_vm.parentLoadsDraft,\"editable\":_vm.editable},on:{\"remove\":_vm.removeParent}})],1):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding large-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ChildLoads')}})],1),(_vm.editable)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('LoadSearchInput',{attrs:{\"excludedLoadIds\":_vm.excludedLoadIds},on:{\"click\":function (v) {\n _vm.addRelatedLoad(true, v);\n }}})],1):_vm._e(),(_vm.childLoadsDraft.length > 0)?_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('LoadRelatedTable',{attrs:{\"items\":_vm.childLoadsDraft,\"editable\":_vm.editable},on:{\"remove\":_vm.removeChild}})],1):_vm._e()],1)]},proxy:true},(_vm.editable)?{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":!_vm.pendingChanges,\"color\":\"success\"},on:{\"click\":_vm.saveDraft}},[_vm._v(\" OK \")])]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"transition\":\"scale-transition\",\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){return [_c('TextSingle',{staticClass:\"search-field\",attrs:{\"label\":_vm.$t('LoadID') + ' / ' + _vm.$t('TransportNo') + ' / ' + _vm.$t('BookingNo'),\"autofocus\":\"\"},on:{\"input\":_vm.input,\"click\":function($event){_vm.menu = true}},model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('v-sheet',{staticClass:\"result-drop-down\"},[(!!_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}}):_vm._e(),(_vm.visibleItems.length > 0)?_c('LoadSearchTable',{attrs:{\"items\":_vm.visibleItems,\"removeRelatedLoadButton\":_vm.removeRelatedLoadButton,\"shortVersion\":_vm.shortVersion},on:{\"click\":function (v) {\n _vm.$emit('click', v);\n _vm.menu = false;\n }}}):(_vm.value)?_c('v-list',[_c('v-list-item',[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"NothingToShow\"))+\" \")]),_c('v-spacer')],1)],1)],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('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"LoadID\"))+\" \")]),_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"TransportNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"BookingNo\"))+\" \")]),_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"PickupLocation\"))+\" - \"+_vm._s(_vm.$t(\"DeliveryLocation\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Status\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"PickupEarliest\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"TruckType\"))+\" \")])])]),_c('tbody',_vm._l((_vm.items),function(item){return _c('tr',{key:item.loadId,staticClass:\"clickable\",on:{\"mouseup\":function($event){return _vm.$emit('click', item.loadId)}}},[_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(item.loadId)+\" \")]),_c('td',{staticClass:\"slim-col\"},[(_vm.transportNoOkToShow(item))?_c('EllipsisTableItem',{attrs:{\"text\":item.transportNo,\"width\":\"95\"}}):_vm._e()],1),_c('td',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(item.bookingNo)+\" \")]),_c('td',{staticClass:\"slim-col\"},[_c('EllipsisTableItem',{attrs:{\"text\":item.locations,\"width\":\"155\"}})],1),_c('td',[_vm._v(\" \"+_vm._s(_vm.loadStatusName(item.status))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(item.pickupEarliest.datePrint())+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")])])}),0)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ActorType, LoadSearchResultDto, LoadStatus } from \"@/scripts/cld.api\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { loadStatusName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n EllipsisTableItem\r\n },\r\n props: {\r\n items: Array as () => LoadSearchResultDto[]\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n loadStatusName: loadStatusName,\r\n truckTypeName: truckTypeName,\r\n transportNoOkToShow(load: LoadSearchResultDto): boolean {\r\n return (\r\n this.actorType !== ActorType.Supplier ||\r\n load.status !== LoadStatus.Ordered\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSearchTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSearchTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadSearchTable.vue?vue&type=template&id=d06be3b6&scoped=true&\"\nimport script from \"./LoadSearchTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadSearchTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadSearchTable.vue?vue&type=style&index=0&id=d06be3b6&scoped=true&lang=css&\"\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 \"d06be3b6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadSearchResultDto } from \"@/scripts/cld.api\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport LoadSearchTable from \"@/components/web/loads/shared/search/LoadSearchTable.vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextSingle,\r\n LoadSearchTable\r\n },\r\n props: {\r\n excludedLoadIds: Array as () => number[],\r\n removeRelatedLoadButton: Boolean,\r\n shortVersion: Boolean\r\n },\r\n computed: {\r\n visibleItems(): LoadSearchResultDto[] {\r\n return this.items.filter(i => this.itemVisible(i, this.value || \"\"));\r\n }\r\n },\r\n methods: {\r\n input(val?: string | null) {\r\n if (val !== undefined && val !== null) {\r\n this.menu = true;\r\n if (val !== \"\") {\r\n this.fetchMatchingLoads(val);\r\n }\r\n }\r\n },\r\n itemVisible(item: LoadSearchResultDto, text: string): boolean {\r\n if (this.excludedLoadIds.includes(item.loadId)) {\r\n return false;\r\n }\r\n return stringSearchHit(\r\n text.trim(),\r\n item.transportNo + \" \" + item.loadId.toString() + \" \" + item.bookingNo,\r\n false\r\n );\r\n },\r\n fetchMatchingLoads(val: string) {\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n this.items = [];\r\n cached(\"loadSearch\", [val.trim()])\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.items = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n menu: boolean;\r\n loading: number;\r\n value: string | null | undefined;\r\n items: LoadSearchResultDto[];\r\n } => ({ menu: false, loading: 0, value: null, items: [] })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSearchInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSearchInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadSearchInput.vue?vue&type=template&id=1187bdfb&scoped=true&\"\nimport script from \"./LoadSearchInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadSearchInput.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadSearchInput.vue?vue&type=style&index=0&id=1187bdfb&scoped=true&lang=css&\"\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 \"1187bdfb\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VList,VListItem,VMenu,VProgressLinear,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"item-key\":\"loadId\",\"custom-group\":_vm.customGroup,\"group-by\":\"oviktigt\",\"disable-pagination\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"group.header\",fn:function(ref){\nvar group = ref.group;\nreturn [_c('td',{staticClass:\"font-weight-bold group-header\",attrs:{\"colspan\":\"99\"}},[_vm._v(\" \"+_vm._s(group)+\" \")])]}},{key:\"item.loadStatus\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.loadStatusName(item.loadStatus))+\" \")]}},{key:\"item.loadedDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('loadedDate', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.loadedDate))+\" \")])]}},{key:\"item.bookedPickupDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('bookedPickupDate', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.bookedPickupDate))+\" \")])]}},{key:\"item.pickupLatest\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('pickupLatest', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.pickupLatest))+\" \")])]}},{key:\"item.pickupEarliest\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('pickupEarliest', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.pickupEarliest))+\" \")])]}},{key:\"item.deliveryDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('deliveryDate', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.deliveryDate))+\" \")])]}},{key:\"item.bookedDeliveryDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('bookedDeliveryDate', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.bookedDeliveryDate))+\" \")])]}},{key:\"item.deliveryLatest\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{class:_vm.dateStyling('deliveryLatest', item)},[_vm._v(\" \"+_vm._s(_vm.presentDate(item.deliveryLatest))+\" \")])]}},{key:\"item.truckType\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")]}},(_vm.editable)?{key:\"item.remove\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.remove(item)}}},on),[_vm._v(\" mdi-close \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Remove\")))])])]}}:null],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { RelatedLoadSummaryDto } from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { loadStatusName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader\r\n },\r\n props: {\r\n items: Array as () => RelatedLoadSummaryDto[],\r\n editable: Boolean,\r\n shortVersion: Boolean\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n loadStatusName: loadStatusName,\r\n customGroup(\r\n items: RelatedLoadSummaryDto[]\r\n ): { name: string; sortVal: string; items: RelatedLoadSummaryDto[] }[] {\r\n let res: {\r\n name: string;\r\n sortVal: string;\r\n items: RelatedLoadSummaryDto[];\r\n }[] = [];\r\n for (let ar of items) {\r\n const groupName =\r\n this.$t(\"PickupLocation\") +\r\n \": \" +\r\n ar.pickupLocation! +\r\n \" | \" +\r\n this.$t(\"DeliveryLocation\") +\r\n \": \" +\r\n ar.deliveryLocation +\r\n \" | \" +\r\n this.$t(\"DeliveryAddress\") +\r\n \": \" +\r\n ar.deliveryAddress;\r\n\r\n const matchingGroup = res.find(x => x.name === groupName);\r\n if (matchingGroup) {\r\n matchingGroup.items.push(ar);\r\n } else {\r\n res.push({\r\n name: groupName,\r\n sortVal: groupName,\r\n items: [ar]\r\n });\r\n }\r\n }\r\n res.sort((a, b) => {\r\n return stringCompare(a.sortVal, b.sortVal);\r\n });\r\n return res;\r\n },\r\n presentDate(d?: CDate): string {\r\n return d === undefined\r\n ? \"\"\r\n : d.shortDateTimePrint() + \" \" + `(${d.offsetName})`;\r\n },\r\n dateStyling(dateName: string, item: RelatedLoadSummaryDto) {\r\n if (dateName === \"loadedDate\" && item.loadedDate) {\r\n return \"bold-date\";\r\n }\r\n if (\r\n dateName === \"bookedPickupDate\" &&\r\n !item.loadedDate &&\r\n item.bookedPickupDate\r\n ) {\r\n return \"bold-date\";\r\n }\r\n\r\n if (\r\n dateName === \"pickupLatest\" &&\r\n !item.loadedDate &&\r\n !item.bookedPickupDate &&\r\n item.pickupLatest\r\n ) {\r\n return \"bold-date\";\r\n }\r\n if (\r\n dateName === \"pickupEarliest\" &&\r\n !item.loadedDate &&\r\n !item.bookedPickupDate &&\r\n !item.pickupLatest &&\r\n item.pickupEarliest\r\n ) {\r\n return \"bold-date\";\r\n }\r\n\r\n if (dateName === \"deliveryDate\" && item.deliveryDate) {\r\n return \"bold-date\";\r\n }\r\n if (\r\n dateName === \"bookedDeliveryDate\" &&\r\n !item.deliveryDate &&\r\n item.bookedDeliveryDate\r\n ) {\r\n return \"bold-date\";\r\n }\r\n\r\n if (\r\n dateName === \"deliveryLatest\" &&\r\n !item.deliveryDate &&\r\n !item.bookedDeliveryDate &&\r\n item.deliveryLatest\r\n ) {\r\n return \"bold-date\";\r\n }\r\n\r\n return \"\";\r\n },\r\n remove(item: RelatedLoadSummaryDto) {\r\n this.$emit(\"remove\", item);\r\n }\r\n },\r\n computed: {\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"loadId\",\r\n text: \"LoadID\"\r\n },\r\n {\r\n value: \"transportNo\",\r\n text: \"TransportNo\"\r\n },\r\n {\r\n value: \"regNo\",\r\n text: \"TruckNo\"\r\n },\r\n {\r\n value: \"loadStatus\",\r\n text: \"Status\"\r\n },\r\n {\r\n value: \"loadedDate\",\r\n text: \"Loaded\"\r\n },\r\n {\r\n value: \"bookedPickupDate\",\r\n text: \"BookedPickupDate\"\r\n },\r\n {\r\n value: \"pickupLatest\",\r\n text: \"PickupLatest\"\r\n },\r\n {\r\n value: \"pickupEarliest\",\r\n text: \"PickupEarliest\"\r\n },\r\n {\r\n value: \"deliveryDate\",\r\n text: \"Delivered\"\r\n },\r\n {\r\n value: \"bookedDeliveryDate\",\r\n text: \"BookedDeliveryDate\"\r\n },\r\n {\r\n value: \"deliveryLatest\",\r\n text: \"DeliveryLatest\"\r\n },\r\n {\r\n value: \"truckType\",\r\n text: \"TruckType\"\r\n },\r\n {\r\n value: \"supplierName\",\r\n text: \"Supplier\"\r\n },\r\n {\r\n value: \"clientName\",\r\n text: \"Client\"\r\n },\r\n {\r\n value: \"remove\"\r\n }\r\n ];\r\n return headers;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadRelatedTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadRelatedTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadRelatedTable.vue?vue&type=template&id=ea9bd888&scoped=true&\"\nimport script from \"./LoadRelatedTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadRelatedTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadRelatedTable.vue?vue&type=style&index=0&id=ea9bd888&scoped=true&lang=css&\"\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 \"ea9bd888\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n RelatedLoadsDto,\r\n RelatedLoadSummaryDto,\r\n ApiConfiguration,\r\n LoadsClientClient\r\n} from \"@/scripts/cld.api\";\r\nimport { saveBeforeContinueDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport objectsEqual from \"@/scripts/misc/objectsEqual\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport LoadSearchInput from \"@/components/web/loads/shared/search/LoadSearchInput.vue\";\r\nimport LoadRelatedTable from \"@/components/web/loads/shared/search/LoadRelatedTable.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n LoadSearchInput,\r\n LoadRelatedTable,\r\n GreyTitle\r\n },\r\n props: {\r\n dialog: Boolean,\r\n relatedLoads: Object as () => RelatedLoadsDto,\r\n editable: Boolean\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.parentLoadsDraft = this.relatedLoads.parentLoads!.map(x =>\r\n Object.assign({}, x)\r\n );\r\n this.childLoadsDraft = this.relatedLoads.childLoads!.map(x =>\r\n Object.assign({}, x)\r\n );\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n pendingChanges(): boolean {\r\n return (\r\n !objectsEqual(this.relatedLoads.parentLoads, this.parentLoadsDraft) ||\r\n !objectsEqual(this.relatedLoads.childLoads, this.childLoadsDraft)\r\n );\r\n },\r\n excludedLoadIds(): number[] {\r\n return [...this.parentLoadsDraft, ...this.childLoadsDraft].map(\r\n l => l.loadId\r\n );\r\n }\r\n },\r\n methods: {\r\n close() {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.saveDraft();\r\n },\r\n () => {\r\n this.closeCallback();\r\n }\r\n );\r\n } else {\r\n this.closeCallback();\r\n }\r\n },\r\n closeCallback() {\r\n this.$emit(\"close\");\r\n },\r\n saveDraft() {\r\n this.relatedLoads.parentLoads = this.parentLoadsDraft\r\n .slice(0, this.parentLoadsDraft.length)\r\n .map(x => this.copy(x));\r\n this.relatedLoads.childLoads = this.childLoadsDraft\r\n .slice(0, this.childLoadsDraft.length)\r\n .map(x => this.copy(x));\r\n this.closeCallback();\r\n },\r\n copy(relatedLoad: RelatedLoadSummaryDto): RelatedLoadSummaryDto {\r\n return new RelatedLoadSummaryDto(relatedLoad);\r\n },\r\n addRelatedLoad(child: boolean, loadId: number) {\r\n return new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .relatedLoadDetails(loadId)\r\n .then(res => {\r\n if (child) {\r\n this.childLoadsDraft.push(res);\r\n } else {\r\n this.parentLoadsDraft.push(res);\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n removeParent(load: RelatedLoadSummaryDto) {\r\n this.parentLoadsDraft = this.parentLoadsDraft.filter(\r\n l => l.loadId !== load.loadId\r\n );\r\n },\r\n removeChild(load: RelatedLoadSummaryDto) {\r\n this.childLoadsDraft = this.childLoadsDraft.filter(\r\n l => l.loadId !== load.loadId\r\n );\r\n }\r\n },\r\n data: (): {\r\n parentLoadsDraft: RelatedLoadSummaryDto[];\r\n childLoadsDraft: RelatedLoadSummaryDto[];\r\n } => ({\r\n parentLoadsDraft: [],\r\n childLoadsDraft: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRelatedLoadsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRelatedLoadsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionRelatedLoadsDialog.vue?vue&type=template&id=68bafe9a&\"\nimport script from \"./AccordionRelatedLoadsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionRelatedLoadsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"LoadID\"))+\" \")]),_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"TransportNo\"))+\" \")]),_c('th',{staticClass:\"slim-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"PickupLocation\"))+\" - \"+_vm._s(_vm.$t(\"DeliveryLocation\"))+\" \")])])]),_c('tbody',_vm._l((_vm.items),function(item){return _c('tr',{key:item.loadId},[_c('td',{staticClass:\"slim-col no-padding-left\"},[_vm._v(\" \"+_vm._s(item.loadId)+\" \")]),_c('td',{staticClass:\"slim-col no-padding-left no-margin-left\"},[_c('EllipsisTableItem',{attrs:{\"text\":item.transportNo,\"width\":\"105\"}})],1),_c('td',{staticClass:\"slim-col\"},[_c('EllipsisTableItem',{attrs:{\"text\":item.locations,\"width\":\"150\"}})],1)])}),0)]},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\r\nimport Vue from \"vue\";\r\nimport { RelatedLoadSummaryDto } from \"@/scripts/cld.api\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n EllipsisTableItem\r\n },\r\n props: {\r\n items: Array as () => RelatedLoadSummaryDto[]\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadRelatedTableCompact.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadRelatedTableCompact.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadRelatedTableCompact.vue?vue&type=template&id=66b574c2&scoped=true&\"\nimport script from \"./LoadRelatedTableCompact.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadRelatedTableCompact.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadRelatedTableCompact.vue?vue&type=style&index=0&id=66b574c2&scoped=true&lang=css&\"\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 \"66b574c2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { RelatedLoadsDto } from \"@/scripts/cld.api\";\r\nimport AccordionRelatedLoadsDialog from \"@/components/web/loads/client/accordion/AccordionRelatedLoadsDialog.vue\";\r\nimport LoadRelatedTableCompact from \"@/components/web/loads/shared/details/LoadRelatedTableCompact.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AccordionRelatedLoadsDialog,\r\n LoadRelatedTableCompact,\r\n GreyTitle\r\n },\r\n props: {\r\n relatedLoads: Object as () => RelatedLoadsDto | undefined,\r\n expanded: Boolean,\r\n editable: Boolean\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return !this.anyRelatedLoads && !this.editable;\r\n },\r\n numRelatedLoads(): string {\r\n if (!this.relatedLoads) {\r\n return \"\";\r\n }\r\n return `(${this.relatedLoads!.parentLoads!.length +\r\n this.relatedLoads!.childLoads!.length})`;\r\n },\r\n anyRelatedLoads(): boolean {\r\n return (\r\n !!this.relatedLoads &&\r\n (this.relatedLoads.parentLoads!.length > 0 ||\r\n this.relatedLoads.childLoads!.length > 0)\r\n );\r\n }\r\n },\r\n methods: {\r\n editClicked(e: any) {\r\n this.dialog = true;\r\n if (this.expanded) {\r\n e.stopPropagation();\r\n }\r\n }\r\n },\r\n data: (): { dialog: boolean } => ({\r\n dialog: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRelatedLoads.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionRelatedLoads.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionRelatedLoads.vue?vue&type=template&id=d289fa40&scoped=true&\"\nimport script from \"./AccordionRelatedLoads.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionRelatedLoads.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionRelatedLoads.vue?vue&type=style&index=0&id=d289fa40&scoped=true&lang=css&\"\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 \"d289fa40\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-input',{attrs:{\"error\":!_vm.hasAtleastOneContainer}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('div',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled, 'error-shake': !_vm.disabled }},[_vm._v(\" \"+_vm._s(_vm.$t(\"Containers\"))+\" \"+_vm._s(_vm.numContainers)+\" \")])]),(_vm.editable)?_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[(!_vm.disabled)?_c('v-btn',{staticClass:\"error-shake\",attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.editClicked}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-pencil \")])],1):_vm._e()],1):_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.detailsClicked}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-text-box-search-outline \")])],1)],1)],1)],1)],1),_c('v-expansion-panel-content',[(_vm.containerValues)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues.dateForClosing,\"label\":_vm.$t('DateForClosing'),\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues.etd,\"label\":_vm.$t('ETD'),\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues.eta,\"label\":_vm.$t('ETA'),\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues.shipName,\"label\":_vm.$t('ShipName')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues.thcValue,\"label\":_vm.thcLabel}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"clickable\":\"\",\"value\":_vm.containerValues.stuffingLocation,\"label\":_vm.$t('StuffingLocation')}})],1),_c('v-col',{staticClass:\"small-vertical-padding no-padding-right make-me-scroll\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ContainerNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"SealNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"BLMark\"))+\" \")])])]),_c('tbody',[_vm._l((_vm.containerValues.containers || []),function(container,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(container.containerNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.sealNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.blMark)+\" \")])])}),((_vm.containerValues.containers || []).length === 0)?_c('tr',[_c('th',{attrs:{\"colspan\":\"3\"}},[_c('span',{staticClass:\"grey-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])])]):_vm._e()],2)]},proxy:true}],null,false,942596525)})],1)],1):_vm._e(),_c('AccordionContainersDialog',{attrs:{\"dialog\":_vm.dialog,\"containerValues\":_vm.containerValues},on:{\"close\":function($event){_vm.dialog = false}}}),_c('AccordionContainersDetailsDialog',{attrs:{\"dialog\":_vm.detailsDialog,\"containerValues\":_vm.containerValues},on:{\"close\":function($event){_vm.detailsDialog = false}}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Containers'),\"width\":1000,\"semiFullHeight\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.containerValuesDraft)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom tiny-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ContainerNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"SealNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"BLMark\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ExternalContainerID\"))+\" \")]),_c('th',{staticClass:\"narrow-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Weight\"))+\" \")]),_c('th',{staticClass:\"narrow-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"VolumeM3\"))+\" \")]),_c('th',{staticClass:\"narrow-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Packages\"))+\" \")]),_c('th')])]),_c('tbody',_vm._l((_vm.containerValuesDraft.containers || []),function(container,index){return _c('tr',{key:index},[_c('td',[_c('TextSingle',{model:{value:(container.containerNo),callback:function ($$v) {_vm.$set(container, \"containerNo\", $$v)},expression:\"container.containerNo\"}})],1),_c('td',[_c('TextSingle',{model:{value:(container.sealNo),callback:function ($$v) {_vm.$set(container, \"sealNo\", $$v)},expression:\"container.sealNo\"}})],1),_c('td',[_c('TextSingle',{model:{value:(container.blMark),callback:function ($$v) {_vm.$set(container, \"blMark\", $$v)},expression:\"container.blMark\"}})],1),_c('td',[_c('NumberInput',{attrs:{\"allow-null\":\"\"},model:{value:(container.externalContainerId),callback:function ($$v) {_vm.$set(container, \"externalContainerId\", $$v)},expression:\"container.externalContainerId\"}})],1),_c('td',{staticClass:\"narrow-col\"},[_c('NumberInput',{attrs:{\"allow-null\":\"\"},model:{value:(container.weight),callback:function ($$v) {_vm.$set(container, \"weight\", $$v)},expression:\"container.weight\"}})],1),_c('td',{staticClass:\"narrow-col\"},[_c('NumberInput',{attrs:{\"allow-null\":\"\"},model:{value:(container.volume),callback:function ($$v) {_vm.$set(container, \"volume\", $$v)},expression:\"container.volume\"}})],1),_c('td',{staticClass:\"narrow-col\"},[_c('NumberInput',{attrs:{\"allow-null\":\"\"},model:{value:(container.packages),callback:function ($$v) {_vm.$set(container, \"packages\", $$v)},expression:\"container.packages\"}})],1),_c('td',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.removeContainer(index)}}},[_c('v-icon',[_vm._v(\" mdi-close \")])],1)],1)])}),0)]},proxy:true}],null,false,365597409)})],1)],1):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-btn',{attrs:{\"color\":\"btn-cyan\"},on:{\"click\":_vm.addContainer}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-plus \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Container\"))+\" \")],1),_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":!_vm.pendingChanges,\"color\":\"success\"},on:{\"click\":_vm.saveDraft}},[_vm._v(\" OK \")])]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ContainerDto, LoadClientEditContainersDto } from \"@/scripts/cld.api\";\r\nimport { saveBeforeContinueDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport objectsEqual from \"@/scripts/misc/objectsEqual\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle,\r\n NumberInput\r\n },\r\n props: {\r\n dialog: Boolean,\r\n containerValues: Object as () => LoadClientEditContainersDto\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.containerValuesDraft = this.copy(this.containerValues);\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n pendingChanges(): boolean {\r\n return !objectsEqual(this.containerValuesDraft, this.containerValues);\r\n }\r\n },\r\n methods: {\r\n close() {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.saveDraft();\r\n },\r\n () => {\r\n this.closeCallback();\r\n }\r\n );\r\n } else {\r\n this.closeCallback();\r\n }\r\n },\r\n closeCallback() {\r\n this.$emit(\"close\");\r\n },\r\n saveDraft() {\r\n this.containerValues.incoterms = this.containerValuesDraft!.incoterms;\r\n this.containerValues.knCurrency = this.containerValuesDraft!.knCurrency;\r\n this.containerValues.knValue = this.containerValuesDraft!.knValue;\r\n this.containerValues.knProductCode = this.containerValuesDraft!.knProductCode;\r\n this.containerValues.containers = [\r\n ...this.containerValuesDraft!.containers!\r\n ];\r\n this.closeCallback();\r\n },\r\n copy(obj: LoadClientEditContainersDto): LoadClientEditContainersDto {\r\n return new LoadClientEditContainersDto({\r\n eta: obj.eta,\r\n etd: obj.etd,\r\n dateForClosing: obj.dateForClosing,\r\n stuffingLocation: obj.stuffingLocation,\r\n shipName: obj.shipName,\r\n incoterms: obj.incoterms,\r\n knCurrency: obj.knCurrency,\r\n knValue: obj.knValue,\r\n knProductCode: obj.knProductCode,\r\n sumPackages: obj.sumPackages,\r\n sumVolume: obj.sumVolume,\r\n sumWeight: obj.sumWeight,\r\n thcValue: obj.thcValue,\r\n thcCurrency: obj.thcCurrency,\r\n containers: obj.containers!.map(\r\n c =>\r\n new ContainerDto({\r\n id: c.id,\r\n containerNo: c.containerNo,\r\n sealNo: c.sealNo,\r\n weight: c.weight,\r\n volume: c.volume,\r\n packages: c.packages,\r\n blMark: c.blMark,\r\n externalContainerId: c.externalContainerId\r\n })\r\n )\r\n });\r\n },\r\n addContainer() {\r\n this.containerValuesDraft!.containers!.push(\r\n new ContainerDto({\r\n id: 0,\r\n containerNo: undefined,\r\n sealNo: undefined,\r\n weight: undefined,\r\n volume: undefined,\r\n packages: undefined,\r\n blMark: undefined,\r\n externalContainerId: undefined\r\n })\r\n );\r\n },\r\n removeContainer(index: number) {\r\n this.containerValuesDraft!.containers!.splice(index, 1);\r\n }\r\n },\r\n data: (): {\r\n containerValuesDraft?: LoadClientEditContainersDto;\r\n } => ({\r\n containerValuesDraft: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainersDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainersDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionContainersDialog.vue?vue&type=template&id=0fc0509f&scoped=true&\"\nimport script from \"./AccordionContainersDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionContainersDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionContainersDialog.vue?vue&type=style&index=0&id=0fc0509f&scoped=true&lang=css&\"\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 \"0fc0509f\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Containers'),\"width\":1000},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.containerValues)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\",\"height\":\"500\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ContainerNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"SealNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"BLMark\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ExternalContainerID\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Weight\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"VolumeM3\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Packages\"))+\" \")])])]),_c('tbody',_vm._l((_vm.containerValues.containers || []),function(container,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(container.containerNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.sealNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.blMark)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.externalContainerId)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.weight)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.volume)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(container.packages)+\" \")])])}),0),_c('tfoot',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Total\"))+\" \")]),_c('th'),_c('th'),_c('th'),_c('th',[_vm._v(\" \"+_vm._s(_vm.containerValues.sumWeight)+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.containerValues.sumVolume)+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.containerValues.sumPackages)+\" \")])])])]},proxy:true}],null,false,4088439808)})],1)],1):_vm._e()]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadClientEditContainersDto } from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n dialog: Boolean,\r\n containerValues: Object as () => LoadClientEditContainersDto\r\n },\r\n methods: {\r\n close() {\r\n this.closeCallback();\r\n },\r\n closeCallback() {\r\n this.$emit(\"close\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainersDetailsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainersDetailsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionContainersDetailsDialog.vue?vue&type=template&id=47522cd0&scoped=true&\"\nimport script from \"./AccordionContainersDetailsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionContainersDetailsDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionContainersDetailsDialog.vue?vue&type=style&index=0&id=47522cd0&scoped=true&lang=css&\"\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 \"47522cd0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VRow,VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n LoadClientEditContainersDto,\r\n LoadStatus,\r\n LoadsClient,\r\n ApiConfiguration\r\n} from \"@/scripts/cld.api\";\r\nimport AccordionContainersDialog from \"@/components/web/loads/client/accordion/AccordionContainersDialog.vue\";\r\nimport AccordionContainersDetailsDialog from \"@/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AccordionContainersDialog,\r\n ReadOnlyText,\r\n AccordionContainersDetailsDialog\r\n },\r\n props: {\r\n loadStatus: Number as () => LoadStatus | undefined,\r\n containerValues: Object as () => LoadClientEditContainersDto | undefined,\r\n expanded: Boolean,\r\n editable: Boolean,\r\n loadId: Number\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return !this.containerValues;\r\n },\r\n numContainers(): string {\r\n if (!this.containerValues) {\r\n return \"\";\r\n }\r\n return `(${this.containerValues.containers!.length})`;\r\n },\r\n hasAtleastOneContainer(): boolean {\r\n return (\r\n (!!this.containerValues &&\r\n this.containerValues.containers!.length > 0) ||\r\n !this.editable\r\n );\r\n },\r\n valueLines(): { key: any; value: any }[] {\r\n return [\r\n { key: this.$t(\"Incoterms\"), value: this.containerValues!.incoterms },\r\n { key: this.$t(\"KNCurrency\"), value: this.containerValues!.knCurrency },\r\n { key: this.$t(\"KNValue\"), value: this.containerValues!.knValue },\r\n {\r\n key: this.$t(\"KNProductCode\"),\r\n value: this.containerValues!.knProductCode\r\n }\r\n ];\r\n },\r\n thcLabel(): string {\r\n let res = \"THC\";\r\n if (this.containerValues!.thcCurrency) {\r\n res += \" (\" + this.containerValues!.thcCurrency + \")\";\r\n }\r\n return res;\r\n }\r\n },\r\n methods: {\r\n editClicked(e: any) {\r\n this.dialog = true;\r\n if (this.expanded) {\r\n e.stopPropagation();\r\n }\r\n },\r\n detailsClicked(e: any) {\r\n this.detailsDialog = true;\r\n if (this.expanded) {\r\n e.stopPropagation();\r\n }\r\n },\r\n exportToPDF() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .exportContainerPdf(this.loadId)\r\n .then(res => {\r\n excelPrompt(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { dialog: boolean; detailsDialog: boolean } => ({\r\n dialog: false,\r\n detailsDialog: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionContainers.vue?vue&type=template&id=8b5a5680&scoped=true&\"\nimport script from \"./AccordionContainers.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionContainers.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionContainers.vue?vue&type=style&index=0&id=8b5a5680&scoped=true&lang=css&\"\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 \"8b5a5680\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VInput } from 'vuetify/lib/components/VInput';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VInput,VRow,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled }},[_vm._v(_vm._s(_vm.$t(\"Appendix\"))+\" \"+_vm._s(_vm.numAppendices))])])],1)],1),_c('v-expansion-panel-content',[(_vm.appendices)?_c('v-row',[_vm._l((_vm.appendices),function(appendix){return _c('v-col',{key:appendix.id,staticClass:\"small-vertical-padding clickable\",attrs:{\"cols\":\"12\"},on:{\"click\":function (e) { return _vm.displayAppendixDialog(appendix.type, appendix.id, e); }}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.appendixName(appendix.type))+\" \"),_c('v-icon',{attrs:{\"size\":\"22\"}},[_vm._v(\" mdi-text-box-search-outline \")])],1)])}),(_vm.appendices.length === 0)?_c('v-col',{staticClass:\"no-padding-top\"},[_c('span',{staticClass:\"darkish-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])]):_vm._e()],2):_vm._e(),_c('AppendixConsigneeDialog',{attrs:{\"appendixId\":_vm.selectedConsigneeId},on:{\"close\":function($event){return _vm.closeConsignee()}}}),_c('AppendixPackageSpecDialog',{attrs:{\"appendixId\":_vm.selectedPackageSpecId},on:{\"close\":function($event){return _vm.closePackageSpec()}}})],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('DialogCard',{attrs:{\"dialog\":!!_vm.appendixId,\"loading\":!_vm.data,\"title\":_vm.$t('PackageSpecification')},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-sides small-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" Handling Unit \")]),_c('th',[_vm._v(\" Handling Unit ID \")]),_c('th',[_vm._v(\" Package No. \")]),_c('th',[_vm._v(\" Delivery No. \")]),_c('th',[_vm._v(\" Order No. \")]),_c('th',[_vm._v(\" Invoice No. \")]),_c('th',[_vm._v(\" Product No. \")]),_c('th',[_vm._v(\" Product Description \")]),_c('th',[_vm._v(\" BLMARK \")]),_c('th',[_vm._v(\" No. of Packages \")]),_c('th',[_vm._v(\" Weight (kg) \")]),_c('th',[_vm._v(\" Volume (m3) \")]),_c('th',[_vm._v(\" Lin. mt. \")]),_c('th',[_vm._v(\" Length (mm) \")]),_c('th',[_vm._v(\" Quantity \")])])]),_c('tbody',_vm._l((_vm.unwrappedSpec),function(row,index){return _c('tr',{key:index,class:{ row1: !!row.typeDesc, row2: !!row.id }},[_c('td',[_vm._v(\" \"+_vm._s(row.typeDesc)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.huId)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.id)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.deliveryNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.orderNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.invoiceNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.productNo)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.productDesc)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.blmark)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.packages)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.weight)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.volume)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.qtyM)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.length)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(row.qty)+\" \")])])}),0)]},proxy:true}])})],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-btn',{attrs:{\"color\":\"btn-cyan\"},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ExportToExcel\"))+\" \")],1),_c('v-btn',{attrs:{\"color\":\"btn-cyan\"},on:{\"click\":_vm.exportToXML}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-xml\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ExportToXML\"))+\" \")],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n FileExportType,\r\n LoadsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { appendixName } from \"@/scripts/misc/enumNames\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\ninterface PackageSpecWrapper {\r\n type?: string;\r\n content?: PackageSpec[];\r\n}\r\n\r\ninterface PackageSpec {\r\n type?: string;\r\n typeDesc?: string;\r\n huId?: string;\r\n\r\n id?: string;\r\n deliveryNo?: string;\r\n orderNo?: string;\r\n invoiceNo?: string;\r\n productNo?: string;\r\n productDesc?: string;\r\n blmark?: string;\r\n packages?: string;\r\n weight?: string;\r\n volume?: string;\r\n qtyM?: string;\r\n\r\n length?: string;\r\n qty?: string;\r\n\r\n content?: PackageSpec[];\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n appendixId: Number\r\n },\r\n watch: {\r\n appendixId: {\r\n handler() {\r\n this.fetchAppendixData();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n unwrappedSpec(): PackageSpec[] {\r\n if (!this.data) {\r\n return [];\r\n }\r\n return this.unwrap(this.data.content);\r\n }\r\n },\r\n methods: {\r\n appendixName: appendixName,\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n fetchAppendixData() {\r\n if (!this.appendixId) {\r\n this.data = undefined;\r\n return;\r\n }\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .appendixData(this.appendixId)\r\n .then(res => {\r\n this.data = JSON.parse(res.json!);\r\n });\r\n },\r\n exportToExcel() {\r\n this.export(FileExportType.Excel);\r\n },\r\n exportToXML() {\r\n this.export(FileExportType.XML);\r\n },\r\n export(fileType: FileExportType) {\r\n this.exporting = true;\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .appendixExport(this.appendixId, fileType)\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exporting = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n unwrap(specs?: PackageSpec[]): PackageSpec[] {\r\n if (!specs) {\r\n return [];\r\n }\r\n return specs\r\n .map(s => [\r\n {\r\n typeDesc: s.typeDesc,\r\n huId: s.huId,\r\n packages: s.packages,\r\n weight: s.weight,\r\n volume: s.volume,\r\n id: s.id,\r\n deliveryNo: s.deliveryNo,\r\n orderNo: s.orderNo,\r\n invoiceNo: s.invoiceNo,\r\n productNo: s.productNo,\r\n productDesc: s.productDesc,\r\n blmark: s.blmark,\r\n qtyM: s.qtyM,\r\n length: s.length,\r\n qty: s.qty\r\n },\r\n ...this.unwrap(s.content)\r\n ])\r\n .reduce((res, cur) => [...res, ...cur]);\r\n }\r\n },\r\n data: (): {\r\n data?: PackageSpecWrapper | undefined;\r\n exporting: boolean;\r\n } => ({\r\n data: undefined,\r\n exporting: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppendixPackageSpecDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AppendixPackageSpecDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AppendixPackageSpecDialog.vue?vue&type=template&id=0961bf08&scoped=true&\"\nimport script from \"./AppendixPackageSpecDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AppendixPackageSpecDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AppendixPackageSpecDialog.vue?vue&type=style&index=0&id=0961bf08&scoped=true&lang=css&\"\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 \"0961bf08\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n AppendixListItemDto,\r\n LoadAppendixType,\r\n LoadsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { appendixName } from \"@/scripts/misc/enumNames\";\r\nimport AppendixPackageSpecDialog from \"@/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue\";\r\nimport AppendixConsigneeDialog from \"@/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number as () => number | undefined,\r\n expanded: Boolean\r\n },\r\n components: {\r\n AppendixPackageSpecDialog,\r\n AppendixConsigneeDialog\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchAppendices();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return !this.appendices || this.appendices.length === 0;\r\n },\r\n numAppendices(): string {\r\n if (!this.appendices) {\r\n return \"\";\r\n }\r\n return `(${this.appendices.length})`;\r\n }\r\n },\r\n methods: {\r\n appendixName: appendixName,\r\n fetchAppendices() {\r\n if (!this.loadId) {\r\n this.appendices = [];\r\n return;\r\n }\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .appendices(this.loadId)\r\n .then(res => {\r\n this.appendices = res;\r\n });\r\n },\r\n displayAppendixDialog(type: LoadAppendixType, appendixId: Number, e: any) {\r\n if (type === LoadAppendixType.PackageSpec) {\r\n this.selectedPackageSpecId = appendixId;\r\n } else if (type === LoadAppendixType.ConsigneeInfo) {\r\n this.selectedConsigneeId = appendixId;\r\n }\r\n if (this.expanded) {\r\n e.stopPropagation();\r\n }\r\n },\r\n closeConsignee() {\r\n this.selectedConsigneeId = undefined;\r\n },\r\n closePackageSpec() {\r\n this.selectedPackageSpecId = undefined;\r\n }\r\n },\r\n data: (): {\r\n appendices?: AppendixListItemDto[];\r\n selectedConsigneeId?: Number | undefined;\r\n selectedPackageSpecId?: Number | undefined;\r\n } => ({\r\n appendices: undefined,\r\n selectedConsigneeId: undefined,\r\n selectedPackageSpecId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionAppendix.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionAppendix.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionAppendix.vue?vue&type=template&id=e4ad3294&\"\nimport script from \"./AccordionAppendix.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionAppendix.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.disabled)?_c('span',{staticClass:\"body-1\"},[_vm._v(_vm._s(_vm.$t(\"NoAdditionalDeliveryInfo\")))]):_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(_vm._s(_vm.$t(\"AdditionalDeliveryInfo\")))])])],1)],1),(!_vm.disabled && _vm.info)?_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveredDate'),\"value\":_vm.info.deliveryDate}})],1),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PackageNo'),\"value\":_vm.info.packageNo}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Delivery'),\"value\":_vm.deliveryCoords}})],1),_c('v-col',{staticClass:\"small-vertical-padding tiny-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"href\":_vm.mapLink,\"target\":\"_blank\"}},[_c('v-icon',[_vm._v(\"mdi-map\")])],1)],1)],1)],1):_vm._e()]],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadsClient,\r\n AdditionalDeliveryInfoDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ReadOnlyText\r\n },\r\n props: {\r\n loadId: Number\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchAdditionalDeliveryInfo();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return this.info === undefined || !this.info.lat;\r\n },\r\n deliveryCoords(): string {\r\n return `${this.info!.lat} ${this.info!.lon}`;\r\n },\r\n mapLink(): string {\r\n return `https://www.openstreetmap.org/?mlat=${this.info!.lat}&mlon=${\r\n this.info!.lon\r\n }#map=13/${this.info!.lat}/${this.info!.lon}`;\r\n }\r\n },\r\n methods: {\r\n fetchAdditionalDeliveryInfo() {\r\n if (!this.loadId) {\r\n return;\r\n }\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .additionalDeliveryInfo(this.loadId)\r\n .then(res => {\r\n this.info = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { info?: AdditionalDeliveryInfoDto } => ({\r\n info: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionAdditionalDeliveryInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionAdditionalDeliveryInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionAdditionalDeliveryInfo.vue?vue&type=template&id=4718fc29&\"\nimport script from \"./AccordionAdditionalDeliveryInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionAdditionalDeliveryInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":!_vm.specialRequirements}},[[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[(_vm.specialRequirements)?_c('v-col',[_c('div',{staticClass:\"body-1 dark-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"SpecialRequirements\"))+\" \")])]):_vm._e(),(_vm.specialRequirements)?_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":\"21\",\"color\":\"error\"}},[_vm._v(\" mdi-exclamation-thick \")])],1):_c('v-col',[_c('div',{staticClass:\"body-1\"},[_vm._v(_vm._s(_vm.$t(\"NoSpecialRequirements\")))])])],1)],1),_c('v-expansion-panel-content',{staticClass:\"darkish-text large-padding-bottom\"},[_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\"},[_vm._v(\" \"+_vm._s(_vm.specialRequirements)+\" \")])],1)],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\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ApiConfiguration, AgreementsClient } from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n agreementRouteId: Number\r\n },\r\n watch: {\r\n agreementRouteId: {\r\n handler() {\r\n this.fetchSpecialRequirements();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n fetchSpecialRequirements() {\r\n if (!this.agreementRouteId) {\r\n return;\r\n }\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .specialRequirements(this.agreementRouteId)\r\n .then(res => {\r\n this.specialRequirements = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { specialRequirements?: string } => ({\r\n specialRequirements: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSpecialRequirements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSpecialRequirements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSpecialRequirements.vue?vue&type=template&id=01abddca&\"\nimport script from \"./AccordionSpecialRequirements.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSpecialRequirements.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',[[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"body-1 dark-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"History\") + _vm.numHistoryRows)+\" \")]),_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":_vm.editClicked}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-history \")])],1)],1)],1)],1),_c('v-expansion-panel-content',[_c('v-simple-table',{attrs:{\"dense\":\"\"}},[_c('thead',[_c('tr',[_c('th',{staticClass:\"date-width\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Date\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Action\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Actor\"))+\" \")])])]),_c('tbody',_vm._l((_vm.historySubSection),function(item){return _c('tr',{key:item.id},[_c('td',[_vm._v(\" \"+_vm._s(item.timeStamp)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(item.action)+\" \")]),_c('td',[_c('div',{staticClass:\"ellipsis-text\"},[_vm._v(\" \"+_vm._s(item.actorName)+\" \")])])])}),0)])],1),(_vm.historyRows.length)?_c('LoadHistoryDialog',{attrs:{\"dialog\":_vm.dialog,\"historyRows\":_vm.historyRows},on:{\"close\":function($event){_vm.dialog = false}}}):_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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('History'),\"width\":1100,\"semiFullHeight\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"history-table-wrapper no-padding-sides\"},[_c('v-data-table',{attrs:{\"headers\":_vm.historyHeaders,\"items\":_vm.historyRows,\"custom-sort\":_vm.customSort,\"no-data-text\":_vm.$t('History'),\"mobile-breakpoint\":0,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"item.date\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',[_vm._v(\" \"+_vm._s(item.date.dateTimePrint())+\" \")])]}},{key:\"item.userEmail\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('p',{staticClass:\"text-wrap\"},[_vm._v(_vm._s(item.userEmail))]),_c('p',[_vm._v(_vm._s(item.userName))])]}}],null,true)})],1)],1)]},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\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport { LoadDetailsHistoryDto } from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n historyRows: Array as () => LoadDetailsHistoryDto[] | undefined,\r\n dialog: Boolean\r\n },\r\n computed: {\r\n historyHeaders(): TableHeader[] {\r\n return [\r\n {\r\n value: \"timeStamp\",\r\n text: this.$t(\"Date\").toString(),\r\n sortValue: true,\r\n width: 170\r\n },\r\n {\r\n value: \"action\",\r\n text: this.$t(\"Action\").toString()\r\n },\r\n {\r\n value: \"user\",\r\n text: this.$t(\"Actor\").toString(),\r\n sortValue: true,\r\n width: 150\r\n },\r\n {\r\n value: \"description\",\r\n text: this.$t(\"Description\").toString()\r\n },\r\n {\r\n value: \"why\",\r\n text: this.$t(\"Why\").toString()\r\n },\r\n {\r\n value: \"userEmail\",\r\n text: this.$t(\"Email & Name\").toString()\r\n }\r\n ];\r\n }\r\n },\r\n methods: {\r\n customSort(\r\n items: LoadDetailsHistoryDto[],\r\n sortBy: string[],\r\n sortDesc: boolean[]\r\n ) {\r\n items.sort((a: LoadDetailsHistoryDto, b: LoadDetailsHistoryDto) => {\r\n if (sortBy[0] === \"date\") {\r\n return a.timeStamp!.toSeconds() - b.timeStamp!.toSeconds();\r\n } else if (sortBy[0] === \"name\") {\r\n return stringCompare(a.user!, b.user!);\r\n } else {\r\n return 0;\r\n }\r\n });\r\n\r\n if (sortDesc[0] === true) {\r\n items = items.reverse();\r\n }\r\n return items;\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadHistoryDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadHistoryDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadHistoryDialog.vue?vue&type=template&id=78d8c863&scoped=true&\"\nimport script from \"./LoadHistoryDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadHistoryDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadHistoryDialog.vue?vue&type=style&index=0&id=78d8c863&scoped=true&lang=css&\"\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 \"78d8c863\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDataTable,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n ApiConfiguration,\r\n LoadsClient,\r\n LoadDetailsHistoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport LoadHistoryDialog from \"@/components/web/loads/shared/details/LoadHistoryDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number as () => number | undefined,\r\n expanded: Boolean\r\n },\r\n components: {\r\n LoadHistoryDialog\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchHistory();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n numHistoryRows(): string {\r\n const displayCount = Math.min(\r\n this.historyRows.length,\r\n this.subSectionSize\r\n );\r\n return ` (${displayCount} ${this.$t(\"Of\")} ${this.historyRows.length})`;\r\n },\r\n historySubSection(): LoadDetailsHistoryDto[] {\r\n return this.historyRows.slice(0, this.subSectionSize);\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n fetchHistory() {\r\n if (!this.loadId) {\r\n return;\r\n }\r\n return new LoadsClient(new ApiConfiguration(this.$store))\r\n .history(this.loadId)\r\n .then(res => {\r\n this.historyRows = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n editClicked(e: any) {\r\n this.dialog = true;\r\n if (this.expanded) {\r\n e.stopPropagation();\r\n }\r\n }\r\n },\r\n data: (): {\r\n dialog: boolean;\r\n subSectionSize: number;\r\n historyRows: LoadDetailsHistoryDto[];\r\n } => ({\r\n historyRows: [],\r\n dialog: false,\r\n subSectionSize: 5\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionLoadHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionLoadHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionLoadHistory.vue?vue&type=template&id=fc56d1da&scoped=true&\"\nimport script from \"./AccordionLoadHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionLoadHistory.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionLoadHistory.vue?vue&type=style&index=0&id=fc56d1da&scoped=true&lang=css&\"\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 \"fc56d1da\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":!_vm.tender}},[[_c('v-expansion-panel-header',[_c('span',{staticClass:\"body-1\",class:{ 'dark-text': _vm.tender }},[_vm._v(\" \"+_vm._s(_vm.$t(\"SpotTender\"))+\" \")])]),_c('v-expansion-panel-content',[(_vm.tender)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-right\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.tender.regDate,\"label\":_vm.$t('RegDate')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-right\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.tender.endDate,\"label\":_vm.$t('SpotTenderEnds')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"12\"}},[_c('DocumentDropdown',{attrs:{\"value\":_vm.tender.documentGroupId,\"label\":_vm.$t('TermsOfAgreement'),\"document-groups\":_vm.documentGroups,\"readonly\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.tender.messageToSupplier,\"label\":_vm.$t('MessageToSupplier'),\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"12\"}},[(_vm.tender.prices)?_c('v-simple-table',{attrs:{\"dense\":\"\",\"fixed-header\":\"\"}},[_c('thead',[_c('tr',[_c('th'),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"TruckType\"))+\" \")]),(_vm.isClient)?_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Supplier\"))+\" \")]):_vm._e(),_c('th',[_vm._v(_vm._s(_vm.currencyName))]),_c('th')])]),_c('tbody',_vm._l((_vm.tender.prices),function(price){return _c('tr',{key:price.spotTenderPriceRowId,class:{ 'green-text': _vm.bookedRow(price) }},[_c('td',[(_vm.bookedRow(price))?_c('v-icon',{staticClass:\"green-text\",attrs:{\"size\":\"18\"}},[_vm._v(\" mdi-check-bold \")]):_vm._e()],1),_c('td',[_vm._v(\" \"+_vm._s(_vm.truckTypeName(price.truckType))+\" \")]),(_vm.isClient)?_c('td',[_vm._v(\" \"+_vm._s(price.supplierName)+\" \")]):_vm._e(),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(price.price)+\" \")]),_c('td',[_c('InfoTooltip',{attrs:{\"icon\":\"mdi-note\",\"color\":\"icon-yellow\",\"text\":price.note}})],1)])}),0)]):_vm._e()],1)],1):_vm._e()],1)]],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:\"document-wrapper\"},[(_vm.readonly)?_c('ReadOnlyText',{attrs:{\"label\":_vm.label,\"value\":_vm.text},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.selectedDocumentGroup)?_c('v-btn',{staticClass:\"tiny-padding-bottom\",attrs:{\"icon\":\"\",\"width\":\"24\",\"height\":\"22\"},on:{\"click\":function($event){_vm.dialog = true}}},[_c('v-icon',{attrs:{\"size\":\"22\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-text-box-search-outline \")])],1):_vm._e()]},proxy:true}],null,false,1331507744)}):_c('Dropdown',{attrs:{\"value\":_vm.value,\"label\":_vm.label,\"items\":_vm.items,\"disabled\":_vm.disabled,\"loading\":_vm.loading,\"tabindex\":_vm.tabindex,\"clearable\":_vm.clearable,\"rules\":_vm.rules,\"asterisk\":_vm.asterisk},on:{\"input\":_vm.input},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"document-div rounded\"},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"white\",\"disabled\":!_vm.value},on:{\"click\":function($event){_vm.dialog = true}}},[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\"mdi-text-box-search-outline\")])],1)],1)]},proxy:true}])}),_c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.label,\"width\":450},on:{\"close\":function($event){_vm.dialog = false}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('DocumentTable',{attrs:{\"documentGroup\":_vm.selectedDocumentGroup}})]},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 (_vm.documentGroup)?_c('v-simple-table',[_c('tbody',[(!_vm.compact)?_c('tr',[_c('td',{attrs:{\"colspan\":\"3\"}},[_vm._v(\" \"+_vm._s(_vm.text)+\" \")])]):_vm._e(),_vm._l((_vm.documentGroup.documents || []),function(d){return _c('tr',{key:d.diskName},[(!_vm.compact)?_c('td',[_vm._v(\" \"+_vm._s(d.regDate)+\" \")]):_vm._e(),_c('td',[_c('DocumentButton',{attrs:{\"document\":d}})],1)])})],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('v-btn',{attrs:{\"small\":_vm.small},on:{\"click\":function($event){$event.stopPropagation();return _vm.documentClicked(_vm.document)}}},[_c('v-img',{staticClass:\"medium-margin-right\",attrs:{\"src\":_vm.langImg(_vm.document.culture),\"height\":19,\"width\":28}}),_vm._v(\" \"+_vm._s(_vm.$t(\"ViewDocument\"))+\" \")],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Culture, DocumentDto } from \"@/scripts/cld.api\";\r\nimport { langs } from \"@/scripts/language/i18n\";\r\nimport Config from \"@/scripts/config/config\";\r\n\r\nexport const viewDocument = (\r\n diskName: string | undefined,\r\n fileFormat?: string //if not already included in diskName\r\n) => {\r\n window.open(\r\n `${Config.getDocsUrl()}/e/${diskName}${fileFormat ? \".\" + fileFormat : \"\"}`\r\n );\r\n};\r\n\r\nexport default Vue.extend({\r\n props: {\r\n document: DocumentDto,\r\n small: Boolean\r\n },\r\n methods: {\r\n langImg(culture: Culture): any {\r\n return langs.find(l => l.locale === culture)!.image;\r\n },\r\n documentClicked(document: DocumentDto) {\r\n viewDocument(document.diskName, document.fileFormat);\r\n this.$emit(\"click\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentButton.vue?vue&type=template&id=2736ac76&\"\nimport script from \"./DocumentButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentButton.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VBtn,VImg})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ActorType, DocumentGroupDto } from \"@/scripts/cld.api\";\r\nimport DocumentButton from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport { docTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DocumentButton\r\n },\r\n props: {\r\n documentGroup: DocumentGroupDto,\r\n compact: Boolean\r\n },\r\n computed: {\r\n text(): string | undefined {\r\n if (!this.documentGroup) {\r\n return undefined;\r\n }\r\n if (this.actorType === ActorType.Supplier) {\r\n return docTypeName(this.documentGroup.docType);\r\n }\r\n return this.documentGroup.description;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentTable.vue?vue&type=template&id=4245023b&\"\nimport script from \"./DocumentTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport DocumentTable from \"@/components/shared/ui/DocumentTable.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport { ActorType, DocumentGroupDto, RepositoryDto } from \"@/scripts/cld.api\";\r\nimport { docTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Dropdown,\r\n ReadOnlyText,\r\n DocumentTable,\r\n DialogCard\r\n },\r\n props: {\r\n value: Number,\r\n label: String,\r\n documentGroups: Array as () => DocumentGroupDto[],\r\n tabindex: String,\r\n disabled: Boolean,\r\n readonly: Boolean,\r\n loading: Boolean,\r\n clearable: Boolean,\r\n rules: Array,\r\n asterisk: Boolean\r\n },\r\n computed: {\r\n items(): RepositoryDto[] {\r\n return this.documentGroups.map(\r\n g => new RepositoryDto({ id: g.id, text: g.description })\r\n );\r\n },\r\n selectedDocumentGroup(): DocumentGroupDto | undefined {\r\n if (!this.value) {\r\n return undefined;\r\n }\r\n return this.documentGroups.find(g => g.id === this.value);\r\n },\r\n text(): string | undefined {\r\n if (!this.selectedDocumentGroup) {\r\n return undefined;\r\n }\r\n if (this.actorType === ActorType.Supplier) {\r\n return docTypeName(this.selectedDocumentGroup.docType);\r\n }\r\n return this.selectedDocumentGroup.description;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n input(val: any) {\r\n this.$emit(\"input\", val);\r\n }\r\n },\r\n data: (): { dialog: boolean } => ({\r\n dialog: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDropdown.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDropdown.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentDropdown.vue?vue&type=template&id=12423d10&scoped=true&\"\nimport script from \"./DocumentDropdown.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentDropdown.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DocumentDropdown.vue?vue&type=style&index=0&id=12423d10&scoped=true&lang=css&\"\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 \"12423d10\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport {\r\n ActorType,\r\n DocType,\r\n ApiConfiguration,\r\n DocumentsClient,\r\n PreEditSpotTenderPriceDto,\r\n SpotTenderAccordionDto,\r\n SpotTenderClient,\r\n DocumentGroupDto\r\n} from \"@/scripts/cld.api\";\r\nimport { currencyName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport DocumentDropdown from \"@/components/shared/input/DocumentDropdown.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ReadOnlyText,\r\n InfoTooltip,\r\n DocumentDropdown\r\n },\r\n props: {\r\n loadId: Number as () => number | undefined,\r\n expanded: Boolean\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchSpotTender();\r\n this.fetchDocumentGroup();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n isClient(): boolean {\r\n return this.$store.getters[gets.userInfo].actorType === ActorType.Client;\r\n },\r\n currencyName(): string {\r\n if (!this.tender) {\r\n return \"\";\r\n }\r\n return currencyName(this.tender.currency);\r\n }\r\n },\r\n methods: {\r\n bookedRow(price: PreEditSpotTenderPriceDto): boolean {\r\n return (\r\n price.truckType === this.tender.truckType &&\r\n price.supplierId === this.tender.supplierId\r\n );\r\n },\r\n truckTypeName: truckTypeName,\r\n fetchSpotTender() {\r\n if (!this.loadId) {\r\n return;\r\n }\r\n return new SpotTenderClient(new ApiConfiguration(this.$store))\r\n .spotTenderAccordionDetails(this.loadId)\r\n .then(res => {\r\n this.tender = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocumentGroup() {\r\n if (!this.loadId) {\r\n return;\r\n }\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .spotTender(this.loadId)\r\n .then(res => {\r\n this.documentGroups = [res];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n tender: SpotTenderAccordionDto;\r\n documentGroups: DocumentGroupDto[];\r\n } => ({\r\n tender: undefined as any,\r\n documentGroups: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSpotTender.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionSpotTender.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionSpotTender.vue?vue&type=template&id=674125f4&scoped=true&\"\nimport script from \"./AccordionSpotTender.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionSpotTender.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AccordionSpotTender.vue?vue&type=style&index=0&id=674125f4&scoped=true&lang=css&\"\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 \"674125f4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.disabled)?_c('span',{staticClass:\"body-1\"},[_vm._v(_vm._s(_vm.$t(\"NoDeviations\")))]):_c('span',{staticClass:\"body-1 dark-text\"},[_vm._v(_vm._s(_vm.$t(\"DeviationHandling\")))])])],1)],1),_c('v-expansion-panel-content',[(_vm.deviationValues && _vm.deviationValues.otherPrice)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.deviationValues.otherPrice,\"label\":_vm.$t('OtherPrice') + \" (\" + (_vm.deviationValues.currencyName) + \")\"}})],1)],1):_vm._e(),(\n _vm.deviationValues &&\n (_vm.deviationValues.otherPrice || _vm.deviationValues.deviationCause)\n )?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.otherPriceCauseName,\"label\":_vm.$t('OtherPriceCause')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"8\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.deviationValues.otherPriceDesc,\"label\":_vm.$t('OtherPriceDesc')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.deviationCauseName,\"label\":_vm.$t('DeviationCause')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-right\",attrs:{\"cols\":\"8\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.deviationValues.deviationDesc,\"label\":_vm.$t('DeviationCauseDesc')}})],1)],1):_vm._e(),(\n !_vm.deviationValues ||\n (!_vm.deviationValues.otherPrice && !_vm.deviationValues.deviationCause)\n )?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\"},[_c('span',{staticClass:\"darkish-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])])],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\r\nimport Vue from \"vue\";\r\nimport { LoadDetailsDeviationDto } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport {\r\n deviationCauseName,\r\n otherPriceCauseName\r\n} from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n deviationValues: Object as () => LoadDetailsDeviationDto | undefined\r\n },\r\n components: {\r\n ReadOnlyText\r\n },\r\n computed: {\r\n otherPriceCauseName(): string {\r\n if (!this.deviationValues || !this.deviationValues.otherPriceCause) {\r\n return \"\";\r\n }\r\n return otherPriceCauseName(this.deviationValues.otherPriceCause);\r\n },\r\n deviationCauseName(): string {\r\n if (!this.deviationValues || !this.deviationValues.deviationCause) {\r\n return \"\";\r\n }\r\n return deviationCauseName(this.deviationValues.deviationCause);\r\n },\r\n disabled(): boolean {\r\n if (!this.deviationValues) {\r\n return true;\r\n }\r\n return (\r\n !this.deviationValues.otherPriceCause &&\r\n !this.deviationValues.deviationCause &&\r\n !this.deviationValues.otherPrice &&\r\n !this.deviationValues.otherPriceDesc &&\r\n !this.deviationValues.deviationDesc\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDeviation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDeviation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionDeviation.vue?vue&type=template&id=6f234698&\"\nimport script from \"./AccordionDeviation.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionDeviation.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-input',{attrs:{\"error\":_vm.error}},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('div',{staticClass:\"body-1 dark-text error-shake\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Duplicate\"))+\" \"+_vm._s(_vm.numLoadsText)+\" \")])])],1)],1)],1),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TransportNo'),\"rules\":[function (v) { return !v || v.length <= 100; }],\"asterisk\":_vm.duplicateTransportNos.length > 0},model:{value:(_vm.assortedValues.transportNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"transportNo\", $$v)},expression:\"assortedValues.transportNo\"}})],1)],1),(_vm.duplicateTransportNos.length > 0)?_c('v-divider',{staticClass:\"small-vertical-margin\"}):_vm._e(),_vm._l((_vm.duplicateTransportNos),function(transportNo,index){return _c('v-row',{key:index,attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-vertical-padding small-padding-right\"},[_c('TextSingle',{attrs:{\"value\":transportNo,\"label\":_vm.$t('TransportNo'),\"rules\":[function (v) { return !!v && v.length <= 100; }],\"asterisk\":\"\"},on:{\"input\":function (v) { return _vm.input(index, v); }}})],1),_c('v-col',{staticClass:\"small-vertical-padding no-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"height\":\"40\",\"width\":\"40\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.removeLoad(index)}}},[_c('v-icon',[_vm._v(\" mdi-close \")])],1)],1)],1)}),_c('v-row',[_c('v-col',{staticClass:\"small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\"},on:{\"click\":_vm.addLoad}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-plus \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Load\"))+\" \")],1)],1)],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport { LoadClientEditAssortedValuesDto } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n assortedValues: LoadClientEditAssortedValuesDto,\r\n duplicateTransportNos: Array as () => string[],\r\n expanded: Boolean\r\n },\r\n watch: {\r\n expanded() {\r\n this.checkIfThereAreErrors(false);\r\n }\r\n },\r\n components: {\r\n TextSingle\r\n },\r\n computed: {\r\n numLoadsText(): string {\r\n if (this.duplicateTransportNos.length === 0) {\r\n return \"\";\r\n }\r\n return `(${this.duplicateTransportNos.length + 1})`;\r\n }\r\n },\r\n methods: {\r\n addLoad() {\r\n this.duplicateTransportNos.push(\"\");\r\n },\r\n removeLoad(index: number) {\r\n this.duplicateTransportNos.splice(index, 1);\r\n },\r\n input(index: number, value: string) {\r\n this.duplicateTransportNos[index] = value;\r\n this.checkIfThereAreErrors(true);\r\n },\r\n checkIfThereAreErrors(onlyRemoveError: boolean) {\r\n if (!onlyRemoveError || this.error) {\r\n this.error = this.duplicateTransportNos.some(d => !d);\r\n }\r\n }\r\n },\r\n data: (): { error: boolean } => ({\r\n error: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDuplicateLoad.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDuplicateLoad.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionDuplicateLoad.vue?vue&type=template&id=46ed3011&\"\nimport script from \"./AccordionDuplicateLoad.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionDuplicateLoad.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VInput } from 'vuetify/lib/components/VInput';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDivider,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VInput,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"body-1 dark-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Contacts\"))+\" \")])],1)],1),_c('v-expansion-panel-content',[_c('v-row',[(_vm.contacts !== undefined && _vm.contacts.length > 0)?_c('v-col',[_c('v-simple-table',{staticClass:\"small-padding-bottom\",attrs:{\"dense\":\"\"}},[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Contact\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Type\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Language\"))+\" \")])])]),_c('tbody',_vm._l((_vm.contacts),function(item,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(item.recipient)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.contactTypeName(item.contactType))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(_vm.cultureName(item.culture))+\" \")])])}),0)])],1):_vm._e(),(_vm.contacts === undefined || _vm.contacts.length === 0)?_c('v-col',{staticClass:\"no-padding-top\"},[_c('span',{staticClass:\"darkish-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])]):_vm._e()],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\r\nimport {\r\n ApiConfiguration,\r\n LoadContactDto,\r\n LoadsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { contactTypeName, cultureName } from \"@/scripts/misc/enumNames\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number as () => number | undefined,\r\n editable: Boolean\r\n },\r\n watch: {\r\n loadId: {\r\n handler() {\r\n this.fetchContacts();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n cultureName: cultureName,\r\n contactTypeName: contactTypeName,\r\n fetchContacts() {\r\n if (!this.loadId) {\r\n return;\r\n }\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .contacts(this.loadId)\r\n .then(res => {\r\n this.contacts = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n contacts: LoadContactDto[] | undefined;\r\n } => ({\r\n contacts: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContacts.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContacts.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionContacts.vue?vue&type=template&id=6f8023ee&\"\nimport script from \"./AccordionContacts.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionContacts.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VRow,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('div',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled }},[_vm._v(\" \"+_vm._s(_vm.$t(\"Documents\"))+\" \"+_vm._s(_vm.numDocuments)+\" \")])]),(_vm.editable)?_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[(!_vm.disabled)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function () {}}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-upload \")])],1):_vm._e()],1):_vm._e()],1)],1),_c('v-expansion-panel-content',[_c('LoadDocumentsTable',{attrs:{\"editable\":_vm.editable,\"documents\":_vm.documents}})],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.documents)?_c('div',{staticClass:\"make-me-scroll\"},_vm._l((_vm.documentsByActor),function(g){return _c('v-row',{key:g.actorName},[_c('v-col',{staticClass:\"no-padding-bottom small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":g.actorName}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',[_c('tbody',[_vm._l((g.documents),function(d){return _c('tr',{key:d.id},[_c('td',{on:{\"click\":function($event){return _vm.viewDocument(d.id)}}},[_c('EllipsisTableItem',{attrs:{\"text\":_vm.documentText(d),\"width\":\"200\"}})],1),_c('td',{staticClass:\"dont-render-newlines\",staticStyle:{\"width\":\"0\"}},[_vm._v(\" \"+_vm._s(d.regDate)+\" \")]),_c('td',{staticStyle:{\"width\":\"0\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewDocument(d.id)}}},[_c('v-icon',[_vm._v(\" mdi-text-box-search-outline \")])],1)],1),(_vm.editable)?_c('td',{staticStyle:{\"width\":\"44px\"}},[(g.actorName === _vm.actorName)?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeDocument(d.id)}}},[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\" mdi-trash-can-outline \")])],1):_vm._e()],1):_vm._e()])}),(g.documents.length === 0)?_c('tr',[_c('th',{attrs:{\"colspan\":\"3\"}},[_c('span',{staticClass:\"grey-text\"},[_vm._v(_vm._s(_vm.$t(\"NothingToShow\")))])])]):_vm._e(),(g.actorName === _vm.actorName && _vm.editable)?_c('tr',[_c('th',{attrs:{\"colspan\":\"99\"}},[_c('FileInput',{on:{\"file\":function (f) { return (_vm.uploadedFile = f); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar chooseFile = ref.chooseFile;\nreturn [_c('div',{staticClass:\"small-vertical-margin\"},[_c('DocumentDropZone',{attrs:{\"alternative\":\"\"},on:{\"click\":chooseFile}})],1)]}}],null,true)}),_c('AccordionDocumentAddDialog',{attrs:{\"uploadedFile\":_vm.uploadedFile,\"documentType\":\"load\"},on:{\"document\":_vm.addDocument,\"close\":function($event){_vm.uploadedFile = undefined}}})],1)]):_vm._e()],2)])],1)],1)}),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('DialogCard',{attrs:{\"dialog\":_vm.uploadedFile !== undefined,\"title\":_vm.$t('DisplayName'),\"width\":500,\"noCloseButton\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.uploadedFile)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Name'),\"asterisk\":\"\",\"rules\":[\n function (v) { return v\n ? v.length <= 30\n ? true\n : _vm.tooLongText\n : _vm.shouldHaveMinimumText; }\n ]},model:{value:(_vm.uploadedFile.fileName),callback:function ($$v) {_vm.$set(_vm.uploadedFile, \"fileName\", $$v)},expression:\"uploadedFile.fileName\"}})],1)],1):_vm._e()],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.valid,\"loading\":_vm.saveInProgress},on:{\"click\":_vm.upload}},[_vm._v(\" OK \")])]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport {\r\n ApiConfiguration,\r\n SaveDiskFileToDocumentDto,\r\n DocumentsClient,\r\n FileParameter,\r\n FilesClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport type DocumentIdDiskNameDisplayName = {\r\n id: number;\r\n diskName: string;\r\n displayName: string;\r\n};\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle\r\n },\r\n props: {\r\n uploadedFile: Object as () => FileParameter | undefined,\r\n documentType: String as () => \"load\" | \"message\"\r\n },\r\n watch: {\r\n uploadedFile: {\r\n handler() {\r\n if (this.uploadedFile && this.uploadedFile.fileName) {\r\n if (this.uploadedFile.fileName.includes(\".\")) {\r\n const index = this.uploadedFile.fileName.indexOf(\".\");\r\n this.uploadedFile.fileName = this.uploadedFile.fileName.substring(\r\n 0,\r\n index\r\n );\r\n }\r\n this.uploadedFile.fileName = this.uploadedFile.fileName.substring(\r\n 0,\r\n 30\r\n );\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n tooLongText(): string {\r\n return t(\"MaxXCharacters\").replace(\"{0}\", \"30\");\r\n },\r\n shouldHaveMinimumText(): string {\r\n return t(\"Mandatory\");\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n upload() {\r\n this.saveInProgress = true;\r\n new FilesClient(new ApiConfiguration(this.$store))\r\n .upload(this.uploadedFile)\r\n .then(diskName => {\r\n this.addToDb(diskName, this.uploadedFile!.fileName);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n addToDb(diskName: string, displayName: string) {\r\n const client = new DocumentsClient(new ApiConfiguration(this.$store));\r\n const apiCall =\r\n this.documentType === \"load\"\r\n ? client.saveToLoadGroup(\r\n new SaveDiskFileToDocumentDto({\r\n diskName: diskName,\r\n displayName: displayName\r\n })\r\n )\r\n : client.saveToMessageGroup(\r\n new SaveDiskFileToDocumentDto({\r\n diskName: diskName,\r\n displayName: displayName\r\n })\r\n );\r\n\r\n apiCall\r\n .then(id => {\r\n const document: DocumentIdDiskNameDisplayName = {\r\n id: id,\r\n displayName: displayName,\r\n diskName: diskName\r\n };\r\n this.$emit(\"document\", document);\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { valid: boolean; saveInProgress: boolean } => ({\r\n valid: false,\r\n saveInProgress: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDocumentAddDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDocumentAddDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionDocumentAddDialog.vue?vue&type=template&id=344873b5&\"\nimport script from \"./AccordionDocumentAddDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionDocumentAddDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{attrs:{\"id\":(\"file-input-span-\" + _vm.uploadKey)},on:{\"drop\":function($event){$event.preventDefault();return _vm.fileDropped.apply(null, arguments)},\"dragover\":function($event){$event.preventDefault();}}},[_c('input',{key:_vm.uploadKey,ref:\"fileUpload\",attrs:{\"type\":\"file\",\"hidden\":\"\"},on:{\"change\":_vm.fileSelected}}),_vm._t(\"default\",null,{\"chooseFile\":_vm.chooseFile})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n FileParameter,\r\n RepositoryClient\r\n} from \"@/scripts/cld.api\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n limitExtensionsTo: Array as () => string[] | undefined\r\n },\r\n methods: {\r\n chooseFile() {\r\n (this.$refs.fileUpload as any).click();\r\n },\r\n fileAllowed(file: any): boolean {\r\n if (file.size > 4 * 1024 * 1024) {\r\n this.uploadFailed(t(\"UploadSizeTooLarge\"));\r\n return false;\r\n }\r\n if (!this.hasAllowedExtension(file)) {\r\n this.uploadFailed(\r\n t(\"UploadBadExtension\").replaceAll(\r\n \"{0}\",\r\n this.allowedExtensions.join(\", \")\r\n )\r\n );\r\n return false;\r\n }\r\n return true;\r\n },\r\n fileDropped(e: any) {\r\n if (!this.fileAllowed(e.dataTransfer.files[0])) {\r\n return;\r\n }\r\n this.addFile(e.dataTransfer.files[0]);\r\n },\r\n fileSelected(e: any) {\r\n if (!this.fileAllowed(e.target.files[0])) {\r\n return;\r\n }\r\n this.addFile(e.target.files[0]);\r\n },\r\n uploadFailed(reason: string) {\r\n alertDialog(t(\"UploadFailed\"), reason);\r\n this.uploadKey = nextUnique();\r\n },\r\n addFile(file: any) {\r\n if (!file) {\r\n return;\r\n }\r\n const fileParam: FileParameter = {\r\n data: file,\r\n fileName: file.name\r\n };\r\n this.uploadKey = nextUnique();\r\n this.$emit(\"file\", fileParam);\r\n },\r\n hasAllowedExtension(file: any): boolean {\r\n const fileName: string = file.name;\r\n return this.allowedExtensions.some(e => fileName.endsWith(e));\r\n },\r\n fetchAllowedExtensions() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .allowedUploadFileExtensions()\r\n .then(res => {\r\n this.allowedExtensions = res.filter(\r\n e => !this.limitExtensionsTo || this.limitExtensionsTo.includes(e)\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchAllowedExtensions();\r\n const span = document.getElementById(`file-input-span-${this.uploadKey}`);\r\n span?.addEventListener(\"paste\", e => {\r\n if (e.clipboardData && e.clipboardData.files.length > 0) {\r\n this.addFile(e.clipboardData.files[0]);\r\n }\r\n });\r\n },\r\n data: (): {\r\n uploadKey: number;\r\n allowedExtensions: string[];\r\n } => ({\r\n uploadKey: nextUnique(),\r\n allowedExtensions: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./FileInput.vue?vue&type=template&id=b02c352e&\"\nimport script from \"./FileInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./FileInput.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('div',{staticClass:\"clickable zone\",on:{\"click\":function($event){return _vm.$emit('click')}}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.alternative ? _vm.$t(\"DropZone1Alternative\") : _vm.$t(\"DropZone1\"))+\" \")]),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-upload\")])],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"DropZone2\"))+\" \")]),_c('v-spacer')],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n alternative: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDropZone.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDropZone.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentDropZone.vue?vue&type=template&id=0e0f6cfe&scoped=true&\"\nimport script from \"./DocumentDropZone.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentDropZone.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DocumentDropZone.vue?vue&type=style&index=0&id=0e0f6cfe&scoped=true&lang=css&\"\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 \"0e0f6cfe\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { FileParameter, LoadDocumentDto, TimeZone } from \"@/scripts/cld.api\";\r\nimport AccordionDocumentAddDialog, {\r\n DocumentIdDiskNameDisplayName\r\n} from \"@/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue\";\r\nimport FileInput from \"@/components/shared/input/FileInput.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport DocumentDropZone from \"@/components/web/documents/DocumentDropZone.vue\";\r\nimport { viewDocument } from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AccordionDocumentAddDialog,\r\n FileInput,\r\n GreyTitle,\r\n EllipsisTableItem,\r\n DocumentDropZone\r\n },\r\n props: {\r\n editable: Boolean,\r\n documents: Array as () => LoadDocumentDto[] | undefined\r\n },\r\n computed: {\r\n actorName(): string {\r\n return this.$store.getters[gets.userInfo].actorName;\r\n },\r\n documentsByActor(): { actorName: string; documents: LoadDocumentDto[] }[] {\r\n if (!this.documents) {\r\n return [];\r\n }\r\n const actorNames = [...new Set(this.documents.map(d => d.actorName!))];\r\n if (!actorNames.includes(this.actorName)) {\r\n actorNames.push(this.actorName);\r\n }\r\n actorNames.sort((a, b) =>\r\n a === this.actorName ? 1 : b === this.actorName ? -1 : 0\r\n );\r\n return actorNames.map(a => ({\r\n actorName: a,\r\n documents: this.documents!.filter(d => d.actorName === a)\r\n }));\r\n }\r\n },\r\n methods: {\r\n documentText(document: LoadDocumentDto): string {\r\n return document.displayName! + \".\" + document.fileFormat!;\r\n },\r\n removeDocument(id: number) {\r\n this.documents!.splice(\r\n this.documents!.findIndex(d => d.id === id),\r\n 1\r\n );\r\n },\r\n viewDocument(id: number) {\r\n const document = this.documents!.find(d => d.id === id)!;\r\n viewDocument(document.diskName, document.fileFormat);\r\n },\r\n addDocument(document: DocumentIdDiskNameDisplayName) {\r\n this.documents!.push(\r\n new LoadDocumentDto({\r\n id: document.id,\r\n owner: true,\r\n displayName: document.displayName,\r\n diskName: document.diskName,\r\n fileFormat: document.diskName.split(\".\")[\r\n document.diskName.split(\".\").length - 1\r\n ],\r\n actorName: this.$store.getters[gets.userInfo].actorName,\r\n regDate: CDate.now(this.$store.getters[gets.userInfo].zone)\r\n })\r\n );\r\n }\r\n },\r\n data: (): {\r\n uploadedFile: FileParameter | undefined;\r\n } => ({\r\n uploadedFile: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDocumentsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDocumentsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDocumentsTable.vue?vue&type=template&id=25ee1be2&scoped=true&\"\nimport script from \"./LoadDocumentsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDocumentsTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadDocumentsTable.vue?vue&type=style&index=0&id=25ee1be2&scoped=true&lang=css&\"\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 \"25ee1be2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadDocumentDto } from \"@/scripts/cld.api\";\r\nimport LoadDocumentsTable from \"@/components/web/loads/shared/LoadDocumentsTable.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n LoadDocumentsTable\r\n },\r\n props: {\r\n expanded: Boolean,\r\n editable: Boolean,\r\n loadId: Number,\r\n documents: Array as () => LoadDocumentDto[] | undefined\r\n },\r\n computed: {\r\n disabled(): boolean {\r\n return !this.documents;\r\n },\r\n numDocuments(): string {\r\n if (!this.documents) {\r\n return \"\";\r\n }\r\n return `(${this.documents.length})`;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDocuments.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionDocuments.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionDocuments.vue?vue&type=template&id=2cbb974c&\"\nimport script from \"./AccordionDocuments.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionDocuments.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-expansion-panel',{attrs:{\"disabled\":_vm.disabled}},[_c('v-expansion-panel-header',[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',[_c('span',{staticClass:\"body-1\",class:{ 'dark-text': !_vm.disabled }},[_vm._v(\" \"+_vm._s(_vm.$t(\"CustomsInfo\"))+\" \")])])],1)],1),_c('v-expansion-panel-content',[(_vm.customsInfo)?_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.passage,\"label\":_vm.$t('BorderPassage')}})],1),_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.customsInfo.passageDate,\"label\":_vm.$t('Date')}})],1),_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.truckCountry,\"label\":_vm.$t('TruckCountry')}})],1),_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.customsInfo.driverPhone,\"label\":_vm.$t('PhoneNumber')}})],1),_c('v-col',{staticClass:\"tiny-padding-top no-padding-right\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.customsInfo.permitNo,\"label\":_vm.$t('PermitNumber')}})],1)],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n CustomsInfoDto,\r\n LoadsClient,\r\n RepositoryClient,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { isoName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number\r\n },\r\n components: {\r\n ReadOnlyText\r\n },\r\n computed: {\r\n passage(): string | undefined {\r\n if (!this.customsInfo) {\r\n return undefined;\r\n }\r\n const passage = this.passages.find(\r\n p => p.id === this.customsInfo!.passageId\r\n );\r\n return passage ? passage.text : undefined;\r\n },\r\n truckCountry(): string | undefined {\r\n if (!this.customsInfo) {\r\n return undefined;\r\n }\r\n return this.customsInfo.truckCountry\r\n ? isoName(this.customsInfo.truckCountry)\r\n : undefined;\r\n },\r\n disabled(): boolean {\r\n if (!this.customsInfo) {\r\n return true;\r\n }\r\n return (\r\n !this.customsInfo.passageId &&\r\n !this.customsInfo.passageDate &&\r\n !this.customsInfo.truckCountry &&\r\n !this.customsInfo.driverPhone &&\r\n !this.customsInfo.permitNo\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchCustomsInfo() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .customsInfo(this.loadId)\r\n .then(res => {\r\n this.customsInfo = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPassages() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .customsPassages()\r\n .then(res => {\r\n this.passages = res.map(\r\n r =>\r\n new RepositoryDto({\r\n id: r.id,\r\n text: `${r.name} (${isoName(r.country)})`\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchCustomsInfo();\r\n this.fetchPassages();\r\n },\r\n data: (): {\r\n customsInfo: CustomsInfoDto | undefined;\r\n passages: RepositoryDto[];\r\n } => ({\r\n customsInfo: undefined,\r\n passages: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionCustomsInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionCustomsInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AccordionCustomsInfo.vue?vue&type=template&id=1dd1bc98&\"\nimport script from \"./AccordionCustomsInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./AccordionCustomsInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n DeviationCause,\r\n LoadActionPermission,\r\n LoadClientEditAssortedValuesDto,\r\n LoadClientEditContainersDto,\r\n LoadClientEditInfoTextsDto,\r\n LoadClientEditSubLocations,\r\n LoadClientEditSupplierBookingInfoDto,\r\n LoadClientPublishValues,\r\n LoadDetailsContentDto,\r\n LoadDetailsDeviationDto,\r\n LoadDocumentDto,\r\n LoadStatus,\r\n CargoType,\r\n PublishSpeed,\r\n RelatedLoadsDto\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport AccordionPrices from \"@/components/web/loads/client/accordion/AccordionPrices.vue\";\r\nimport AccordionRankings from \"@/components/web/loads/client/accordion/AccordionRankings.vue\";\r\nimport AccordionContent from \"@/components/web/loads/client/accordion/AccordionContent.vue\";\r\nimport AccordionSupplierBookingInfo from \"@/components/web/loads/client/accordion/AccordionSupplierBookingInfo.vue\";\r\nimport AccordionSubLocations from \"@/components/web/loads/client/accordion/AccordionSubLocations.vue\";\r\nimport AccordionSubLocationReadOnly from \"@/components/web/loads/client/accordion/AccordionSubLocationReadOnly.vue\";\r\nimport AccordionRelatedLoads from \"@/components/web/loads/client/accordion/AccordionRelatedLoads.vue\";\r\nimport AccordionContainers from \"@/components/web/loads/client/accordion/AccordionContainers.vue\";\r\nimport AccordionAppendix from \"@/components/web/loads/client/accordion/AccordionAppendix.vue\";\r\nimport AccordionAdditionalDeliveryInfo from \"@/components/web/loads/client/accordion/AccordionAdditionalDeliveryInfo.vue\";\r\nimport AccordionSpecialRequirements from \"@/components/web/loads/client/accordion/AccordionSpecialRequirements.vue\";\r\nimport AccordionLoadHistory from \"@/components/web/loads/client/accordion/AccordionLoadHistory.vue\";\r\nimport AccordionSpotTender from \"@/components/web/loads/client/accordion/AccordionSpotTender.vue\";\r\nimport AccordionDeviation from \"@/components/web/loads/client/accordion/AccordionDeviation.vue\";\r\nimport AccordionDuplicateLoad from \"@/components/web/loads/client/accordion/AccordionDuplicateLoad.vue\";\r\nimport AccordionContacts from \"@/components/web/loads/client/accordion/AccordionContacts.vue\";\r\nimport AccordionDocuments from \"@/components/web/loads/client/accordion/AccordionDocuments.vue\";\r\nimport AccordionCustomsInfo from \"@/components/web/loads/client/accordion/AccordionCustomsInfo.vue\";\r\nimport { LoadAction } from \"@/scripts/types\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AccordionPrices,\r\n AccordionRankings,\r\n AccordionContent,\r\n AccordionSupplierBookingInfo,\r\n AccordionSubLocations,\r\n AccordionSubLocationReadOnly,\r\n AccordionRelatedLoads,\r\n AccordionContainers,\r\n AccordionAppendix,\r\n AccordionAdditionalDeliveryInfo,\r\n AccordionSpecialRequirements,\r\n AccordionLoadHistory,\r\n AccordionDeviation,\r\n AccordionSpotTender,\r\n AccordionDuplicateLoad,\r\n AccordionContacts,\r\n AccordionDocuments,\r\n AccordionCustomsInfo\r\n },\r\n props: {\r\n publishValues: LoadClientPublishValues,\r\n infoTexts: Object as () =>\r\n | LoadClientEditInfoTextsDto\r\n | LoadDetailsContentDto,\r\n assortedValues: Object as () =>\r\n | LoadClientEditAssortedValuesDto\r\n | LoadDetailsContentDto,\r\n supplierBookingInfo: LoadClientEditSupplierBookingInfoDto,\r\n subLocations: Object as () => LoadClientEditSubLocations | undefined,\r\n relatedLoads: Object as () => RelatedLoadsDto | undefined,\r\n containerValues: Object as () => LoadClientEditContainersDto | undefined,\r\n cargoType: Number as () => CargoType,\r\n agreementRouteId: Number,\r\n truckType: Number,\r\n agreementDate: Object as () => CDate,\r\n publishSpeed: Number as () => PublishSpeed,\r\n loadStatus: Number as () => LoadStatus | undefined,\r\n loadId: Number as () => number | undefined,\r\n deviations: Object as () => LoadDetailsDeviationDto | undefined,\r\n duplicateTransportNos: Array as () => string[],\r\n documents: Array as () => LoadDocumentDto[] | undefined,\r\n customsInfoRequired: Boolean,\r\n editable: Boolean\r\n },\r\n watch: {\r\n loadStatus: {\r\n handler() {\r\n if (\r\n this.actorType === ActorType.Client &&\r\n (this.loadStatus === undefined ||\r\n this.loadStatus === LoadStatus.Ordered ||\r\n this.loadStatus === LoadStatus.MissingAgreement)\r\n ) {\r\n this.expandedPanel = 1; //Rankingflustret\r\n } else if (\r\n this.loadStatus === LoadStatus.Ordered &&\r\n this.deviations &&\r\n this.deviations.deviationCause === DeviationCause.SpotTender\r\n ) {\r\n this.expandedPanel = -1; //Ingen panel\r\n } else {\r\n this.expandedPanel = 0; //Prisflustret\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n agreementDetermined(): boolean {\r\n return !!this.agreementRouteId && !!this.truckType;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n priceVisible(): boolean {\r\n return (\r\n this.actorType === ActorType.Client ||\r\n this.actorType === ActorType.Supplier\r\n );\r\n },\r\n rankingVisible(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n historyVisible(): boolean {\r\n return !this.editable;\r\n },\r\n supplierBookingInfoVisible(): boolean {\r\n return (\r\n this.actorType === ActorType.Client &&\r\n this.editable &&\r\n this.loadStatus !== undefined &&\r\n this.loadStatus !== LoadStatus.Ordered &&\r\n this.loadStatus !== LoadStatus.MissingAgreement\r\n );\r\n },\r\n subLocationsVisible(): boolean {\r\n return this.editable;\r\n },\r\n subLocationsReadOnlyVisible(): boolean {\r\n return !this.editable;\r\n },\r\n containerVisible(): boolean {\r\n return this.cargoType === CargoType.Container;\r\n },\r\n additionalDeliveryInfoVisible(): boolean {\r\n return (\r\n this.loadStatus === LoadStatus.Delivered &&\r\n (this.actorType === ActorType.Client ||\r\n this.actorType === ActorType.Supplier)\r\n );\r\n },\r\n appendixVisible(): boolean {\r\n return this.loadStatus !== undefined;\r\n },\r\n clientSpotTenderVisible(): boolean {\r\n return (\r\n this.cargoType === CargoType.Road &&\r\n !!this.deviations &&\r\n this.deviations.deviationCause === DeviationCause.SpotTender\r\n );\r\n },\r\n deviationsVisible(): boolean {\r\n return this.loadStatus !== undefined;\r\n },\r\n duplicateVisible(): boolean {\r\n return this.loadStatus === undefined;\r\n },\r\n contactsVisible(): boolean {\r\n const actions: LoadAction[] = this.$store.getters[gets.loadActions](\r\n this.loadId\r\n );\r\n return actions.some(\r\n a => a.id === LoadActionPermission.LoadingSlotEdit && a.allowed\r\n );\r\n },\r\n customsInfoVisible(): boolean {\r\n return this.customsInfoRequired;\r\n }\r\n },\r\n methods: {\r\n isExpanded(panel: number) {\r\n if (panel > 17 && !this.customsInfoVisible) {\r\n panel--;\r\n }\r\n if (panel > 15 && !this.contactsVisible) {\r\n panel--;\r\n }\r\n if (panel > 14 && !this.duplicateVisible) {\r\n panel--;\r\n }\r\n if (panel > 13 && !this.clientSpotTenderVisible) {\r\n panel--;\r\n }\r\n if (panel > 12 && !this.deviationsVisible) {\r\n panel--;\r\n }\r\n if (panel > 11 && !this.appendixVisible) {\r\n panel--;\r\n }\r\n if (panel > 10 && !this.additionalDeliveryInfoVisible) {\r\n panel--;\r\n }\r\n if (panel > 9 && !this.containerVisible) {\r\n panel--;\r\n }\r\n if (panel > 7 && !this.subLocationsReadOnlyVisible) {\r\n panel--;\r\n }\r\n if (panel > 6 && !this.subLocationsVisible) {\r\n panel--;\r\n }\r\n if (panel > 5 && !this.supplierBookingInfoVisible) {\r\n panel--;\r\n }\r\n if (panel > 2 && !this.historyVisible) {\r\n panel--;\r\n }\r\n if (panel > 1 && !this.rankingVisible) {\r\n panel--;\r\n }\r\n if (panel > 0 && !this.priceVisible) {\r\n panel--;\r\n }\r\n return this.expandedPanel === panel;\r\n }\r\n },\r\n data: (): {\r\n expandedPanel: number;\r\n } => ({\r\n expandedPanel: -1\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Accordion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Accordion.vue?vue&type=template&id=76118076&\"\nimport script from \"./Accordion.vue?vue&type=script&lang=ts&\"\nexport * from \"./Accordion.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelHeader,VExpansionPanels,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ContainerInformation')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.terminalName,\"label\":_vm.$t('Terminal')}})],1),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.blNo,\"label\":_vm.$t('BLNo')}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues ? _vm.containerValues.incoterms : '',\"label\":_vm.$t('Incoterms')}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues ? _vm.containerValues.knCurrency : '',\"label\":_vm.$t('KNCurrency')}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues ? _vm.containerValues.knValue : '',\"label\":_vm.$t('KNValue')}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.containerValues ? _vm.containerValues.knProductCode : '',\"label\":_vm.$t('KNProductCode')}})],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\r\nimport Vue from \"vue\";\r\nimport { LoadClientEditContainersDto, CargoType } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n terminalName: String,\r\n blNo: String,\r\n containerValues: LoadClientEditContainersDto,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n },\r\n computed: {\r\n visible(): boolean {\r\n return this.cargoType === CargoType.Container;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogContainerInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogContainerInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogContainerInfo.vue?vue&type=template&id=4a655ee7&\"\nimport script from \"./LoadDialogContainerInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogContainerInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('MachineTransport')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('EscortCarPriceKM')},model:{value:(_vm.escortCarPrice),callback:function ($$v) {_vm.escortCarPrice=$$v},expression:\"escortCarPrice\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('VTLPrice')},model:{value:(_vm.vtlPrice),callback:function ($$v) {_vm.vtlPrice=$$v},expression:\"vtlPrice\"}})],1)],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\r\nimport Vue from \"vue\";\r\nimport { CargoType } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n step: Number,\r\n escortCarPrice: Number,\r\n vtlPrice: Number,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n },\r\n computed: {\r\n visible(): boolean {\r\n return this.cargoType === CargoType.MachineTransport;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogMachineTransportInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogMachineTransportInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogMachineTransportInfo.vue?vue&type=template&id=3664a205&\"\nimport script from \"./LoadDialogMachineTransportInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogMachineTransportInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadStatus,\r\n LoadsClient,\r\n LoadDetailsBaseValuesDto,\r\n LoadDetailsDatesDto,\r\n LoadDetailsShippingInfoDto,\r\n LoadDetailsContentDto,\r\n LoadClientEditSubLocations,\r\n LoadClientEditContainersDto,\r\n RelatedLoadsDto,\r\n LoadActionPermission,\r\n LoadDetailsDeviationDto,\r\n ActorType,\r\n DocumentsClient,\r\n LoadDocumentDto\r\n} from \"@/scripts/cld.api\";\r\nimport { loadStatusName } from \"@/scripts/misc/enumNames\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadDialogBaseValues from \"@/components/web/loads/shared/details/LoadDialogBaseValues.vue\";\r\nimport LoadDialogDates from \"@/components/web/loads/shared/details/LoadDialogDates.vue\";\r\nimport LoadDialogEventDates from \"@/components/web/loads/shared/details/LoadDialogEventDates.vue\";\r\nimport LoadDialogShippingInfo from \"@/components/web/loads/shared/details/LoadDialogShippingInfo.vue\";\r\nimport Accordion from \"@/components/web/loads/client/accordion/Accordion.vue\";\r\nimport LoadDialogContainerInfo from \"@/components/web/loads/shared/details/LoadDialogContainerInfo.vue\";\r\nimport LoadDialogMachineTransportInfo from \"@/components/web/loads/shared/details/LoadDialogMachineTransportInfo.vue\";\r\nimport { LoadAction } from \"@/scripts/types\";\r\nimport { pdfPrompt } from \"@/scripts/misc/filePrompts\";\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n LoadLock,\r\n LoadDialogBaseValues,\r\n LoadDialogDates,\r\n LoadDialogEventDates,\r\n LoadDialogShippingInfo,\r\n LoadDialogContainerInfo,\r\n LoadDialogMachineTransportInfo,\r\n Accordion\r\n },\r\n props: {\r\n loadIds: Array as () => number[],\r\n dialog: Boolean,\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n if (this.loadStatus) {\r\n return `${this.$t(\"Details\")} - ${this.$t(\"LoadID\")}: ${\r\n this.loadId\r\n } (${loadStatusName(this.loadStatus)})`;\r\n }\r\n return `${this.$t(\"Details\")}`;\r\n },\r\n actions(): LoadAction[] {\r\n return this.$store.getters\r\n .loadActions(this.loadId)\r\n .filter((a: LoadAction) => a.id !== LoadActionPermission.Details);\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n this.loading = true;\r\n this.fetchLoadPermissions();\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .details(this.loadId)\r\n .then(res => {\r\n this.baseValues = res.baseValues;\r\n this.dates = res.dates;\r\n this.shippingInfo = res.shippingInfo;\r\n this.content = res.content;\r\n this.loadStatus = res.loadStatus;\r\n this.deviationValues = res.deviation;\r\n this.loading = false;\r\n this.customsInfoRequired = res.customsInfoRequired;\r\n })\r\n .then(() => {\r\n this.fetchRelatedLoads();\r\n this.fetchSubLocations();\r\n this.fetchContainers();\r\n this.fetchDocuments();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, this.close);\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n fetchLoadPermissions() {\r\n this.$store\r\n .dispatch(actions.fetchPermissions, [this.loadId])\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchRelatedLoads() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .relatedLoads(this.loadId)\r\n .then(res => {\r\n this.relatedLoads = res;\r\n });\r\n },\r\n fetchSubLocations() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .sublocations(this.loadId)\r\n .then(res => {\r\n this.subLocations = res;\r\n });\r\n },\r\n fetchContainers() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .containers(this.loadId)\r\n .then(res => {\r\n this.containerValues = res;\r\n });\r\n },\r\n fetchDocuments() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .loadDocuments(this.loadId)\r\n .then(res => {\r\n this.documents = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n allowed(actionId: LoadActionPermission): Boolean {\r\n return this.actions.find(a => a.id === actionId)!.allowed;\r\n },\r\n exportContainerSpec() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .exportContainerPdf(this.loadId)\r\n .then(res => {\r\n pdfPrompt(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n actionClick(actionId: LoadActionPermission) {\r\n if (actionId === LoadActionPermission.ContainerExport) {\r\n this.exportContainerSpec();\r\n } else {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n ...this.$route.query,\r\n action: actionId.toString(),\r\n ids: \"[\" + this.loadId.toString() + \"]\"\r\n }\r\n });\r\n }\r\n }\r\n },\r\n data: (): {\r\n baseValues: LoadDetailsBaseValuesDto | undefined;\r\n dates: LoadDetailsDatesDto | undefined;\r\n shippingInfo: LoadDetailsShippingInfoDto | undefined;\r\n content: LoadDetailsContentDto | undefined;\r\n loading: boolean;\r\n valid: boolean;\r\n loadStatus?: LoadStatus;\r\n subLocations?: LoadClientEditSubLocations;\r\n relatedLoads?: RelatedLoadsDto;\r\n containerValues?: LoadClientEditContainersDto;\r\n deviationValues?: LoadDetailsDeviationDto | undefined;\r\n documents?: LoadDocumentDto[];\r\n actionEnum: typeof LoadActionPermission;\r\n customsInfoRequired: Boolean;\r\n } => ({\r\n baseValues: undefined,\r\n dates: undefined,\r\n shippingInfo: undefined,\r\n content: undefined,\r\n loading: true,\r\n valid: false,\r\n loadStatus: undefined,\r\n subLocations: undefined,\r\n relatedLoads: undefined,\r\n containerValues: undefined,\r\n deviationValues: undefined,\r\n documents: undefined,\r\n actionEnum: LoadActionPermission,\r\n customsInfoRequired: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDetailsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDetailsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDetailsDialog.vue?vue&type=template&id=6b0fc361&\"\nimport script from \"./LoadDetailsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDetailsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":!_vm.cargoType,\"full-height\":\"\",\"no-padding-bottom\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",staticClass:\"full-height\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{staticClass:\"full-height\"},[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"8\"}},[_c('LoadEditBaseValues',{attrs:{\"step\":_vm.step,\"publishValues\":_vm.publishValues,\"location\":_vm.location,\"infoTexts\":_vm.infoTexts,\"assortedValues\":_vm.assortedValues,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"agreementRoute\":_vm.agreementRoute,\"agreementRoutes\":_vm.agreementRoutes,\"loadStatus\":_vm.loadStatus},on:{\"fetchAgreementRoutes\":_vm.fetchAgreementRoutes}}),_c('LoadEditDates',{attrs:{\"step\":_vm.step,\"dates\":_vm.dates,\"loadStatus\":_vm.loadStatus,\"dateRequirements\":_vm.dateRequirements,\"agreementRoute\":_vm.agreementRoute,\"valuePermissions\":_vm.valuePermissions,\"cargoType\":_vm.cargoType},on:{\"fetchAgreementRoutes\":_vm.fetchAgreementRoutes}}),_c('LoadEditShippingInfo',{attrs:{\"step\":_vm.step,\"assortedValues\":_vm.assortedValues,\"infoTexts\":_vm.infoTexts}}),_c('LoadEditContainerInfo',{attrs:{\"step\":_vm.step,\"assortedValues\":_vm.assortedValues,\"containerValues\":_vm.containerValues,\"cargoType\":_vm.cargoType}}),_c('LoadEditMachineTransportInfo',{attrs:{\"step\":_vm.step,\"assortedValues\":_vm.assortedValues,\"cargoType\":_vm.cargoType}})],1),_c('v-col',{staticClass:\"large-padding-left no-padding-top small-margin-top background-pale rounded\",attrs:{\"cols\":\"4\"}},[_c('Accordion',{attrs:{\"publishValues\":_vm.publishValues,\"infoTexts\":_vm.infoTexts,\"assortedValues\":_vm.assortedValues,\"supplierBookingInfo\":_vm.supplierBookingInfo,\"subLocations\":_vm.subLocations,\"relatedLoads\":_vm.relatedLoads,\"containerValues\":_vm.containerValues,\"cargoType\":_vm.cargoType,\"agreementRouteId\":_vm.agreementRouteId,\"truckType\":_vm.truckType,\"agreementDate\":_vm.agreementDate,\"publishSpeed\":_vm.publishSpeed,\"loadStatus\":_vm.loadStatus,\"loadId\":_vm.loadId,\"deviations\":_vm.deviation,\"duplicateTransportNos\":_vm.duplicateTransportNos,\"documents\":_vm.documents,\"customsInfoRequired\":_vm.customsInfoRequired,\"editable\":\"\"}})],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('div',{on:{\"mouseenter\":_vm.validateForm}},[(_vm.cargoType && !_vm.loadStatus)?_c('v-btn',{attrs:{\"disabled\":!_vm.valid,\"loading\":_vm.actionInProgress,\"color\":\"success\"},on:{\"click\":_vm.createLoad}},[_vm._v(_vm._s(_vm.createLoadText)+\" \")]):_vm._e(),(_vm.cargoType && _vm.loadStatus)?_c('v-btn',{attrs:{\"disabled\":!_vm.valid || !_vm.pendingChanges,\"loading\":_vm.actionInProgress,\"color\":\"success\"},on:{\"click\":_vm.editLoad}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1):_vm._e()],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('GeneralValues')}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"8\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('AgreementRoute'),\"items\":_vm.agreementRoutes,\"rules\":[function (v) { return !!v; }],\"disabled\":_vm.loadStatus !== undefined,\"loading\":_vm.agreementRoutes.length === 0,\"tabindex\":\"1\",\"item-text\":\"name\",\"custom-item\":\"\",\"asterisk\":\"\",\"autofocus\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{class:item.hasAgreement ? 'green-text' : 'orange-text'},[_vm._v(_vm._s(item.name))])]}}]),model:{value:(_vm.publishValues.agreementRouteId),callback:function ($$v) {_vm.$set(_vm.publishValues, \"agreementRouteId\", $$v)},expression:\"publishValues.agreementRouteId\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('TruckType'),\"items\":_vm.truckTypes,\"rules\":[function (v) { return !!v; }],\"disabled\":_vm.step < 2 || _vm.loadStatus !== undefined,\"tabindex\":\"1\",\"item-text\":\"name\",\"custom-item\":\"\",\"asterisk\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{class:item.hasAgreement ? 'green-text' : 'orange-text'},[_vm._v(_vm._s(_vm.$t(item.name)))])]}}]),model:{value:(_vm.publishValues.truckType),callback:function ($$v) {_vm.$set(_vm.publishValues, \"truckType\", $$v)},expression:\"publishValues.truckType\"}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('PickupLocation'),\"items\":_vm.pickupLocationsConcated,\"rules\":[function (v) { return !!v; }],\"disabled\":_vm.step < 3,\"loading\":_vm.publishValues.agreementRouteId && _vm.pickupLocationsConcated.length === 0,\"tabindex\":\"1\",\"asterisk\":\"\"},model:{value:(_vm.location.pickupLocationId),callback:function ($$v) {_vm.$set(_vm.location, \"pickupLocationId\", $$v)},expression:\"location.pickupLocationId\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('AddressCombobox',{attrs:{\"label\":_vm.$t('PickupAddress'),\"country\":_vm.pickupLocation.country,\"county\":_vm.pickupLocation.county,\"zipcode\":_vm.pickupLocation.zipcode,\"disabled\":_vm.step < 4,\"tabindex\":\"1\"},on:{\"zipcode\":function (v) { return _vm.changeZipcode(v, true); }},model:{value:(_vm.location.pickupStreetAddress),callback:function ($$v) {_vm.$set(_vm.location, \"pickupStreetAddress\", $$v)},expression:\"location.pickupStreetAddress\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSaved',{attrs:{\"label\":_vm.$t('PickupInformation'),\"disabled\":_vm.step < 4,\"type\":\"pickupInfo\",\"tabindex\":\"1\",\"notEditable\":\"\",\"standardTextDialog\":\"\"},on:{\"modified\":_vm.setPickupInfoModified},model:{value:(_vm.infoTexts.pickupInfo),callback:function ($$v) {_vm.$set(_vm.infoTexts, \"pickupInfo\", $$v)},expression:\"infoTexts.pickupInfo\"}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('DeliveryLocation'),\"items\":_vm.deliveryLocationsConcated,\"rules\":[function (v) { return !!v; }],\"disabled\":_vm.step < 3,\"loading\":_vm.publishValues.agreementRouteId &&\n _vm.deliveryLocationsConcated.length === 0,\"tabindex\":\"1\",\"asterisk\":\"\"},model:{value:(_vm.location.deliveryLocationId),callback:function ($$v) {_vm.$set(_vm.location, \"deliveryLocationId\", $$v)},expression:\"location.deliveryLocationId\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('AddressCombobox',{attrs:{\"label\":_vm.$t('DeliveryAddress'),\"country\":_vm.deliveryLocation.country,\"county\":_vm.deliveryLocation.county,\"zipcode\":_vm.deliveryLocation.zipcode,\"disabled\":_vm.step < 4,\"tabindex\":\"1\"},on:{\"zipcode\":function (v) { return _vm.changeZipcode(v, false); }},model:{value:(_vm.location.deliveryStreetAddress),callback:function ($$v) {_vm.$set(_vm.location, \"deliveryStreetAddress\", $$v)},expression:\"location.deliveryStreetAddress\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSaved',{attrs:{\"label\":_vm.$t('DestinationInformation'),\"type\":\"destinationInfo\",\"disabled\":_vm.step < 4,\"tabindex\":\"1\",\"notEditable\":\"\",\"standardTextDialog\":\"\"},on:{\"modified\":_vm.setDestinationInfoModified},model:{value:(_vm.infoTexts.destinationInfo),callback:function ($$v) {_vm.$set(_vm.infoTexts, \"destinationInfo\", $$v)},expression:\"infoTexts.destinationInfo\"}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('DistanceInput',{attrs:{\"label\":((_vm.$t('Distance')) + \" (km)\"),\"fromCountry\":_vm.pickupLocation.country,\"fromCounty\":_vm.pickupLocation.county,\"fromZipcode\":_vm.pickupLocation.zipcode,\"fromAddress\":_vm.location.pickupStreetAddress,\"toCountry\":_vm.deliveryLocation.country,\"toCounty\":_vm.deliveryLocation.county,\"toZipcode\":_vm.deliveryLocation.zipcode,\"toAddress\":_vm.location.deliveryStreetAddress,\"agreementRouteId\":_vm.publishValues.agreementRouteId,\"loadStatus\":_vm.loadStatus,\"disabled\":_vm.step < 4,\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.distance),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"distance\", $$v)},expression:\"assortedValues.distance\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Emission',{attrs:{\"truckType\":_vm.publishValues.truckType,\"distance\":_vm.assortedValues.distance,\"disabled\":_vm.step < 4}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('PublishSpeedSlider',{attrs:{\"disabled\":_vm.step < 4 || _vm.loadStatus !== undefined},model:{value:(_vm.publishValues.publishSpeed),callback:function ($$v) {_vm.$set(_vm.publishValues, \"publishSpeed\", $$v)},expression:\"publishValues.publishSpeed\"}})],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:\"outer-div\",class:{ 'kinda-transparent': _vm.disabled }},[_c('div',{staticClass:\"border-label\"},[_vm._v(_vm._s(_vm.$t(\"PublishSpeed\")))]),_c('div',{staticClass:\"inner-div\"},[_c('v-slider',{attrs:{\"value\":_vm.value,\"tick-labels\":[\n _vm.$t('Economy'),\n _vm.$t('LoadPublishSpeedNormal'),\n _vm.$t('Broadcast')\n ],\"max\":3,\"min\":1,\"step\":1,\"disabled\":_vm.disabled,\"color\":\"icon-grey\",\"track-color\":\"icon-grey\",\"thumb-color\":\"icon-cyan\"},on:{\"input\":function (v) { return _vm.$emit('input', v); }}})],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Number,\r\n disabled: Boolean\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublishSpeedSlider.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublishSpeedSlider.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PublishSpeedSlider.vue?vue&type=template&id=634246db&scoped=true&\"\nimport script from \"./PublishSpeedSlider.vue?vue&type=script&lang=ts&\"\nexport * from \"./PublishSpeedSlider.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PublishSpeedSlider.vue?vue&type=style&index=0&id=634246db&scoped=true&lang=css&\"\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 \"634246db\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSlider } from 'vuetify/lib/components/VSlider';\ninstallComponents(component, {VSlider})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('NumberInput',{attrs:{\"value\":_vm.value,\"label\":_vm.label,\"disabled\":_vm.disabled,\"tabindex\":_vm.tabindex,\"allow-null\":\"\",\"only-on-blur\":\"\"},on:{\"input\":_vm.input,\"keydown\":function($event){return _vm.markAsManual(true)}},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(!_vm.loading)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-row',_vm._g({attrs:{\"no-gutters\":\"\"}},on),_vm._l((_vm.icons),function(icon,index){return _c('v-col',{key:index,staticClass:\"no-vertical-padding unselectable\",attrs:{\"cols\":\"4\"}},[_c('v-icon',{attrs:{\"color\":_vm.starInfo.color}},[_vm._v(\" \"+_vm._s(icon)+\" \")])],1)}),1)]}}],null,false,3232492062)},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])]):_vm._e(),(_vm.loading || _vm.manual)?_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\"},[_c('v-icon',{class:{ 'spin-slow': _vm.loading },attrs:{\"color\":\"cyan\",\"disabled\":_vm.loading},on:{\"click\":_vm.recalculateDistance}},[_vm._v(\" mdi-refresh \")])],1)],1):_vm._e()]},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\r\nimport Vue from \"vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { Country, LoadStatus, RoutingExactness } from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { routingExactnessName } from \"@/scripts/misc/enumNames\";\r\n\r\ninterface StarInfo {\r\n stars: number;\r\n color: string;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n NumberInput\r\n },\r\n props: {\r\n value: Number,\r\n label: String,\r\n fromCountry: Number as () => Country | undefined,\r\n fromCounty: String as () => string | undefined,\r\n fromZipcode: String as () => string | undefined,\r\n fromAddress: String as () => string | undefined,\r\n toCountry: Number as () => Country | undefined,\r\n toCounty: String as () => string | undefined,\r\n toZipcode: String as () => string | undefined,\r\n toAddress: String as () => string | undefined,\r\n agreementRouteId: Number as () => number | undefined,\r\n loadStatus: Number as () => LoadStatus | undefined,\r\n disabled: Boolean,\r\n tabindex: String\r\n },\r\n watch: {\r\n fromAddress() {\r\n this.recalculateDistanceIfNotManual();\r\n },\r\n toAddress() {\r\n this.recalculateDistanceIfNotManual();\r\n },\r\n fromZipcode() {\r\n this.recalculateDistanceIfNotManual();\r\n },\r\n toZipcode() {\r\n this.recalculateDistanceIfNotManual();\r\n },\r\n value: {\r\n handler() {\r\n if (!this.value) {\r\n this.markAsManual(false);\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n icons(): string[] {\r\n if (this.manual) {\r\n return [\"mdi-star-off-outline\"];\r\n }\r\n return [\r\n this.starIcon(this.starInfo.stars),\r\n this.starIcon(this.starInfo.stars - 1),\r\n this.starIcon(this.starInfo.stars - 2)\r\n ];\r\n },\r\n starInfo(): StarInfo {\r\n switch (this.lowestExactness) {\r\n case RoutingExactness.Unknown:\r\n return {\r\n stars: 0,\r\n color: \"grey\"\r\n };\r\n case RoutingExactness.Manual:\r\n return {\r\n stars: 0,\r\n color: \"cyan\"\r\n };\r\n case RoutingExactness.Fail:\r\n return {\r\n stars: 0,\r\n color: \"deep-orange accent-3\"\r\n };\r\n case RoutingExactness.AgreementRoute:\r\n return {\r\n stars: 1,\r\n color: \"deep-orange accent-2\"\r\n };\r\n case RoutingExactness.Country:\r\n return {\r\n stars: 1,\r\n color: \"deep-orange accent-2\"\r\n };\r\n case RoutingExactness.ZipcodeArea:\r\n return {\r\n stars: 1.5,\r\n color: \"warning\"\r\n };\r\n case RoutingExactness.County:\r\n return {\r\n stars: 2,\r\n color: \"warning lighten-1\"\r\n };\r\n case RoutingExactness.Zipcode:\r\n return {\r\n stars: 2.5,\r\n color: \"warning lighten-2\"\r\n };\r\n case RoutingExactness.Address:\r\n return {\r\n stars: 3,\r\n color: \"warning lighten-2\"\r\n };\r\n default:\r\n return neverHappens(this.lowestExactness);\r\n }\r\n },\r\n tooltip(): string {\r\n const fromText = routingExactnessName(this.fromExactness);\r\n const toText = routingExactnessName(this.toExactness);\r\n return `${t(\"DistancePrecisionTooltip\")}\r\n ${t(\"Pickup\")}: ${fromText}\r\n ${t(\"Delivery\")}: ${toText}`;\r\n },\r\n lowestExactness(): RoutingExactness {\r\n return Math.min(this.fromExactness, this.toExactness);\r\n },\r\n manual(): boolean {\r\n return this.lowestExactness === RoutingExactness.Manual;\r\n }\r\n },\r\n methods: {\r\n markAsManual(manual: boolean) {\r\n this.fromExactness = manual\r\n ? RoutingExactness.Manual\r\n : RoutingExactness.Unknown;\r\n this.toExactness = manual\r\n ? RoutingExactness.Manual\r\n : RoutingExactness.Unknown;\r\n },\r\n input(val?: number) {\r\n this.$emit(\"input\", val);\r\n },\r\n starIcon(stars: number): string {\r\n if (stars <= 0) {\r\n return \"mdi-star-outline\";\r\n }\r\n if (stars <= 0.5) {\r\n return \"mdi-star-half-full\";\r\n }\r\n return \"mdi-star\";\r\n },\r\n recalculateDistanceIfNotManual() {\r\n if (\r\n this.lowestExactness !== RoutingExactness.Manual &&\r\n !this.loadStatus\r\n ) {\r\n this.recalculateDistance();\r\n }\r\n },\r\n recalculateDistance() {\r\n this.fromExactness = RoutingExactness.Unknown;\r\n this.toExactness = RoutingExactness.Unknown;\r\n if (\r\n !this.fromCountry ||\r\n !this.fromCounty ||\r\n !this.fromZipcode ||\r\n !this.toCountry ||\r\n !this.toCounty ||\r\n !this.toZipcode\r\n ) {\r\n return;\r\n }\r\n this.loading = true;\r\n cached(\"itinerary\", [\r\n this.fromCountry,\r\n this.fromCounty,\r\n this.fromZipcode,\r\n this.fromAddress || \"\",\r\n this.toCountry,\r\n this.toCounty,\r\n this.toZipcode,\r\n this.toAddress || \"\",\r\n this.agreementRouteId || null\r\n ])\r\n .then(res => {\r\n this.input(res.distance);\r\n this.fromExactness = res.fromExactness;\r\n this.toExactness = res.toExactness;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.loading = false;\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n fromExactness: RoutingExactness;\r\n toExactness: RoutingExactness;\r\n } => ({\r\n loading: false,\r\n fromExactness: RoutingExactness.Unknown,\r\n toExactness: RoutingExactness.Unknown\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DistanceInput.vue?vue&type=template&id=7848ea5e&\"\nimport script from \"./DistanceInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./DistanceInput.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCol,VIcon,VRow,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-chip',{staticClass:\"emission\",class:{ disabled: _vm.disabled },attrs:{\"label\":\"\",\"outlined\":\"\",\"color\":\"success\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Emission\"))+\": \"+_vm._s(_vm.emission ? _vm.money(_vm.emission) : \"-\")+\" \")])}\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\r\nimport Vue from \"vue\";\r\nimport { ApiConfiguration, LoadsClient } from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport money from \"@/scripts/misc/money\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n distance: Number,\r\n truckType: Number,\r\n disabled: Boolean\r\n },\r\n watch: {\r\n distance: {\r\n handler() {\r\n this.fetchEmission();\r\n },\r\n immediate: true\r\n },\r\n truckType: {\r\n handler() {\r\n this.fetchEmission();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n fetchEmission() {\r\n if (!this.distance || !this.truckType) {\r\n this.emission = 0;\r\n return;\r\n }\r\n this.loading = true;\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .emission(this.truckType, this.distance)\r\n .then(res => {\r\n this.emission = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.loading = false;\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n emission: number;\r\n } => ({\r\n loading: false,\r\n emission: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emission.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Emission.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Emission.vue?vue&type=template&id=b4e338fa&scoped=true&\"\nimport script from \"./Emission.vue?vue&type=script&lang=ts&\"\nexport * from \"./Emission.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Emission.vue?vue&type=style&index=0&id=b4e338fa&scoped=true&lang=css&\"\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 \"b4e338fa\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\ninstallComponents(component, {VChip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteWithAgreementStatusDto,\r\n Country,\r\n CountyWithZipcodeDto,\r\n LoadClientEditAssortedValuesDto,\r\n LoadClientEditInfoTextsDto,\r\n LoadClientEditLocationDto,\r\n LoadClientPublishValues,\r\n LoadStatus,\r\n CargoType,\r\n RepositoryDto,\r\n TruckTypeDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport PublishSpeedSlider from \"@/components/shared/input/PublishSpeedSlider.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport AddressCombobox from \"@/components/shared/input/AddressCombobox.vue\";\r\nimport TextSaved from \"@/components/shared/input/TextSaved.vue\";\r\nimport DistanceInput from \"@/components/shared/input/DistanceInput.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Emission from \"@/components/shared/ui/Emission.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n step: Number,\r\n publishValues: LoadClientPublishValues,\r\n location: LoadClientEditLocationDto,\r\n infoTexts: LoadClientEditInfoTextsDto,\r\n assortedValues: LoadClientEditAssortedValuesDto,\r\n cargoType: Number as () => CargoType,\r\n agreementRoute: AgreementRouteWithAgreementStatusDto,\r\n agreementRoutes: Array as () => AgreementRouteWithAgreementStatusDto[],\r\n agreementDate: Object as () => CDate,\r\n loadStatus: Number as () => LoadStatus | undefined\r\n },\r\n components: {\r\n PublishSpeedSlider,\r\n Autocomplete,\r\n AddressCombobox,\r\n TextSaved,\r\n DistanceInput,\r\n Dropdown,\r\n Emission,\r\n GreyTitle\r\n },\r\n watch: {\r\n agreementDate() {\r\n this.$emit(\"fetchAgreementRoutes\");\r\n this.fetchTruckTypes();\r\n },\r\n agreementRoute(\r\n newVal?: AgreementRouteWithAgreementStatusDto,\r\n oldVal?: AgreementRouteWithAgreementStatusDto\r\n ) {\r\n this.fetchTruckTypes();\r\n this.fetchLocations();\r\n if (!newVal || !oldVal || newVal.id !== oldVal.id) {\r\n if (this.loadStatus === undefined) {\r\n this.publishValues.truckType = undefined as any;\r\n this.location.pickupStreetAddress = newVal\r\n ? newVal.predefinedPickupAddress\r\n : \"\";\r\n this.location.deliveryStreetAddress = \"\";\r\n this.autoSelectLocations();\r\n }\r\n }\r\n\r\n if (this.loadStatus === undefined && newVal?.id !== oldVal?.id) {\r\n this.infoTexts.pickupInfo = this.agreementRoute?.predefinedPickupInfo;\r\n this.infoTexts.destinationInfo = this.agreementRoute?.predefinedDeliveryInfo;\r\n }\r\n }\r\n },\r\n computed: {\r\n pickupLocation(): { country?: Country; county?: string; zipcode?: string } {\r\n let res: { country?: Country; county?: string; zipcode?: string } = {};\r\n if (this.agreementRoute) {\r\n res.country = this.agreementRoute.pickupCountry;\r\n }\r\n const location = this.pickupLocations.find(\r\n l => l.id === this.location.pickupLocationId\r\n );\r\n if (!!location) {\r\n res.county = location.county;\r\n res.zipcode = location.zipcode;\r\n }\r\n return res;\r\n },\r\n deliveryLocation(): {\r\n country?: Country;\r\n county?: string;\r\n zipcode?: string;\r\n } {\r\n let res: { country?: Country; county?: string; zipcode?: string } = {};\r\n if (this.agreementRoute) {\r\n res.country = this.agreementRoute.deliveryCountry;\r\n }\r\n const location = this.deliveryLocations.find(\r\n l => l.id === this.location.deliveryLocationId\r\n );\r\n if (!!location) {\r\n res.county = location.county;\r\n res.zipcode = location.zipcode;\r\n }\r\n return res;\r\n }\r\n },\r\n methods: {\r\n autoSelectLocations() {\r\n if (!this.agreementRoute) {\r\n return;\r\n }\r\n this.location.pickupLocationId = this.agreementRoute.pickupLocationId;\r\n this.location.deliveryLocationId = this.agreementRoute.deliveryLocationId;\r\n },\r\n changeZipcode(zipcode: string, pickup: boolean) {\r\n const locations = pickup ? this.pickupLocations : this.deliveryLocations;\r\n const currentLocationId = pickup\r\n ? this.location.pickupLocationId\r\n : this.location.deliveryLocationId;\r\n const currentLocation = locations.find(l => l.id === currentLocationId);\r\n const newLocation = locations.find(l => l.zipcode === zipcode);\r\n if (\r\n newLocation &&\r\n (!currentLocation || newLocation.zipcode !== currentLocation.zipcode)\r\n ) {\r\n if (pickup) {\r\n this.location.pickupLocationId = newLocation.id;\r\n } else {\r\n this.location.deliveryLocationId = newLocation.id;\r\n }\r\n }\r\n },\r\n fetchTruckTypes() {\r\n if (!this.publishValues.agreementRouteId) {\r\n return;\r\n }\r\n cached(\r\n \"trucktypesByAgreementrouteid\",\r\n this.cargoType as any,\r\n this.agreementDate,\r\n this.publishValues.agreementRouteId\r\n )\r\n .then(res => {\r\n this.truckTypes = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchLocations() {\r\n if (!this.agreementRoute) {\r\n return;\r\n }\r\n cached(\"countiesAndZipcode\", this.agreementRoute.pickupCountry)\r\n .then(res => {\r\n this.pickupLocations = res;\r\n this.pickupLocationsConcated = res.map(\r\n x =>\r\n new RepositoryDto({\r\n id: x.id,\r\n text: `${x.county}, ${x.zipcode}`\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"countiesAndZipcode\", this.agreementRoute.deliveryCountry)\r\n .then(res => {\r\n this.deliveryLocations = res;\r\n this.deliveryLocationsConcated = res.map(\r\n x =>\r\n new RepositoryDto({\r\n id: x.id,\r\n text: `${x.county}, ${x.zipcode}`\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n setPickupInfoModified() {\r\n this.pickupInfoPristine = false;\r\n },\r\n setDestinationInfoModified() {\r\n this.destinationInfoPristine = false;\r\n }\r\n },\r\n mounted() {\r\n this.$emit(\"fetchAgreementRoutes\");\r\n },\r\n data: (): {\r\n truckTypes: TruckTypeDto[];\r\n pickupLocations: CountyWithZipcodeDto[];\r\n pickupLocationsConcated: RepositoryDto[];\r\n deliveryLocations: CountyWithZipcodeDto[];\r\n deliveryLocationsConcated: RepositoryDto[];\r\n pickupInfoPristine: boolean;\r\n destinationInfoPristine: boolean;\r\n } => ({\r\n truckTypes: [],\r\n pickupLocations: [],\r\n pickupLocationsConcated: [],\r\n deliveryLocations: [],\r\n deliveryLocationsConcated: [],\r\n pickupInfoPristine: true,\r\n destinationInfoPristine: true\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditBaseValues.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditBaseValues.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditBaseValues.vue?vue&type=template&id=7180ce90&\"\nimport script from \"./LoadEditBaseValues.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditBaseValues.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('Dates')}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"disabled\":_vm.step < 4 || !_vm.pickupEarliestEnabled,\"zone\":_vm.pickupZone,\"tabindex\":\"1\",\"asterisk\":\"\",\"with-time\":\"\"},on:{\"done\":_vm.checkAgreementPeriod},model:{value:(_vm.dates.pickupEarliest),callback:function ($$v) {_vm.$set(_vm.dates, \"pickupEarliest\", $$v)},expression:\"dates.pickupEarliest\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('PickupLatest'),\"rules\":_vm.dateRules.pickupLatest,\"disabled\":_vm.step < 4,\"zone\":_vm.pickupZone,\"tabindex\":\"1\",\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.dates.pickupLatest),callback:function ($$v) {_vm.$set(_vm.dates, \"pickupLatest\", $$v)},expression:\"dates.pickupLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[(_vm.isRoad)?_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredPickupDate'),\"disabled\":_vm.step < 4},model:{value:(_vm.dateRequirements.bookedPickup),callback:function ($$v) {_vm.$set(_vm.dateRequirements, \"bookedPickup\", $$v)},expression:\"dateRequirements.bookedPickup\"}}):_vm._e()],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"rules\":_vm.dateRules.deliverEarliest,\"disabled\":_vm.step < 4,\"zone\":_vm.deliveryZone,\"tabindex\":\"1\",\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.dates.deliverEarliest),callback:function ($$v) {_vm.$set(_vm.dates, \"deliverEarliest\", $$v)},expression:\"dates.deliverEarliest\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DeliveryLatest'),\"rules\":_vm.dateRules.deliverLatest,\"disabled\":_vm.step < 4,\"zone\":_vm.deliveryZone,\"tabindex\":\"1\",\"asterisk\":\"\",\"with-time\":\"\"},model:{value:(_vm.dates.deliverLatest),callback:function ($$v) {_vm.$set(_vm.dates, \"deliverLatest\", $$v)},expression:\"dates.deliverLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[(_vm.isRoad)?_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredDeliveryDate'),\"disabled\":_vm.step < 4},model:{value:(_vm.dateRequirements.bookedDelivery),callback:function ($$v) {_vm.$set(_vm.dateRequirements, \"bookedDelivery\", $$v)},expression:\"dateRequirements.bookedDelivery\"}}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import CDate from \"@/scripts/misc/cdate\";\r\nimport { t } from \"../language/i18n\";\r\n\r\nexport const pickupDeliveryRules = (\r\n pickupEarliest: CDate,\r\n pickupLatest: CDate | undefined,\r\n deliverEarliest: CDate | undefined\r\n): PickupDeliveryRules => {\r\n return {\r\n pickupLatest: [geq(pickupEarliest, \"PickupEarliest\", \"PickupLatest\")],\r\n deliverEarliest: [\r\n geq(pickupEarliest, \"PickupEarliest\", \"DeliveryEarliest\")\r\n ],\r\n deliverLatest: [\r\n geq(pickupEarliest, \"PickupEarliest\", \"DeliveryLatest\"),\r\n geq(pickupLatest, \"PickupLatest\", \"DeliveryLatest\"),\r\n geq(deliverEarliest, \"DeliveryEarliest\", \"DeliveryLatest\")\r\n ]\r\n };\r\n};\r\n\r\nexport interface PickupDeliveryRules {\r\n pickupLatest: { (date?: CDate): boolean | string }[];\r\n deliverEarliest: { (date?: CDate): boolean | string }[];\r\n deliverLatest: { (date?: CDate): boolean | string }[];\r\n}\r\n\r\nexport const geq = (\r\n d1: CDate | undefined,\r\n s1: string,\r\n s2: string\r\n): { (date?: CDate): boolean | string } => {\r\n return (d2?: CDate) =>\r\n !d1 ||\r\n !d2 ||\r\n !d1.isValid() ||\r\n !d2.isValid() ||\r\n d2.isSameOrAfter(d1) ||\r\n t(\"RangeValidationGreaterOrEqual\")\r\n .toString()\r\n .replace(\"{0}\", t(s2).toString())\r\n .replace(\r\n \"{1}\",\r\n t(s1)\r\n .toString()\r\n .toLowerCase()\r\n );\r\n};\r\n\r\nexport const leq = (\r\n d1: CDate | undefined,\r\n s1: string,\r\n s2: string\r\n): { (date?: CDate): boolean | string } => {\r\n return (d2?: CDate) =>\r\n !d1 ||\r\n !d2 ||\r\n !d1.isValid() ||\r\n !d2.isValid() ||\r\n d2.isSameOrBefore(d1) ||\r\n t(\"RangeValidationLessOrEqual\")\r\n .toString()\r\n .replace(\"{0}\", t(s2).toString())\r\n .replace(\r\n \"{1}\",\r\n t(s1)\r\n .toString()\r\n .toLowerCase()\r\n );\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementPeriodDto,\r\n AgreementRouteWithAgreementStatusDto,\r\n AgreementsClientClient,\r\n ApiConfiguration,\r\n LoadClientEditDateRequirementsDto,\r\n LoadClientEditDatesDto,\r\n LoadStatus,\r\n LoadValuePermission,\r\n LoadValuePermissionDto,\r\n CargoType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport {\r\n PickupDeliveryRules,\r\n pickupDeliveryRules\r\n} from \"@/scripts/misc/dateUtils\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n step: Number,\r\n dates: LoadClientEditDatesDto,\r\n loadStatus: Number as () => LoadStatus | undefined,\r\n dateRequirements: LoadClientEditDateRequirementsDto,\r\n agreementRoute: AgreementRouteWithAgreementStatusDto,\r\n valuePermissions: Array as () => LoadValuePermissionDto[],\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n DatePicker,\r\n Checkbox,\r\n GreyTitle\r\n },\r\n watch: {\r\n agreementRoute(\r\n newVal?: AgreementRouteWithAgreementStatusDto,\r\n oldVal?: AgreementRouteWithAgreementStatusDto\r\n ) {\r\n this.fetchAgreementPeriod();\r\n\r\n if (\r\n this.loadStatus === undefined &&\r\n newVal !== undefined &&\r\n newVal?.id !== oldVal?.id\r\n ) {\r\n this.dateRequirements.bookedDelivery = this.agreementRoute.mandatoryDeliveryDateRequiredDefaultValue;\r\n this.dateRequirements.bookedPickup = this.agreementRoute.mandatoryPickUpDateRequiredDefaultValue;\r\n }\r\n }\r\n },\r\n computed: {\r\n gteToday(): boolean {\r\n return this.loadStatus === undefined;\r\n },\r\n dateRules(): PickupDeliveryRules {\r\n return pickupDeliveryRules(\r\n this.dates.pickupEarliest!,\r\n this.dates.pickupLatest,\r\n this.dates.deliverEarliest\r\n );\r\n },\r\n pickupEarliestEnabled(): boolean {\r\n return (\r\n this.loadStatus === undefined ||\r\n this.valuePermissions.some(\r\n p =>\r\n p.permissionType === LoadValuePermission.PickupEarliest && p.enabled\r\n )\r\n );\r\n },\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n pickupZone(): TimeZone {\r\n return this.agreementRoute?.pickupZone\r\n ? this.agreementRoute.pickupZone\r\n : TimeZone.Europe_Stockholm;\r\n },\r\n deliveryZone(): TimeZone {\r\n return this.agreementRoute?.deliveryZone\r\n ? this.agreementRoute.deliveryZone\r\n : TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n checkAgreementPeriod() {\r\n if (\r\n this.agreementPeriods.filter(\r\n p =>\r\n p.from! <= this.dates.pickupEarliest! &&\r\n p.to! >= this.dates.pickupEarliest!\r\n ).length === 0\r\n ) {\r\n alertDialog(\r\n this.$t(\"MissingAgreement\").toString(),\r\n this.$t(\"MissingAgreementDuringDate\")\r\n .toString()\r\n .replace(\"{date}\", this.dates.pickupEarliest!.datePrint()) +\r\n \"\\n\\n\" +\r\n this.agreementPeriods\r\n .map(p => `${p.from!.datePrint()} - ${p.to!.datePrint()}`)\r\n .join(\"\\n\")\r\n );\r\n }\r\n },\r\n fetchAgreementPeriod() {\r\n if (!this.agreementRoute) {\r\n return;\r\n }\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .agreementPeriods(this.agreementRoute.id)\r\n .then(res => {\r\n this.agreementPeriods = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { agreementPeriods: AgreementPeriodDto[] } => ({\r\n agreementPeriods: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditDates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditDates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditDates.vue?vue&type=template&id=643c5450&\"\nimport script from \"./LoadEditDates.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditDates.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ShippingInformation')}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TransportNo'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 100; }],\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.transportNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"transportNo\", $$v)},expression:\"assortedValues.transportNo\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('UnitAutcomplete',{attrs:{\"label\":_vm.$t('Unit'),\"items\":_vm.units,\"disabled\":_vm.step < 4,\"tabindex\":\"1\",\"rules\":[function (v) { return !v || v.length <= 40 || _vm.tooLongText(40); }]},on:{\"addItem\":function (i) { return _vm.units.unshift(i); }},model:{value:(_vm.assortedValues.unit),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"unit\", $$v)},expression:\"assortedValues.unit\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ReferenceNo'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 50; }],\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.referenceNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"referenceNo\", $$v)},expression:\"assortedValues.referenceNo\"}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ConsignmentNote'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 20 || _vm.tooLongText(20); }],\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.consignmentNote),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"consignmentNote\", $$v)},expression:\"assortedValues.consignmentNote\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSaved',{attrs:{\"label\":_vm.$t('Note'),\"disabled\":_vm.step < 4,\"type\":\"note\",\"tabindex\":\"1\",\"top\":\"\"},model:{value:(_vm.infoTexts.note),callback:function ($$v) {_vm.$set(_vm.infoTexts, \"note\", $$v)},expression:\"infoTexts.note\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TruckNo'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 20 || _vm.tooLongText(20); }],\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.truckNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"truckNo\", $$v)},expression:\"assortedValues.truckNo\"}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Customer'),\"items\":_vm.customers,\"disabled\":_vm.step < 4,\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.customerId),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"customerId\", $$v)},expression:\"assortedValues.customerId\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('LoadOrderNo'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 50; }],\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.loadOrderNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"loadOrderNo\", $$v)},expression:\"assortedValues.loadOrderNo\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BookingNo'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 50; }],\"tabindex\":\"1\"},model:{value:(_vm.assortedValues.bookingNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"bookingNo\", $$v)},expression:\"assortedValues.bookingNo\"}})],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('v-autocomplete',{attrs:{\"value\":_vm.value,\"label\":_vm.label,\"items\":_vm.items,\"tabindex\":_vm.tabindex !== undefined ? _vm.tabindex : 1,\"search-input\":_vm.searchInput,\"disabled\":_vm.disabled,\"rules\":_vm.rules,\"auto-select-first\":\"\",\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"update:searchInput\":function($event){_vm.searchInput=$event},\"update:search-input\":function($event){_vm.searchInput=$event},\"input\":_vm.input},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(!_vm.existingItem)?_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"!click\":function($event){return _vm.addItem.apply(null, arguments)}}},[_c('v-icon',[_vm._v(\"mdi-plus\")])],1):_vm._e()]},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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: String,\r\n label: String,\r\n items: Array as () => string[],\r\n rules: Array,\r\n tabindex: String,\r\n disabled: Boolean\r\n },\r\n computed: {\r\n existingItem(): boolean {\r\n if (!this.searchInput) {\r\n return true;\r\n }\r\n return this.items.includes(this.searchInput);\r\n }\r\n },\r\n methods: {\r\n input(val: any) {\r\n this.$emit(\"input\", val);\r\n },\r\n addItem() {\r\n this.$emit(\"addItem\", this.searchInput!.toLocaleUpperCase());\r\n this.input(this.searchInput!.toLocaleUpperCase());\r\n }\r\n },\r\n data: (): { searchInput: string | null } => ({ searchInput: null })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnitAutocomplete.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UnitAutocomplete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UnitAutocomplete.vue?vue&type=template&id=2dbca77c&scoped=true&\"\nimport script from \"./UnitAutocomplete.vue?vue&type=script&lang=ts&\"\nexport * from \"./UnitAutocomplete.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UnitAutocomplete.vue?vue&type=style&index=0&id=2dbca77c&scoped=true&lang=css&\"\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 \"2dbca77c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VAutocomplete,VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadClientEditAssortedValuesDto,\r\n LoadClientEditInfoTextsDto,\r\n RepositoryClient,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextSaved from \"@/components/shared/input/TextSaved.vue\";\r\nimport UnitAutcomplete from \"@/components/shared/input/UnitAutocomplete.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n step: Number,\r\n assortedValues: LoadClientEditAssortedValuesDto,\r\n infoTexts: LoadClientEditInfoTextsDto\r\n },\r\n components: {\r\n Autocomplete,\r\n TextSingle,\r\n TextSaved,\r\n UnitAutcomplete,\r\n GreyTitle\r\n },\r\n methods: {\r\n fetchCustomers() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .customers()\r\n .then(res => {\r\n this.customers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchUnits() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .units()\r\n .then(res => {\r\n this.units = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n tooLongText(max: number): string {\r\n return t(\"MaxXCharacters\").replace(\"{0}\", max.toString());\r\n }\r\n },\r\n mounted() {\r\n this.fetchCustomers();\r\n this.fetchUnits();\r\n },\r\n data: (): {\r\n customers: RepositoryDto[];\r\n units: string[];\r\n } => ({\r\n customers: [],\r\n units: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditShippingInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditShippingInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditShippingInfo.vue?vue&type=template&id=80f29a22&\"\nimport script from \"./LoadEditShippingInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditShippingInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ContainerInformation')}})],1),_c('v-col',{staticClass:\"small-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Terminal'),\"items\":_vm.terminals,\"disabled\":_vm.step < 4},model:{value:(_vm.assortedValues.terminalId),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"terminalId\", $$v)},expression:\"assortedValues.terminalId\"}})],1),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BLNo'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.assortedValues.blNo),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"blNo\", $$v)},expression:\"assortedValues.blNo\"}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Incoterms'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.containerValues.incoterms),callback:function ($$v) {_vm.$set(_vm.containerValues, \"incoterms\", $$v)},expression:\"containerValues.incoterms\"}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"small-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('KNCurrency'),\"disabled\":_vm.step < 4,\"rules\":[function (v) { return !v || v.length <= 3; }]},model:{value:(_vm.containerValues.knCurrency),callback:function ($$v) {_vm.$set(_vm.containerValues, \"knCurrency\", $$v)},expression:\"containerValues.knCurrency\"}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('KNValue'),\"disabled\":_vm.step < 4},model:{value:(_vm.containerValues.knValue),callback:function ($$v) {_vm.$set(_vm.containerValues, \"knValue\", $$v)},expression:\"containerValues.knValue\"}})],1):_vm._e(),(_vm.visible)?_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('KNProductCode'),\"disabled\":_vm.step < 4},model:{value:(_vm.containerValues.knProductCode),callback:function ($$v) {_vm.$set(_vm.containerValues, \"knProductCode\", $$v)},expression:\"containerValues.knProductCode\"}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadClientEditAssortedValuesDto,\r\n LoadClientEditContainersDto,\r\n CargoType,\r\n RepositoryClient,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n step: Number,\r\n assortedValues: LoadClientEditAssortedValuesDto,\r\n containerValues: LoadClientEditContainersDto,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n Autocomplete,\r\n TextSingle,\r\n NumberInput,\r\n GreyTitle\r\n },\r\n computed: {\r\n visible(): boolean {\r\n return (\r\n this.cargoType === CargoType.Container &&\r\n this.containerValues !== undefined\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchTerminals() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .terminals()\r\n .then(res => {\r\n this.terminals = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchTerminals();\r\n },\r\n data: (): {\r\n terminals: RepositoryDto[];\r\n } => ({\r\n terminals: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditContainerInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditContainerInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditContainerInfo.vue?vue&type=template&id=18eabee4&\"\nimport script from \"./LoadEditContainerInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditContainerInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('MachineTransport')}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('EscortCarPriceKM'),\"disabled\":_vm.step < 4},model:{value:(_vm.assortedValues.escortCarPrice),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"escortCarPrice\", $$v)},expression:\"assortedValues.escortCarPrice\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('VTLPrice'),\"disabled\":_vm.step < 4},model:{value:(_vm.assortedValues.vtlPrice),callback:function ($$v) {_vm.$set(_vm.assortedValues, \"vtlPrice\", $$v)},expression:\"assortedValues.vtlPrice\"}})],1)],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\r\nimport Vue from \"vue\";\r\nimport { LoadClientEditAssortedValuesDto, CargoType } from \"@/scripts/cld.api\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n step: Number,\r\n assortedValues: LoadClientEditAssortedValuesDto,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n NumberInput,\r\n GreyTitle\r\n },\r\n computed: {\r\n visible(): boolean {\r\n return this.cargoType === CargoType.MachineTransport;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditMachineTransportInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditMachineTransportInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditMachineTransportInfo.vue?vue&type=template&id=8b483f7c&\"\nimport script from \"./LoadEditMachineTransportInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditMachineTransportInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteWithAgreementStatusDto,\r\n ApiConfiguration,\r\n DocumentsClient,\r\n LoadActionPermission,\r\n LoadClientCreateDto,\r\n LoadClientEditAssortedValuesDto,\r\n LoadClientEditContainersDto,\r\n LoadClientEditDateRequirementsDto,\r\n LoadClientEditDatesDto,\r\n LoadClientEditDocumentsDto,\r\n LoadClientEditDto,\r\n LoadClientEditInfoTextsDto,\r\n LoadClientEditLocationDto,\r\n LoadClientEditRelatedLoadsSaveDto,\r\n LoadClientEditSubLocations,\r\n LoadClientEditSupplierBookingInfoDto,\r\n LoadClientPublishValues,\r\n LoadDetailsDeviationDto,\r\n LoadDocumentDto,\r\n LoadsClient,\r\n LoadsClientClient,\r\n LoadStatus,\r\n LoadValuePermissionDto,\r\n CargoType,\r\n PublishSpeed,\r\n RelatedLoadsDto,\r\n TruckType,\r\n UserConfigurationType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n errorDialog,\r\n popupDialog,\r\n saveBeforeContinueDialog\r\n} from \"@/scripts/misc/popupDialogs\";\r\nimport { cargoTypeName, loadStatusName } from \"@/scripts/misc/enumNames\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Accordion from \"@/components/web/loads/client/accordion/Accordion.vue\";\r\nimport LoadEditBaseValues from \"@/components/web/loads/client/edit/LoadEditBaseValues.vue\";\r\nimport LoadEditDates from \"@/components/web/loads/client/edit/LoadEditDates.vue\";\r\nimport LoadEditShippingInfo from \"@/components/web/loads/client/edit/LoadEditShippingInfo.vue\";\r\nimport LoadEditContainerInfo from \"@/components/web/loads/client/edit/LoadEditContainerInfo.vue\";\r\nimport LoadEditMachineTransportInfo from \"@/components/web/loads/client/edit/LoadEditMachineTransportInfo.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport { CreateLoadPresets } from \"@/scripts/types\";\r\nimport { UserConfigurationEntry } from \"@/scripts/store/userConfModule\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Accordion,\r\n LoadEditBaseValues,\r\n LoadEditDates,\r\n LoadEditShippingInfo,\r\n LoadEditContainerInfo,\r\n LoadEditMachineTransportInfo,\r\n LoadLock\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadCreateCargoType: Number as () => CargoType,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n },\r\n changeTrackingObject: {\r\n handler() {\r\n if (!this.dialog || this.pendingChangesSemaphore > 0) {\r\n return;\r\n }\r\n const changeTrackingString = JSON.stringify(this.changeTrackingObject);\r\n if (!this.pendingChangesTrackingString) {\r\n this.pendingChangesTrackingString = changeTrackingString;\r\n }\r\n this.pendingChanges =\r\n changeTrackingString !== this.pendingChangesTrackingString;\r\n },\r\n deep: true\r\n },\r\n agreementRouteId: {\r\n handler() {\r\n if (!this.loadStatus && !this.loadId) {\r\n this.dates = new LoadClientEditDatesDto({\r\n pickupEarliest: undefined as any,\r\n pickupLatest: undefined,\r\n deliverEarliest: undefined,\r\n deliverLatest: undefined as any,\r\n pickupZone: undefined as any,\r\n deliverZone: undefined as any\r\n });\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n if (this.loadStatus && this.loadId) {\r\n return `${t(\"EditLoad\")} - ${t(\"LoadID\")}: ${\r\n this.loadId\r\n } (${loadStatusName(this.loadStatus)})`;\r\n }\r\n return `${t(\"CreateNewLoad\")} (${this.cargoTypeName})`;\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n cargoTypeName(): string {\r\n if (this.cargoType === undefined) {\r\n return \"\";\r\n }\r\n return cargoTypeName(this.cargoType as number);\r\n },\r\n step(): number {\r\n if (!this.agreementRouteId) {\r\n return 1;\r\n }\r\n if (!this.truckType) {\r\n return 2;\r\n }\r\n if (\r\n !this.location ||\r\n !this.location.pickupLocationId ||\r\n !this.location.deliveryLocationId\r\n ) {\r\n return 3;\r\n }\r\n return 4;\r\n },\r\n cargoType(): CargoType | undefined {\r\n return this.publishValues !== undefined\r\n ? this.publishValues.cargoType\r\n : undefined;\r\n },\r\n agreementRouteId(): number | undefined {\r\n return this.publishValues !== undefined\r\n ? this.publishValues.agreementRouteId\r\n : undefined;\r\n },\r\n truckType(): TruckType | undefined {\r\n return this.publishValues !== undefined\r\n ? this.publishValues.truckType\r\n : undefined;\r\n },\r\n publishSpeed(): PublishSpeed | undefined {\r\n return this.publishValues !== undefined\r\n ? this.publishValues.publishSpeed\r\n : undefined;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n agreementDate(): CDate {\r\n let date: CDate;\r\n if (this.dates && this.dates.pickupEarliest) {\r\n date = this.dates.pickupEarliest;\r\n } else {\r\n date = CDate.now(this.actorZone);\r\n }\r\n return date;\r\n },\r\n changeTrackingObject(): any[] {\r\n return [\r\n this.dates,\r\n this.dateRequirements,\r\n this.location,\r\n this.infoTexts,\r\n this.assortedValues,\r\n this.publishValues,\r\n this.supplierBookingInfo,\r\n this.subLocations,\r\n this.relatedLoads,\r\n this.containerValues,\r\n this.documents\r\n ];\r\n },\r\n createLoadText(): string {\r\n let text = t(\"CreateNewLoad\");\r\n if (this.duplicateTransportNos.length > 0) {\r\n text += \"(\" + (this.duplicateTransportNos.length + 1) + \")\";\r\n }\r\n return text;\r\n },\r\n agreementRoute(): AgreementRouteWithAgreementStatusDto | undefined {\r\n if (this.publishValues === undefined) {\r\n return undefined;\r\n }\r\n return this.agreementRoutes.find(\r\n ar => ar.id === this.publishValues!.agreementRouteId\r\n );\r\n }\r\n },\r\n methods: {\r\n close() {\r\n if (this.pendingChanges) {\r\n if (this.loadId === undefined) {\r\n popupDialog({\r\n title: t(\"UnsavedChanges\"),\r\n body: t(\"LoadNotCreatedYet\"),\r\n btnText1: t(\"Edit\"),\r\n btnColor1: \"success\",\r\n btnCallback1: () => {},\r\n btnText2: t(\"DontSave\"),\r\n btnColor2: \"error\",\r\n btnCallback2: () => {\r\n this.actuallyClose();\r\n }\r\n });\r\n } else {\r\n saveBeforeContinueDialog(\r\n async () => {\r\n await this.editLoad();\r\n },\r\n () => {\r\n this.actuallyClose();\r\n }\r\n );\r\n }\r\n } else {\r\n this.actuallyClose();\r\n }\r\n },\r\n actuallyClose() {\r\n this.$emit(\"close\");\r\n this.actionInProgress = false;\r\n this.pendingChangesTrackingString = undefined;\r\n this.pendingChangesSemaphore = Number.POSITIVE_INFINITY;\r\n this.pendingChanges = false;\r\n this.resetFormValidation();\r\n },\r\n async validateForm() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n });\r\n },\r\n async resetFormValidation() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.reset();\r\n }\r\n });\r\n },\r\n init() {\r\n if (this.loadId) {\r\n this.initEdit();\r\n } else {\r\n this.initCreation();\r\n this.initPresets();\r\n this.pendingChangesSemaphore = 0;\r\n }\r\n },\r\n initEdit() {\r\n this.pendingChangesSemaphore = 4;\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .preEdit(this.loadId)\r\n .then(res => {\r\n this.loadStatus = res.loadStatus;\r\n this.dates = res.dates;\r\n this.dateRequirements = res.dateRequirements;\r\n this.location = res.location;\r\n this.infoTexts = res.infoTexts;\r\n this.assortedValues = res.assortedValues;\r\n this.publishValues = res.publishValues;\r\n this.supplierBookingInfo = res.supplierBookingInfo;\r\n this.valuePermissions = res.permissions!;\r\n this.deviation = res.deviation;\r\n this.customsInfoRequired = res.customsInfoRequired;\r\n })\r\n .then(() => {\r\n this.fetchRelatedLoads();\r\n this.fetchSubLocations();\r\n this.fetchContainers();\r\n this.fetchDocuments();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n initCreation() {\r\n this.loadStatus = undefined;\r\n this.publishValues = new LoadClientPublishValues({\r\n agreementRouteId: undefined as any,\r\n truckType: undefined as any,\r\n publishSpeed: PublishSpeed.Normal,\r\n cargoType: this.loadCreateCargoType\r\n });\r\n this.location = new LoadClientEditLocationDto({\r\n pickupLocationId: undefined as any,\r\n deliveryLocationId: undefined as any,\r\n pickupStreetAddress: undefined as any,\r\n deliveryStreetAddress: undefined as any\r\n });\r\n this.infoTexts = new LoadClientEditInfoTextsDto({\r\n pickupInfo: undefined,\r\n destinationInfo: undefined,\r\n note: undefined,\r\n contentInfo: undefined\r\n });\r\n this.dates = new LoadClientEditDatesDto({\r\n pickupEarliest: undefined as any,\r\n pickupLatest: undefined,\r\n deliverEarliest: undefined,\r\n deliverLatest: undefined as any,\r\n pickupZone: undefined as any,\r\n deliverZone: undefined as any\r\n });\r\n this.dateRequirements = new LoadClientEditDateRequirementsDto({\r\n bookedPickup: false,\r\n bookedDelivery: false\r\n });\r\n this.assortedValues = new LoadClientEditAssortedValuesDto({\r\n truckNo: undefined,\r\n loadOrderNo: undefined,\r\n blNo: undefined,\r\n transportNo: undefined,\r\n consignmentNote: undefined,\r\n volume: undefined,\r\n weight: undefined,\r\n packages: undefined,\r\n unit: undefined,\r\n referenceNo: undefined,\r\n terminalId: undefined,\r\n customerId: undefined,\r\n distance: undefined,\r\n vtlPrice: undefined,\r\n escortCarPrice: undefined,\r\n bookingNo: undefined\r\n });\r\n this.subLocations = new LoadClientEditSubLocations({\r\n subPickupLocations: [],\r\n subDeliveryLocations: []\r\n });\r\n this.relatedLoads = new RelatedLoadsDto({\r\n parentLoads: [],\r\n childLoads: []\r\n });\r\n this.containerValues = new LoadClientEditContainersDto({\r\n incoterms: undefined,\r\n knCurrency: undefined,\r\n knValue: undefined,\r\n knProductCode: undefined,\r\n eta: undefined,\r\n etd: undefined,\r\n dateForClosing: undefined,\r\n stuffingLocation: undefined,\r\n shipName: undefined,\r\n sumPackages: undefined,\r\n sumVolume: undefined,\r\n sumWeight: undefined,\r\n thcValue: undefined,\r\n thcCurrency: undefined,\r\n containers: []\r\n });\r\n this.documents = [];\r\n },\r\n getLoadClientCreateDtos(): LoadClientCreateDto[] {\r\n return [\r\n this.assortedValues!.transportNo,\r\n ...this.duplicateTransportNos\r\n ].map(\r\n transportNo =>\r\n new LoadClientCreateDto({\r\n dates: this.dates,\r\n dateRequirements: this.dateRequirements,\r\n location: this.location,\r\n infoTexts: this.infoTexts,\r\n assortedValues: new LoadClientEditAssortedValuesDto({\r\n truckNo: this.assortedValues!.truckNo,\r\n loadOrderNo: this.assortedValues!.loadOrderNo,\r\n blNo: this.assortedValues!.blNo,\r\n transportNo: transportNo,\r\n consignmentNote: this.assortedValues!.consignmentNote,\r\n volume: this.assortedValues!.volume,\r\n weight: this.assortedValues!.weight,\r\n packages: this.assortedValues!.packages,\r\n unit: this.assortedValues!.unit,\r\n referenceNo: this.assortedValues!.referenceNo,\r\n terminalId: this.assortedValues!.terminalId,\r\n customerId: this.assortedValues!.customerId,\r\n distance: this.assortedValues!.distance,\r\n vtlPrice: this.assortedValues!.vtlPrice,\r\n escortCarPrice: this.assortedValues!.escortCarPrice,\r\n bookingNo: this.assortedValues!.bookingNo\r\n }),\r\n publishValues: this.publishValues,\r\n subLocations: this.subLocations,\r\n relatedLoads: new LoadClientEditRelatedLoadsSaveDto({\r\n parents: this.relatedLoads!.parentLoads!.map(x => x.loadId),\r\n children: this.relatedLoads!.childLoads!.map(x => x.loadId)\r\n }),\r\n containerValues: this.containerValues,\r\n documents: new LoadClientEditDocumentsDto({\r\n documentIds: this.documents!.map(d => d.id)\r\n })\r\n })\r\n );\r\n },\r\n createLoad() {\r\n this.actionInProgress = true;\r\n this.savePresets();\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .create(this.getLoadClientCreateDtos())\r\n .then(results => {\r\n results.map(res => {\r\n pushLoadNotification(\"create\", res);\r\n });\r\n this.actuallyClose();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n editLoad(): Promise {\r\n this.actionInProgress = true;\r\n return new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .edit(\r\n new LoadClientEditDto({\r\n loadId: this.loadId,\r\n dates: this.dates,\r\n dateRequirements: this.dateRequirements,\r\n location: this.location,\r\n infoTexts: this.infoTexts,\r\n assortedValues: this.assortedValues,\r\n supplierBookingInfo: this.supplierBookingInfo,\r\n subLocations: this.subLocations,\r\n relatedLoads: new LoadClientEditRelatedLoadsSaveDto({\r\n parents: this.relatedLoads!.parentLoads!.map(x => x.loadId),\r\n children: this.relatedLoads!.childLoads!.map(x => x.loadId)\r\n }),\r\n containerValues: this.containerValues,\r\n documents: new LoadClientEditDocumentsDto({\r\n documentIds: this.documents!.map(d => d.id)\r\n })\r\n })\r\n )\r\n .then(res => {\r\n pushLoadNotification(\"edit\", res);\r\n this.actuallyClose();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n fetchRelatedLoads() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .relatedLoads(this.loadId)\r\n .then(res => {\r\n this.relatedLoads = res;\r\n this.pendingChangesSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSubLocations() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .sublocations(this.loadId)\r\n .then(res => {\r\n this.subLocations = res;\r\n this.pendingChangesSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchContainers() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .containers(this.loadId)\r\n .then(res => {\r\n this.containerValues = res;\r\n this.pendingChangesSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocuments() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .loadDocuments(this.loadId)\r\n .then(res => {\r\n this.documents = res;\r\n this.pendingChangesSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n initPresets() {\r\n let conf = this.$store.getters[gets.userConf](\r\n UserConfigurationType.CreateLoad,\r\n 1\r\n );\r\n this.assortedValues!.unit = conf.unit;\r\n this.assortedValues!.referenceNo = conf.referenceNo;\r\n },\r\n savePresets() {\r\n const c = new CreateLoadPresets(\r\n this.assortedValues!.unit,\r\n this.assortedValues!.referenceNo\r\n );\r\n this.$store.commit(mutations.setUserConf, {\r\n type: UserConfigurationType.CreateLoad,\r\n subTypeId: 1,\r\n conf: c\r\n } as UserConfigurationEntry);\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.CreateLoad,\r\n subTypeId: 1\r\n });\r\n },\r\n fetchAgreementRoutes() {\r\n cached(\"agreementRoutes\", this.cargoType!, this.agreementDate)\r\n .then(res => {\r\n this.agreementRoutes = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n actionInProgress: boolean;\r\n valid: boolean;\r\n loadStatus?: LoadStatus;\r\n dates?: LoadClientEditDatesDto;\r\n dateRequirements?: LoadClientEditDateRequirementsDto;\r\n location?: LoadClientEditLocationDto;\r\n infoTexts?: LoadClientEditInfoTextsDto;\r\n assortedValues?: LoadClientEditAssortedValuesDto;\r\n publishValues?: LoadClientPublishValues;\r\n supplierBookingInfo?: LoadClientEditSupplierBookingInfoDto;\r\n subLocations?: LoadClientEditSubLocations;\r\n relatedLoads?: RelatedLoadsDto;\r\n containerValues?: LoadClientEditContainersDto;\r\n documents?: LoadDocumentDto[];\r\n pendingChangesTrackingString?: string;\r\n pendingChangesSemaphore: number;\r\n pendingChanges: boolean;\r\n valuePermissions: LoadValuePermissionDto[];\r\n deviation: LoadDetailsDeviationDto | undefined;\r\n duplicateTransportNos: string[];\r\n customsInfoRequired: boolean;\r\n agreementRoutes: AgreementRouteWithAgreementStatusDto[];\r\n } => ({\r\n actionInProgress: false,\r\n valid: false,\r\n loadStatus: undefined,\r\n dates: undefined,\r\n dateRequirements: undefined,\r\n location: undefined,\r\n infoTexts: undefined,\r\n assortedValues: undefined,\r\n publishValues: undefined,\r\n supplierBookingInfo: undefined,\r\n subLocations: undefined,\r\n relatedLoads: undefined,\r\n containerValues: undefined,\r\n documents: undefined,\r\n pendingChangesTrackingString: undefined,\r\n pendingChangesSemaphore: Number.POSITIVE_INFINITY,\r\n pendingChanges: false,\r\n valuePermissions: [],\r\n deviation: undefined,\r\n duplicateTransportNos: [],\r\n customsInfoRequired: false,\r\n agreementRoutes: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditDialog.vue?vue&type=template&id=e2382916&scoped=true&\"\nimport script from \"./LoadEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadEditDialog.vue?vue&type=style&index=0&id=e2382916&scoped=true&lang=css&\"\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 \"e2382916\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":_vm.loads.length === 0,\"width\":_vm.multi ? 1250 : 800},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.multi)?{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadIds[0],\"actionId\":_vm.actionId}})]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-row',[(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom small-padding-top background-pale\",attrs:{\"cols\":\"5\"}},[_c('LoadDialogMultiTable',{attrs:{\"loads\":_vm.loads,\"selectedLoadId\":_vm.selectedLoadId,\"actionId\":_vm.actionId,\"loading\":_vm.saveInProgress},on:{\"click\":function (id) { return (_vm.selectedLoadId = id); }}})],1):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.multi ? 7 : 12}},[_c('v-form',{key:_vm.load.loadId,ref:\"form\",model:{value:(_vm.load.valid),callback:function ($$v) {_vm.$set(_vm.load, \"valid\", $$v)},expression:\"load.valid\"}},[_c('LoadChips',{attrs:{\"load\":_vm.load}}),(_vm.loadValidationInfo.specialRequirements)?_c('v-row',{staticClass:\"small-padding-bottom\"},[_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"error\"}},[_vm._v(\" mdi-exclamation-thick \")])],1),_c('v-col',{staticClass:\"no-padding-left no-padding-bottom\",attrs:{\"cols\":\"11\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"SpecialRequirements\"))+\" \")])]),_c('v-col',{staticClass:\"no-padding-top no-padding-bottom blackish-text\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"tiny-padding-left no-padding-bottom\"},[_vm._v(\" \"+_vm._s(_vm.loadValidationInfo.specialRequirements)+\" \")])])],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('DatePickerHolder',{attrs:{\"text1\":_vm.$t('PickupEarliest'),\"text2\":_vm.$t('PickupLatest'),\"date1\":_vm.loadValidationInfo.pickupEarliest,\"date2\":_vm.loadValidationInfo.pickupLatest}},[[_c('DatePicker',{attrs:{\"zone\":_vm.loadValidationInfo.pickupTimeZone,\"label\":_vm.$t('BookedPickupDate'),\"gteDates\":[_vm.loadValidationInfo.pickupEarliest],\"gteNow\":\"\",\"with-time\":\"\",\"allow-null\":!_vm.loadValidationInfo.mandatoryBookedPickupDate,\"invalidText\":_vm.$t('RequiredPickupDate'),\"asterisk\":\"\"},model:{value:(_vm.saveDto.bookedPickupDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedPickupDate\", $$v)},expression:\"saveDto.bookedPickupDate\"}})]],2)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('DatePickerHolder',{attrs:{\"text1\":_vm.$t('DeliveryEarliest'),\"text2\":_vm.$t('DeliveryLatest'),\"date1\":_vm.loadValidationInfo.deliveryEarliest,\"date2\":_vm.loadValidationInfo.deliveryLatest}},[[_c('DatePicker',{attrs:{\"zone\":_vm.loadValidationInfo.deliveryTimeZone,\"label\":_vm.$t('BookedDeliveryDate'),\"gteDates\":[\n _vm.loadValidationInfo.pickupEarliest,\n _vm.saveDto.bookedPickupDate\n ],\"gteNow\":\"\",\"with-time\":\"\",\"allow-null\":!_vm.loadValidationInfo.mandatoryBookedDeliveryDate,\"invalidText\":_vm.$t('BookedDeliveryRequired'),\"asterisk\":\"\"},model:{value:(_vm.saveDto.bookedDeliveryDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedDeliveryDate\", $$v)},expression:\"saveDto.bookedDeliveryDate\"}})]],2)],1)],1),(_vm.saveDto.deviation)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('BookedPickupInfo'),\"rows\":3},model:{value:(_vm.saveDto.bookedPickupInfo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedPickupInfo\", $$v)},expression:\"saveDto.bookedPickupInfo\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('BookedDeliveryInfo'),\"rows\":3},model:{value:(_vm.saveDto.bookedDeliveryInfo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedDeliveryInfo\", $$v)},expression:\"saveDto.bookedDeliveryInfo\"}})],1),(\n _vm.supplierVisible ||\n _vm.vtlAndEscortVisible ||\n _vm.distanceVisible ||\n _vm.terminalVisible\n )?_c('v-col',{staticClass:\"large-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-divider')],1):_vm._e(),(_vm.supplierVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('Autocomplete',{attrs:{\"items\":_vm.loadValidationInfo.suppliers,\"label\":_vm.$t('Supplier'),\"rules\":[function (v) { return !!v; }],\"custom-item\":\"\",\"asterisk\":\"\",\"itemText\":\"supplierDisplayValue\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:_vm.supplierColor(item)},[_vm._v(\" \"+_vm._s(item.supplierDisplayValue)+\" \")])]}}],null,false,2805869564),model:{value:(_vm.supplierId),callback:function ($$v) {_vm.supplierId=$$v},expression:\"supplierId\"}})],1):_vm._e(),(_vm.supplierVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('OtherPrice') +\n \" (\" + (_vm.currencyName(_vm.loadValidationInfo.currency)) + \")\",\"asterisk\":_vm.loadValidationInfo.mandatoryOtherPrice,\"rules\":[\n function (v) { return (!_vm.loadValidationInfo.mandatoryOtherPrice || !!v) &&\n (!v || v <= 200000); }\n ],\"allow-null\":\"\"},model:{value:(_vm.otherPrice),callback:function ($$v) {_vm.otherPrice=$$v},expression:\"otherPrice\"}})],1):_vm._e(),(_vm.supplierVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"items\":_vm.deviationCauses,\"label\":_vm.$t('DeviationCause'),\"rules\":[\n function (v) { return _vm.loadValidationInfo.deviationCauseDisabled || !!v; }\n ],\"disabled\":_vm.loadValidationInfo.deviationCauseDisabled,\"asterisk\":!_vm.loadValidationInfo.deviationCauseDisabled,\"clearable\":\"\"},model:{value:(_vm.saveDto.deviation.deviationCauseId),callback:function ($$v) {_vm.$set(_vm.saveDto.deviation, \"deviationCauseId\", $$v)},expression:\"saveDto.deviation.deviationCauseId\"}})],1):_vm._e(),(_vm.supplierVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"items\":_vm.otherPriceCauses,\"label\":_vm.$t('OtherPriceCause'),\"rules\":[\n function (v) { return _vm.loadValidationInfo.otherPriceCauseDisabled || !!v; }\n ],\"disabled\":_vm.loadValidationInfo.otherPriceCauseDisabled,\"asterisk\":!_vm.loadValidationInfo.otherPriceCauseDisabled,\"clearable\":\"\"},model:{value:(_vm.saveDto.deviation.otherPriceCauseId),callback:function ($$v) {_vm.$set(_vm.saveDto.deviation, \"otherPriceCauseId\", $$v)},expression:\"saveDto.deviation.otherPriceCauseId\"}})],1):_vm._e(),(_vm.supplierVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('DeviationCauseDesc'),\"disabled\":_vm.loadValidationInfo.deviationCauseDisabled},model:{value:(_vm.saveDto.deviation.noteDeviation),callback:function ($$v) {_vm.$set(_vm.saveDto.deviation, \"noteDeviation\", $$v)},expression:\"saveDto.deviation.noteDeviation\"}})],1):_vm._e(),(_vm.supplierVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('OtherPriceDesc'),\"disabled\":_vm.loadValidationInfo.otherPriceCauseDisabled},model:{value:(_vm.saveDto.deviation.noteOtherPrice),callback:function ($$v) {_vm.$set(_vm.saveDto.deviation, \"noteOtherPrice\", $$v)},expression:\"saveDto.deviation.noteOtherPrice\"}})],1):_vm._e(),(_vm.vtlAndEscortVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('EscortCarPriceKM') +\n \" (\" + (_vm.currencyName(_vm.loadValidationInfo.currency)) + \")\",\"disabled\":!_vm.loadValidationInfo.otherPriceCauseDisabled,\"allow-null\":\"\"},model:{value:(_vm.saveDto.escortCarPrice),callback:function ($$v) {_vm.$set(_vm.saveDto, \"escortCarPrice\", $$v)},expression:\"saveDto.escortCarPrice\"}})],1):_vm._e(),(_vm.vtlAndEscortVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('VTLPrice') +\n \" (\" + (_vm.currencyName(_vm.loadValidationInfo.currency)) + \")\",\"disabled\":!_vm.loadValidationInfo.otherPriceCauseDisabled,\"allow-null\":\"\"},model:{value:(_vm.saveDto.vtlPrice),callback:function ($$v) {_vm.$set(_vm.saveDto, \"vtlPrice\", $$v)},expression:\"saveDto.vtlPrice\"}})],1):_vm._e(),(_vm.distanceVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('Distance'),\"disabled\":!_vm.distanceEnabled,\"allow-null\":\"\"},model:{value:(_vm.saveDto.distance),callback:function ($$v) {_vm.$set(_vm.saveDto, \"distance\", $$v)},expression:\"saveDto.distance\"}})],1):_vm._e(),(_vm.terminalVisible)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('Dropdown',{attrs:{\"items\":_vm.terminals,\"label\":_vm.$t('Terminal'),\"disabled\":!_vm.terminalEnabled,\"clearable\":\"\"},model:{value:(_vm.saveDto.terminalId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"terminalId\", $$v)},expression:\"saveDto.terminalId\"}})],1):_vm._e(),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BookingNo'),\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.saveDto.bookingNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookingNo\", $$v)},expression:\"saveDto.bookingNo\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TruckNo'),\"rules\":[function (v) { return !v || v.length <= 20 || _vm.tooLongText; }]},model:{value:(_vm.saveDto.truckNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"truckNo\", $$v)},expression:\"saveDto.truckNo\"}})],1),(_vm.load.customsInfoRequired)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{staticClass:\"small-padding-sides\",attrs:{\"rounded\":\"\",\"color\":\"yellow lighten-3\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"CustomsInfoRequiredInfo\"))+\" \")])],1):_vm._e()],1):_vm._e()],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"disabled\":!_vm.allLoadsValid,\"loading\":_vm.saveInProgress},on:{\"click\":_vm.bookLoad}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-book-check-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Book\"))+\" \")],1)]},proxy:true}],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(_vm._s(_vm.text1))])]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(_vm._s(_vm.text2))])]),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom blackish-text\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_c('DateDisplay',{attrs:{\"date\":_vm.date1}})],1)]),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom blackish-text\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_c('DateDisplay',{attrs:{\"date\":_vm.date2}})],1)]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._t(\"default\")],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DateDisplay from \"@/components/shared/ui/DateDisplay.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DateDisplay\r\n },\r\n props: {\r\n text1: String,\r\n text2: String,\r\n date1: Object as () => CDate,\r\n date2: Object as () => CDate\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerHolder.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DatePickerHolder.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DatePickerHolder.vue?vue&type=template&id=ea2d3d76&\"\nimport script from \"./DatePickerHolder.vue?vue&type=script&lang=ts&\"\nexport * from \"./DatePickerHolder.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',_vm._l((_vm.loads),function(load){return _c('v-col',{key:load.loadId,staticClass:\"small-padding no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{staticClass:\"clickable\",class:load.loadId === _vm.selectedLoadId ? 'selected' : 'not-selected',attrs:{\"rounded\":\"\",\"elevation\":\"1\"},on:{\"click\":function($event){return _vm.$emit('click', load.loadId)}}},[_c('v-row',{staticClass:\"small-padding-sides\"},[_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"8\"}},[_c('EllipsisTableItem',{attrs:{\"text\":load.routeName}})],1),_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('LoadLock',{attrs:{\"loadId\":load.loadId,\"actionId\":_vm.actionId,\"small\":\"\"}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"status-div\"},[_c('v-icon',{attrs:{\"color\":load.valid ? 'success' : 'warning'}},[_vm._v(_vm._s(load.valid ? \"mdi-checkbox-marked-circle\" : \"mdi-pencil-circle\"))])],1)]),_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('EllipsisTableItem',{attrs:{\"text\":((_vm.$t('LoadID')) + \": \" + (load.loadId))}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-tray-arrow-down\")]),_vm._v(\" \"+_vm._s(load.pickupEarliest)+\" \")],1),_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"6\"}},[(_vm.transportNo)?_c('EllipsisTableItem',{attrs:{\"text\":((_vm.$t('TransportNo')) + \": \" + (load.transportNo))}}):_c('EllipsisTableItem',{attrs:{\"text\":load.clientName}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"tiniest-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"mdi-tray-arrow-up\")]),_vm._v(\" \"+_vm._s(load.deliverLatest)+\" \")],1)],1),(_vm.loading)?_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-progress-linear',{staticClass:\"multi-load-loading\",attrs:{\"indeterminate\":load.saved === undefined,\"color\":_vm.color(load),\"value\":\"100\"}})],1)],1):_vm._e()],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\r\nimport Vue from \"vue\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport { LoadActionPermission } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n EllipsisTableItem,\r\n LoadLock\r\n },\r\n props: {\r\n loads: Array as () => MultiLoad[],\r\n selectedLoadId: Number,\r\n actionId: Number as () => LoadActionPermission,\r\n loading: Boolean\r\n },\r\n computed: {\r\n transportNo(): boolean {\r\n return this.loads.some(l => l.transportNo);\r\n },\r\n routeName(): boolean {\r\n return this.loads.some(l => l.routeName);\r\n }\r\n },\r\n methods: {\r\n color(load: MultiLoad) {\r\n if (load.saved === undefined) {\r\n return \"btn-cyan\";\r\n } else if (load.saved === true) {\r\n return \"success\";\r\n } else {\r\n return \"error\";\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogMultiTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogMultiTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogMultiTable.vue?vue&type=template&id=37757eab&scoped=true&\"\nimport script from \"./LoadDialogMultiTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogMultiTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadDialogMultiTable.vue?vue&type=style&index=0&id=37757eab&scoped=true&lang=css&\"\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 \"37757eab\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VProgressLinear,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",class:{ 'no-padding-top': _vm.noPaddingTop },attrs:{\"cols\":\"auto\"}},[_c('Chip',{attrs:{\"text\":_vm.load.routeName}})],1),(_vm.load.truckType)?_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",class:{ 'no-padding-top': _vm.noPaddingTop },attrs:{\"cols\":\"auto\"}},[_c('Chip',{attrs:{\"text\":_vm.truckTypeName}})],1):_vm._e(),(_vm.load.numExtraStops)?_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",class:{ 'no-padding-top': _vm.noPaddingTop },attrs:{\"cols\":\"auto\"}},[_c('Chip',{attrs:{\"text\":_vm.$t('ExtraStops') + ': ' + _vm.load.numExtraStops}})],1):_vm._e(),_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",class:{ 'no-padding-top': _vm.noPaddingTop },attrs:{\"cols\":\"auto\"}},[(_vm.load.transportNo)?_c('Chip',{attrs:{\"text\":_vm.$t('TransportNo') + ': ' + _vm.load.transportNo}}):_c('Chip',{attrs:{\"text\":_vm.$t('LoadID') + ': ' + _vm.load.loadId}})],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('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":!_vm.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-chip',_vm._g({attrs:{\"label\":\"\",\"dark\":\"\",\"color\":\"icon-gold\"}},on),[_vm._v(\" \"+_vm._s(_vm.text)+\" \"),_c('v-icon',[_vm._v(_vm._s(_vm.icon))])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n text: String,\r\n tooltip: String,\r\n icon: String\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chip.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Chip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Chip.vue?vue&type=template&id=42103384&\"\nimport script from \"./Chip.vue?vue&type=script&lang=ts&\"\nexport * from \"./Chip.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VChip,VIcon,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Chip from \"@/components/shared/ui/Chip.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Chip\r\n },\r\n props: {\r\n load: Object as () => MultiLoad,\r\n noPaddingTop: Boolean\r\n },\r\n computed: {\r\n truckTypeName(): string {\r\n return (\r\n truckTypeName(this.load.truckType!) +\r\n (this.load.numContainers > 0 ? ` (${this.load.numContainers})` : \"\")\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadChips.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadChips.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadChips.vue?vue&type=template&id=d0acdc9a&\"\nimport script from \"./LoadChips.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadChips.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n BookLoadDto,\r\n RepositoryClient,\r\n SupplierToBookDto,\r\n LoadValuePermission,\r\n LoadsClient,\r\n ActorType,\r\n LoadValuePermissionDto,\r\n RepositoryDto,\r\n LoadActionPermission,\r\n Currency,\r\n SaveDeviationDto,\r\n OtherPriceCause,\r\n DeviationCause,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport DatePickerHolder from \"@/components/shared/ui/DatePickerHolder.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport LoadDialogMultiTable from \"@/components/web/loads/shared/LoadDialogMultiTable.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport { otherPriceCauses, deviationCauses } from \"@/scripts/misc/enumLists\";\r\n\r\ninterface LoadValidationInfo {\r\n loadId: number;\r\n mandatoryBookedPickupDate: boolean;\r\n mandatoryBookedDeliveryDate: boolean;\r\n mandatoryOtherPrice: boolean;\r\n otherPriceCauseDisabled: boolean;\r\n deviationCauseDisabled: boolean;\r\n loadPermissions: LoadValuePermissionDto[];\r\n suppliers?: SupplierToBookDto[];\r\n currency: Currency;\r\n pickupTimeZone: TimeZone;\r\n pickupEarliest?: CDate;\r\n pickupLatest?: CDate;\r\n deliveryTimeZone: TimeZone;\r\n deliveryEarliest?: CDate;\r\n deliveryLatest?: CDate;\r\n specialRequirements: string | undefined;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DatePickerHolder,\r\n LoadDialogMultiTable,\r\n DialogCard,\r\n Dropdown,\r\n Autocomplete,\r\n DatePicker,\r\n TextMulti,\r\n NumberInput,\r\n LoadLock,\r\n LoadChips,\r\n TextSingle\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n return `${this.$t(\"Book\")}`;\r\n },\r\n multi(): boolean {\r\n return this.loadIds.length > 1;\r\n },\r\n tooLongText(): string {\r\n return t(\"MaxXCharacters\").replace(\"{0}\", \"20\");\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n allLoadsValid(): boolean {\r\n return this.loads.length > 0 && this.loads.every(l => l.valid);\r\n },\r\n load(): MultiLoad {\r\n return this.loads.find(l => l.loadId === this.selectedLoadId)!;\r\n },\r\n loadValidationInfo(): LoadValidationInfo {\r\n return this.loadValidationInfos.find(\r\n l => l.loadId === this.selectedLoadId\r\n )!;\r\n },\r\n saveDto(): BookLoadDto {\r\n return this.saveDtos.find(s => s.loadId === this.selectedLoadId)!;\r\n },\r\n otherPrice: {\r\n get(): number | undefined {\r\n return this.saveDto!.deviation!.otherPrice;\r\n },\r\n set(val: number) {\r\n this.saveDto!.deviation!.otherPrice = val;\r\n this.loadValidationInfo.otherPriceCauseDisabled = !val;\r\n if (this.loadValidationInfo.otherPriceCauseDisabled) {\r\n this.saveDto.deviation!.otherPriceCauseId = undefined;\r\n this.saveDto.deviation!.noteOtherPrice = undefined;\r\n }\r\n this.validateForm();\r\n }\r\n },\r\n supplierId: {\r\n get(): number | undefined {\r\n return this.saveDto!.supplierId;\r\n },\r\n set(val: number) {\r\n this.saveDto!.supplierId = val;\r\n if (val) {\r\n const supplier = this.loadValidationInfo.suppliers!.find(\r\n s => s.id === val\r\n )!;\r\n this.loadValidationInfo.mandatoryOtherPrice = !supplier.hasValidAgreement;\r\n this.loadValidationInfo.deviationCauseDisabled =\r\n supplier.hasBeenOfferedLoad;\r\n if (this.loadValidationInfo.deviationCauseDisabled) {\r\n this.saveDto.deviation!.deviationCauseId = undefined;\r\n this.saveDto.deviation!.noteDeviation = undefined;\r\n }\r\n this.validateForm();\r\n }\r\n }\r\n },\r\n supplierVisible(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n terminalEnabled(): boolean {\r\n return this.loadValidationInfo.loadPermissions.find(\r\n p => p.permissionType === LoadValuePermission.Terminal\r\n )!.enabled;\r\n },\r\n terminalVisible(): boolean {\r\n return this.loadValidationInfo.loadPermissions.find(\r\n p => p.permissionType === LoadValuePermission.Terminal\r\n )!.visible;\r\n },\r\n vtlAndEscortVisible(): boolean {\r\n return this.loadValidationInfo.loadPermissions.find(\r\n p => p.permissionType === LoadValuePermission.VtlAndEscort\r\n )!.visible;\r\n },\r\n distanceEnabled(): boolean {\r\n return this.loadValidationInfo.loadPermissions.find(\r\n p => p.permissionType === LoadValuePermission.Distance\r\n )!.enabled;\r\n },\r\n distanceVisible(): boolean {\r\n return this.loadValidationInfo.loadPermissions.find(\r\n p => p.permissionType === LoadValuePermission.Distance\r\n )!.visible;\r\n },\r\n mobile() {\r\n return Auth.browsingMobile();\r\n },\r\n otherPriceCauses(): RepositoryDto[] {\r\n return otherPriceCauses().filter(\r\n x => x.id !== OtherPriceCause.SpotTender\r\n );\r\n },\r\n deviationCauses(): RepositoryDto[] {\r\n return deviationCauses().filter(x => x.id !== DeviationCause.SpotTender);\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n async validateForm() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n });\r\n },\r\n bookLoad() {\r\n const { pickupLatest, deliveryLatest } = this.loadValidationInfo;\r\n const midnight = \"00:00:00.000\";\r\n\r\n const pickupLatestValidDate =\r\n pickupLatest && pickupLatest.longTimePrint() === midnight\r\n ? pickupLatest.endOfDay()\r\n : pickupLatest;\r\n\r\n const deliveryLatestValidDate =\r\n deliveryLatest && deliveryLatest.longTimePrint() === midnight\r\n ? deliveryLatest.endOfDay()\r\n : deliveryLatest;\r\n\r\n const deliverDateInvalid =\r\n deliveryLatestValidDate &&\r\n this.saveDto!.bookedDeliveryDate! > deliveryLatestValidDate;\r\n\r\n const pickupDateInvalid =\r\n pickupLatestValidDate &&\r\n this.saveDto!.bookedPickupDate! > pickupLatestValidDate;\r\n\r\n let bodyText = \"\";\r\n bodyText = deliverDateInvalid ? t(\"ConfirmDateErrorDelivery\") : \"\";\r\n bodyText += deliverDateInvalid && pickupDateInvalid ? \"\\n\\n\" : \"\";\r\n bodyText += pickupDateInvalid ? t(\"ConfirmDateErrorBooking\") : \"\";\r\n\r\n if (deliverDateInvalid || pickupDateInvalid) {\r\n popupDialog({\r\n title: t(\"BookedDeliveryDate\"),\r\n body: bodyText,\r\n btnText1: \"OK\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.book();\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n } else {\r\n this.book();\r\n }\r\n },\r\n async book() {\r\n this.saveInProgress = true;\r\n await this.validateForm();\r\n if (!this.allLoadsValid) {\r\n this.saveInProgress = false;\r\n return;\r\n }\r\n let saveOk = true;\r\n for (const saveDto of this.saveDtos) {\r\n await new LoadsClient(new ApiConfiguration(this.$store))\r\n .book(saveDto)\r\n .then(res => {\r\n pushLoadNotification(\"book\", res);\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = true;\r\n })\r\n .catch(error => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = false;\r\n saveOk = false;\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n if (saveOk) {\r\n this.close();\r\n }\r\n },\r\n supplierColor(supplier: SupplierToBookDto) {\r\n if (supplier.hasValidAgreement) {\r\n if (supplier.hasBeenOfferedLoad) {\r\n return \"green-text\";\r\n } else {\r\n return \"orange-text\";\r\n }\r\n }\r\n return \"\";\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n showLoadUnavailableDialog() {\r\n popupDialog({\r\n noCloseButton: true,\r\n title: this.$t(\"MobileAlreadyBooked\").toString(),\r\n body: this.$t(\"MobileIsAlreadyBooked\").toString(),\r\n btnText1: \"OK\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.close();\r\n }\r\n });\r\n },\r\n init() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .terminals()\r\n .then(res => {\r\n this.terminals = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .preBookDetails(this.loadIds)\r\n .then(res => {\r\n this.loads = res.map(x => ({\r\n loadId: x.loadId,\r\n routeName: x.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: x.pickupEarliest,\r\n deliverLatest: x.deliveryLatest,\r\n truckType: x.truckType,\r\n transportNo: x.transportNo,\r\n clientName: x.clientName,\r\n numExtraStops: x.numExtraStops,\r\n numContainers: x.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: x.customsInfoRequired\r\n }));\r\n this.saveDtos = res.map(\r\n r =>\r\n new BookLoadDto({\r\n loadId: r.loadId,\r\n supplierId: undefined,\r\n bookedPickupDate: undefined,\r\n bookedDeliveryDate: undefined,\r\n bookedPickupInfo: undefined,\r\n bookedDeliveryInfo: undefined,\r\n deviation: new SaveDeviationDto({\r\n deviationCauseId: undefined,\r\n noteDeviation: undefined,\r\n otherPriceCauseId: undefined,\r\n noteOtherPrice: undefined,\r\n otherPrice: undefined\r\n }),\r\n terminalId: r.terminalId,\r\n distance: r.distance,\r\n vtlPrice: r.vtlPrice,\r\n escortCarPrice: r.escortCarPrice,\r\n bookingNo: r.bookingNo,\r\n truckNo: undefined\r\n })\r\n );\r\n this.loadValidationInfos = res.map(r => ({\r\n loadId: r.loadId,\r\n mandatoryBookedPickupDate: r.mandatoryBookedPickupDate,\r\n mandatoryBookedDeliveryDate: r.mandatoryBookedDeliveryDate,\r\n mandatoryOtherPrice: false,\r\n otherPriceCauseDisabled: true,\r\n deviationCauseDisabled: true,\r\n currency: r.currency,\r\n pickupTimeZone: r.pickupTimeZone,\r\n pickupEarliest: r.pickupEarliest,\r\n pickupLatest: r.pickupLatest,\r\n deliveryTimeZone: r.deliveryTimeZone,\r\n deliveryEarliest: r.deliveryEarliest,\r\n deliveryLatest: r.deliveryLatest,\r\n suppliers: r.suppliers,\r\n loadPermissions: r.permissions!,\r\n specialRequirements: r.specialRequirements,\r\n truckNo: r.truckNo\r\n }));\r\n this.selectedLoadId = this.loads[0].loadId;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n selectedLoadId: number | undefined;\r\n loads: MultiLoad[];\r\n saveDtos: BookLoadDto[];\r\n loadValidationInfos: LoadValidationInfo[];\r\n terminals: RepositoryDto[];\r\n } => ({\r\n saveInProgress: false,\r\n selectedLoadId: undefined,\r\n loads: [],\r\n saveDtos: [],\r\n loadValidationInfos: [],\r\n terminals: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadBookDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadBookDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadBookDialog.vue?vue&type=template&id=f5710cc8&\"\nimport script from \"./LoadBookDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadBookDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDivider,VForm,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('SetLoaded'),\"loading\":_vm.loads.length === 0,\"width\":_vm.multi ? 1250 : 800},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.multi)?{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadIds[0],\"actionId\":_vm.actionId}})]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-row',[(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom small-padding-top background-pale\",attrs:{\"cols\":\"6\"}},[_c('LoadDialogMultiTable',{attrs:{\"loads\":_vm.loads,\"selectedLoadId\":_vm.selectedLoadId,\"actionId\":_vm.actionId,\"loading\":_vm.saveInProgress},on:{\"click\":function (id) { return (_vm.selectedLoadId = id); }}})],1):_vm._e(),_vm._l((_vm.loads.filter(function (l) { return l.loadId === _vm.selectedLoadId; })),function(load){return _c('v-col',{key:load.loadId,staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.multi ? 6 : 12}},[_c('v-form',{key:load.loadId,ref:\"form\",refInFor:true,model:{value:(load.valid),callback:function ($$v) {_vm.$set(load, \"valid\", $$v)},expression:\"load.valid\"}},[_c('LoadChips',{attrs:{\"load\":load}}),_c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('LoadedDate'),\"with-time\":\"\",\"zone\":load.pickupZone},model:{value:(_vm.saveDto.loadedDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"loadedDate\", $$v)},expression:\"saveDto.loadedDate\"}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TruckNo'),\"rules\":[function (v) { return !v || v.length <= 20 || _vm.tooLongText; }]},model:{value:(_vm.saveDto.regNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"regNo\", $$v)},expression:\"saveDto.regNo\"}})],1)],1)],1)],1)})],2)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.allLoadsValid},on:{\"click\":_vm.loadLoad}},[_vm._v(\" \"+_vm._s(_vm.$t(\"SetLoaded\"))+\" \")])]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadActionPermission,\r\n LoadLoadDto,\r\n LoadsClientClient\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport LoadDialogMultiTable from \"@/components/web/loads/shared/LoadDialogMultiTable.vue\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DatePicker,\r\n TextSingle,\r\n LoadLock,\r\n LoadChips,\r\n LoadDialogMultiTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n mobile() {\r\n return Auth.browsingMobile();\r\n },\r\n multi(): boolean {\r\n return this.loadIds.length > 1;\r\n },\r\n allLoadsValid(): boolean {\r\n return this.loads.length > 0 && this.loads.every(l => l.valid);\r\n },\r\n load(): MultiLoad {\r\n return this.loads.find(l => l.loadId === this.selectedLoadId)!;\r\n },\r\n saveDto(): LoadLoadDto {\r\n return this.saveDtos.find(s => s.loadId === this.selectedLoadId)!;\r\n },\r\n tooLongText(): string {\r\n return t(\"MaxXCharacters\").replace(\"{0}\", \"20\");\r\n }\r\n },\r\n methods: {\r\n async loadLoad() {\r\n this.saveInProgress = true;\r\n let saveOk = true;\r\n for (const saveDto of this.saveDtos) {\r\n await new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .load(saveDto)\r\n .then(res => {\r\n pushLoadNotification(\"load\", res);\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = true;\r\n })\r\n .catch(error => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = false;\r\n saveOk = false;\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n if (saveOk) {\r\n this.close();\r\n }\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .preLoad(this.loadIds)\r\n .then(res => {\r\n this.saveDtos = res.map(\r\n x =>\r\n new LoadLoadDto({\r\n loadId: x.loadId,\r\n loadedDate: CDate.now(x.pickupTimeZone),\r\n regNo: x.truckNo\r\n })\r\n );\r\n this.loads = res.map(x => ({\r\n loadId: x.loadId,\r\n routeName: x.routeName!,\r\n pickupEarliest: x.pickupEarliest,\r\n pickupZone: x.pickupTimeZone,\r\n deliverZone: x.deliveryTimeZone,\r\n deliverLatest: x.deliverLatest,\r\n truckType: x.truckType,\r\n transportNo: x.transportNo,\r\n clientName: undefined,\r\n numExtraStops: x.numExtraStops,\r\n numContainers: x.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n }));\r\n this.selectedLoadId = this.loads[0].loadId;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n selectedLoadId: number | undefined;\r\n loads: MultiLoad[];\r\n saveDtos: LoadLoadDto[];\r\n } => ({\r\n saveInProgress: false,\r\n selectedLoadId: undefined,\r\n loads: [],\r\n saveDtos: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadLoadDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadLoadDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadLoadDialog.vue?vue&type=template&id=0849a4d2&\"\nimport script from \"./LoadLoadDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadLoadDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Annul'),\"width\":_vm.multi ? 850 : 500,\"loading\":_vm.loads.length === 0},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.multi)?{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadIds[0],\"actionId\":_vm.actionId}})]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-row',[(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom small-padding-top background-pale\",attrs:{\"cols\":\"7\"}},[_c('LoadDialogMultiTable',{attrs:{\"loads\":_vm.loads,\"selectedLoadId\":_vm.selectedLoadId,\"actionId\":_vm.actionId,\"loading\":_vm.saveInProgress},on:{\"click\":function (id) { return (_vm.selectedLoadId = id); }}})],1):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.multi ? 5 : 12}},[_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Why'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.reason),callback:function ($$v) {_vm.reason=$$v},expression:\"reason\"}})],1)],1)],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\",\"disabled\":!_vm.valid,\"loading\":_vm.saveInProgress},on:{\"click\":_vm.annul}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Annul\"))+\" \")])]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n AnnulLoadDetailsDto,\r\n ApiConfiguration,\r\n LoadActionPermission,\r\n LoadsClientClient\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadDialogMultiTable from \"@/components/web/loads/shared/LoadDialogMultiTable.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n LoadLock,\r\n LoadDialogMultiTable,\r\n LoadChips,\r\n TextSingle\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n },\r\n valid() {\r\n this.loads.map(l => (l.valid = this.valid));\r\n }\r\n },\r\n computed: {\r\n multi(): boolean {\r\n return this.loadIds.length > 1;\r\n },\r\n load(): MultiLoad {\r\n return this.loads.find(l => l.loadId === this.selectedLoadId)!;\r\n }\r\n },\r\n methods: {\r\n async annul() {\r\n this.saveInProgress = true;\r\n let saveOk = true;\r\n for (const loadId of this.loadIds) {\r\n const saveDto = new AnnulLoadDetailsDto({\r\n loadId: loadId,\r\n reason: this.reason\r\n });\r\n await new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .annul(saveDto)\r\n .then(res => {\r\n pushLoadNotification(\"annul\", res);\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = true;\r\n })\r\n .catch(error => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = false;\r\n saveOk = false;\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n if (saveOk) {\r\n this.close();\r\n }\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .preAnnul(this.loadIds)\r\n .then(res => {\r\n this.loads = res.map(x => ({\r\n loadId: x.loadId,\r\n routeName: x.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: x.pickupEarliest,\r\n deliverLatest: x.deliverLatest,\r\n truckType: x.truckType,\r\n transportNo: x.transportNo,\r\n clientName: undefined,\r\n numExtraStops: x.numExtraStops,\r\n numContainers: x.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n }));\r\n this.selectedLoadId = this.loads[0].loadId;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n loads: MultiLoad[];\r\n reason: string;\r\n selectedLoadId: number | undefined;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n loads: [],\r\n reason: \"\",\r\n selectedLoadId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadAnnulDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadAnnulDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadAnnulDialog.vue?vue&type=template&id=3af1c563&\"\nimport script from \"./LoadAnnulDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadAnnulDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Deliver'),\"loading\":_vm.load === undefined,\"width\":450},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},(_vm.saveDto)?{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('DatePickerHolder',{attrs:{\"text1\":_vm.$t('DeliveryEarliest'),\"text2\":_vm.$t('DeliveryLatest'),\"date1\":_vm.deliveryEarliest,\"date2\":_vm.deliveryLatest}},[[_c('DatePicker',{attrs:{\"zone\":_vm.deliveryZone,\"label\":_vm.$t('DeliveredDate'),\"gteDates\":[_vm.loadedDate],\"gteText\":_vm.deliverDateTooEarlyErrorMessage,\"with-time\":\"\"},model:{value:(_vm.saveDto.deliverDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"deliverDate\", $$v)},expression:\"saveDto.deliverDate\"}})]],2)],1),(_vm.distanceEnabled)?_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('Distance'),\"rules\":[function (v) { return !!v; }],\"allow-null\":\"\",\"asterisk\":\"\"},model:{value:(_vm.saveDto.distance),callback:function ($$v) {_vm.$set(_vm.saveDto, \"distance\", $$v)},expression:\"saveDto.distance\"}})],1):_vm._e()],1)],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"loading\":_vm.deliveryInProgress,\"disabled\":!_vm.valid},on:{\"click\":_vm.deliver}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-tray-arrow-up\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Deliver\"))+\" \")],1)]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n DeliverLoadDto,\r\n LoadActionPermission,\r\n LoadsClient,\r\n LoadValuePermission,\r\n LoadValuePermissionDto,\r\n TimeZone,\r\n TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DatePickerHolder from \"@/components/shared/ui/DatePickerHolder.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DatePickerHolder,\r\n DialogCard,\r\n DatePicker,\r\n NumberInput,\r\n LoadLock,\r\n LoadChips\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n distanceEnabled(): boolean {\r\n return this.loadPermissions.find(\r\n p => p.permissionType === LoadValuePermission.Distance\r\n )!.enabled;\r\n },\r\n deliverDateTooEarlyErrorMessage(): string {\r\n return (\r\n t(\"DeliverDateMustBeLaterThanLoadedDate\") +\r\n \" \" +\r\n this.loadedDate!.datePrint()\r\n );\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n }\r\n },\r\n methods: {\r\n deliver() {\r\n this.deliveryInProgress = true;\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .deliver(this.saveDto!)\r\n .then(res => {\r\n pushLoadNotification(\"deliver\", res);\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .preDeliverDetails(this.loadId)\r\n .then(res => {\r\n this.saveDto = new DeliverLoadDto({\r\n loadId: this.loadId,\r\n deliverDate: CDate.now(res.deliveryTimeZone),\r\n distance: res.distance\r\n });\r\n this.routeName = res.routeName;\r\n this.truckType = res.truckType;\r\n this.transportNo = res.transportNo;\r\n this.deliveryEarliest = res.deliveryEarliest;\r\n this.deliveryLatest = res.deliveryLatest;\r\n this.loadPermissions = res.permissions!;\r\n this.loadedDate = res.loadedDate;\r\n this.deliveryZone = res.deliveryTimeZone;\r\n\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: undefined as any,\r\n deliverLatest: res.deliveryLatest,\r\n truckType: res.truckType,\r\n transportNo: res.transportNo,\r\n clientName: undefined,\r\n numExtraStops: res.numExtraStops,\r\n numContainers: res.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n };\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n load: MultiLoad | undefined;\r\n deliveryInProgress: boolean;\r\n loadPermissions: LoadValuePermissionDto[];\r\n saveDto?: DeliverLoadDto;\r\n routeName?: string;\r\n truckType?: TruckType;\r\n transportNo?: string;\r\n deliveryEarliest?: CDate;\r\n deliveryLatest?: CDate;\r\n loadedDate?: CDate;\r\n deliveryZone: TimeZone;\r\n } => ({\r\n valid: false,\r\n load: undefined,\r\n deliveryInProgress: false,\r\n loadPermissions: [],\r\n saveDto: undefined,\r\n routeName: undefined,\r\n truckType: undefined,\r\n transportNo: undefined,\r\n deliveryEarliest: undefined,\r\n deliveryLatest: undefined,\r\n loadedDate: undefined,\r\n deliveryZone: undefined as any\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDeliverDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDeliverDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDeliverDialog.vue?vue&type=template&id=510117c6&\"\nimport script from \"./LoadDeliverDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDeliverDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('UnBook'),\"loading\":_vm.loads.length === 0,\"width\":_vm.multi ? 1050 : 500},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.multi)?{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadIds[0],\"actionId\":_vm.actionId}})]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-row',[(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom small-padding-top background-pale\",attrs:{\"cols\":\"6\"}},[_c('LoadDialogMultiTable',{attrs:{\"loads\":_vm.loads,\"selectedLoadId\":_vm.selectedLoadId,\"actionId\":_vm.actionId,\"loading\":_vm.saveInProgress},on:{\"click\":function (id) { return (_vm.selectedLoadId = id); }}})],1):_vm._e(),_vm._l((_vm.loads.filter(function (l) { return l.loadId === _vm.selectedLoadId; })),function(load){return _c('v-col',{key:load.loadId,staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.multi ? 6 : 12}},[_c('v-form',{ref:\"form\",refInFor:true,model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('LoadChips',{attrs:{\"load\":load}}),_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Why'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.reason),callback:function ($$v) {_vm.reason=$$v},expression:\"reason\"}})],1)],1)],1)],1)})],2)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"error\",\"depressed\":\"\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.valid},on:{\"click\":_vm.unbook}},[_vm._v(\" \"+_vm._s(_vm.$t(\"UnBook\"))+\" \")])]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n ApiConfiguration,\r\n LoadActionPermission,\r\n LoadsClientClient,\r\n UnbookDto\r\n} from \"@/scripts/cld.api\";\r\nimport LoadDialogMultiTable from \"@/components/web/loads/shared/LoadDialogMultiTable.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n LoadLock,\r\n LoadDialogMultiTable,\r\n TextSingle,\r\n LoadChips\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n },\r\n valid() {\r\n this.loads.map(l => (l.valid = this.valid));\r\n }\r\n },\r\n computed: {\r\n multi(): boolean {\r\n return this.loadIds.length > 1;\r\n },\r\n allLoadsValid(): boolean {\r\n return this.loads.length > 0 && this.loads.every(l => l.valid);\r\n },\r\n load(): MultiLoad {\r\n return this.loads.find(l => l.loadId === this.selectedLoadId)!;\r\n }\r\n },\r\n methods: {\r\n async unbook() {\r\n this.saveInProgress = true;\r\n let saveOk = true;\r\n for (const loadId of this.loadIds) {\r\n const saveDto = new UnbookDto({\r\n loadId: loadId,\r\n reason: this.reason\r\n });\r\n await new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .unbook(saveDto)\r\n .then(res => {\r\n pushLoadNotification(\"unbook\", res);\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = true;\r\n })\r\n .catch(error => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = false;\r\n saveOk = false;\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n if (saveOk) {\r\n this.close();\r\n }\r\n },\r\n init() {\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .preUnbook(this.loadIds)\r\n .then(res => {\r\n this.loads = res.map(x => ({\r\n loadId: x.loadId,\r\n routeName: x.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: x.pickupEarliest,\r\n deliverLatest: x.deliverLatest,\r\n truckType: x.truckType,\r\n transportNo: x.transportNo,\r\n clientName: undefined,\r\n numExtraStops: x.numExtraStops,\r\n numContainers: x.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n }));\r\n this.selectedLoadId = this.loads[0].loadId;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n loads: MultiLoad[];\r\n reason: string;\r\n selectedLoadId: number | undefined;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n loads: [],\r\n reason: \"\",\r\n selectedLoadId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadUnbookDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadUnbookDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadUnbookDialog.vue?vue&type=template&id=6b49057c&\"\nimport script from \"./LoadUnbookDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadUnbookDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('ReorderLoad'),\"loading\":_vm.loads.length === 0,\"width\":_vm.multi ? 1050 : 600},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.multi)?{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadIds[0],\"actionId\":_vm.actionId}})]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-row',[(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom small-padding-top background-pale\",attrs:{\"cols\":\"5\"}},[_c('LoadDialogMultiTable',{attrs:{\"loads\":_vm.loads,\"selectedLoadId\":_vm.selectedLoadId,\"actionId\":_vm.actionId,\"loading\":_vm.saveInProgress},on:{\"click\":function (id) { return (_vm.selectedLoadId = id); }}})],1):_vm._e(),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.multi ? 7 : 12}},[_c('v-form',{key:_vm.load.loadId,ref:\"form\",model:{value:(_vm.load.valid),callback:function ($$v) {_vm.$set(_vm.load, \"valid\", $$v)},expression:\"load.valid\"}},[_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('PublishSpeedSlider',{model:{value:(_vm.saveDto.publishSpeed),callback:function ($$v) {_vm.$set(_vm.saveDto, \"publishSpeed\", $$v)},expression:\"saveDto.publishSpeed\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"zone\":_vm.load.pickupZone,\"with-time\":\"\"},model:{value:(_vm.saveDto.pickupEarliest),callback:function ($$v) {_vm.$set(_vm.saveDto, \"pickupEarliest\", $$v)},expression:\"saveDto.pickupEarliest\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('PickupLatest'),\"zone\":_vm.load.pickupZone,\"rules\":_vm.dateRules.pickupLatest,\"allow-null\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.pickupLatest),callback:function ($$v) {_vm.$set(_vm.saveDto, \"pickupLatest\", $$v)},expression:\"saveDto.pickupLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"zone\":_vm.load.deliverZone,\"rules\":_vm.dateRules.deliverEarliest,\"allow-null\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.deliveryEarliest),callback:function ($$v) {_vm.$set(_vm.saveDto, \"deliveryEarliest\", $$v)},expression:\"saveDto.deliveryEarliest\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DeliveryLatest'),\"zone\":_vm.load.deliverZone,\"rules\":_vm.dateRules.deliverLatest,\"with-time\":\"\"},model:{value:(_vm.saveDto.deliveryLatest),callback:function ($$v) {_vm.$set(_vm.saveDto, \"deliveryLatest\", $$v)},expression:\"saveDto.deliveryLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"ReorderDescription\"))+\" \")])])],1)],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"warning\",\"depressed\":\"\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.allLoadsValid},on:{\"click\":_vm.reorder}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ReorderLoad\"))+\" \")])]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n ReorderLoadDto,\r\n LoadsClientClient,\r\n LoadActionPermission\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport PublishSpeedSlider from \"@/components/shared/input/PublishSpeedSlider.vue\";\r\nimport LoadDialogMultiTable from \"@/components/web/loads/shared/LoadDialogMultiTable.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport {\r\n PickupDeliveryRules,\r\n pickupDeliveryRules\r\n} from \"@/scripts/misc/dateUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DatePicker,\r\n PublishSpeedSlider,\r\n LoadDialogMultiTable,\r\n LoadLock,\r\n LoadChips\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n },\r\n selectedLoadId: {\r\n handler() {\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n });\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n load(): MultiLoad {\r\n return this.loads.find(l => l.loadId === this.selectedLoadId)!;\r\n },\r\n multi(): boolean {\r\n return this.loadIds.length > 1;\r\n },\r\n saveDto(): ReorderLoadDto {\r\n return this.saveDtos.find(s => s.loadId === this.selectedLoadId)!;\r\n },\r\n allLoadsValid(): boolean {\r\n return this.loads.length > 0 && this.loads.every(l => l.valid);\r\n },\r\n dateRules(): PickupDeliveryRules {\r\n return pickupDeliveryRules(\r\n this.saveDto.pickupEarliest,\r\n this.saveDto.pickupLatest,\r\n this.saveDto.deliveryEarliest\r\n );\r\n }\r\n },\r\n methods: {\r\n async reorder() {\r\n this.saveInProgress = true;\r\n let saveOk = true;\r\n for (const saveDto of this.saveDtos) {\r\n await new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .reorder(saveDto)\r\n .then(res => {\r\n pushLoadNotification(\"reorder\", res);\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = true;\r\n })\r\n .catch(error => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = false;\r\n saveOk = false;\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n if (saveOk) {\r\n this.close();\r\n }\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .preReorder(this.loadIds)\r\n .then(res => {\r\n this.saveDtos = res.map(\r\n x =>\r\n new ReorderLoadDto({\r\n loadId: x.loadId,\r\n pickupEarliest: x.pickupEarliest,\r\n pickupLatest: x.pickupLatest,\r\n deliveryEarliest: x.deliveryEarliest,\r\n deliveryLatest: x.deliveryLatest,\r\n publishSpeed: x.publishSpeed\r\n })\r\n );\r\n this.loads = res.map(x => ({\r\n loadId: x.loadId,\r\n routeName: x.routeName!,\r\n pickupZone: x.pickupZone,\r\n deliverZone: x.deliverZone,\r\n pickupEarliest: x.pickupEarliest,\r\n deliverLatest: x.deliveryLatest,\r\n truckType: x.truckType,\r\n transportNo: x.transportNo,\r\n clientName: undefined,\r\n numExtraStops: x.numExtraStops,\r\n numContainers: x.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n }));\r\n this.selectedLoadId = this.loads[0].loadId;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n selectedLoadId: number | undefined;\r\n loads: MultiLoad[];\r\n saveDtos: ReorderLoadDto[];\r\n } => ({\r\n saveInProgress: false,\r\n selectedLoadId: undefined,\r\n loads: [],\r\n saveDtos: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadReorderDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadReorderDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadReorderDialog.vue?vue&type=template&id=7df687f1&\"\nimport script from \"./LoadReorderDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadReorderDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('SpotTender'),\"width\":1100,\"loading\":!_vm.saveDto,\"no-padding-sides\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},{key:\"body\",fn:function(){return [_c('v-stepper',{attrs:{\"elevation\":\"0\"},model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('v-stepper-header',_vm._l((_vm.steps),function(step){return _c('div',{key:step.id,staticClass:\"display-contents\"},[(step.id !== 1)?_c('v-divider'):_vm._e(),_c('v-stepper-step',{attrs:{\"step\":step.id,\"complete\":_vm.completed(step.id),\"rules\":[function () { return step.id >= _vm.currentStep || _vm.completed(step.id); }],\"color\":_vm.color(step.id)}},[_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(step.name)+\" \"+_vm._s(step.info ? (\"(\" + (step.info) + \")\") : \"\")+\" \")])])],1)}),0)],1),_c('div',{staticClass:\"large-padding-sides\"},[_c('div',{staticClass:\"medium-padding-bottom\"},[_c('LoadChips',{attrs:{\"load\":_vm.load,\"no-padding-top\":\"\"}})],1),_c('v-tabs-items',{attrs:{\"value\":_vm.currentStep - 1}},[_c('v-tab-item',[_c('CreateSpotTenderDates',{attrs:{\"saveDto\":_vm.saveDto},on:{\"change\":function (c, i) { return _vm.change(1, c, i); }}})],1),_c('v-tab-item',[_c('CreateSpotTenderOtherInfo',{attrs:{\"saveDto\":_vm.saveDto,\"documentGroups\":_vm.documentGroups},on:{\"change\":function (c, i) { return _vm.change(2, c, i); }}})],1),_c('v-tab-item',[_c('CreateSpotTenderSuppliers',{attrs:{\"saveDto\":_vm.saveDto,\"suppliers\":_vm.suppliers,\"rankedSupplierIds\":_vm.rankedSupplierIds,\"qualityPoints\":_vm.qualityPoints},on:{\"change\":function (c, i) { return _vm.change(3, c, i); }}})],1),_c('v-tab-item',[_c('CreateSpotTenderReview',{attrs:{\"saveDto\":_vm.saveDto,\"suppliers\":_vm.suppliers,\"documentGroups\":_vm.documentGroups},on:{\"close\":_vm.actuallyClose}})],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',{staticClass:\"tiniest-margin-sides\"},[_c('v-col',{staticClass:\"no-vertical-padding small-padding-sides\",attrs:{\"cols\":\"auto\"}},[(_vm.currentStep !== 1)?_c('v-btn',{attrs:{\"color\":\"warning\",\"disabled\":_vm.saveInProgress},on:{\"click\":function($event){_vm.currentStep--}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Previous\"))+\" \")],1):_vm._e()],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding small-padding-sides\",attrs:{\"cols\":\"auto\"}},[(_vm.currentStep === 4)?_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.nextEnabled(3),\"loading\":_vm.saveInProgress},on:{\"click\":_vm.save}},[_vm._v(\" \"+_vm._s(_vm.$t(\"StartSpotTender\"))+\" \")]):_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.nextEnabled(_vm.currentStep)},on:{\"click\":function($event){_vm.currentStep++}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Next\"))+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.saveDto.dates)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"zone\":_vm.saveDto.dates.pickupZone,\"asterisk\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.dates.pickupEarliest),callback:function ($$v) {_vm.$set(_vm.saveDto.dates, \"pickupEarliest\", $$v)},expression:\"saveDto.dates.pickupEarliest\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('PickupLatest'),\"rules\":_vm.dateRules.pickupLatest,\"zone\":_vm.saveDto.dates.pickupZone,\"gteNow\":\"\",\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.saveDto.dates.pickupLatest),callback:function ($$v) {_vm.$set(_vm.saveDto.dates, \"pickupLatest\", $$v)},expression:\"saveDto.dates.pickupLatest\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredPickupDate')},model:{value:(_vm.saveDto.mandatoryBookedPickupDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"mandatoryBookedPickupDate\", $$v)},expression:\"saveDto.mandatoryBookedPickupDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"rules\":_vm.dateRules.deliverEarliest,\"zone\":_vm.saveDto.dates.deliverZone,\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.saveDto.dates.deliverEarliest),callback:function ($$v) {_vm.$set(_vm.saveDto.dates, \"deliverEarliest\", $$v)},expression:\"saveDto.dates.deliverEarliest\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DeliveryLatest'),\"rules\":_vm.dateRules.deliverLatest,\"zone\":_vm.saveDto.dates.deliverZone,\"gteNow\":\"\",\"asterisk\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.dates.deliverLatest),callback:function ($$v) {_vm.$set(_vm.saveDto.dates, \"deliverLatest\", $$v)},expression:\"saveDto.dates.deliverLatest\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredDeliveryDate')},model:{value:(_vm.saveDto.mandatoryBookedDeliveryDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"mandatoryBookedDeliveryDate\", $$v)},expression:\"saveDto.mandatoryBookedDeliveryDate\"}})],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\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { CreateSpotTenderDto } from \"@/scripts/cld.api\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport {\r\n pickupDeliveryRules,\r\n PickupDeliveryRules\r\n} from \"@/scripts/misc/dateUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Checkbox,\r\n DatePicker\r\n },\r\n props: {\r\n saveDto: CreateSpotTenderDto\r\n },\r\n watch: {\r\n saveDto: {\r\n handler() {\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n this.$nextTick(() => {\r\n this.$emit(\"change\", this.valid);\r\n });\r\n });\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n dateRules(): PickupDeliveryRules {\r\n return pickupDeliveryRules(\r\n this.saveDto.dates!.pickupEarliest!,\r\n this.saveDto.dates!.pickupLatest,\r\n this.saveDto.dates!.deliverEarliest\r\n );\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n } => ({\r\n valid: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderDates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderDates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateSpotTenderDates.vue?vue&type=template&id=a689f730&\"\nimport script from \"./CreateSpotTenderDates.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateSpotTenderDates.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VForm,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.saveDto.dates)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('SpotTenderEnds'),\"rules\":_vm.spotTenderEndRules,\"zone\":_vm.actorZone,\"gteNow\":\"\",\"asterisk\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.endDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"endDate\", $$v)},expression:\"saveDto.endDate\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DropdownMulti',{attrs:{\"label\":_vm.$t('TruckType'),\"items\":_vm.truckTypes,\"rules\":[function (v) { return !!v && v.length > 0; }],\"asterisk\":\"\"},model:{value:(_vm.saveDto.truckTypes),callback:function ($$v) {_vm.$set(_vm.saveDto, \"truckTypes\", $$v)},expression:\"saveDto.truckTypes\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DocumentDropdown',{attrs:{\"label\":_vm.$t('TermsOfAgreement'),\"document-groups\":_vm.documentGroups,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.saveDto.documentGroupId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"documentGroupId\", $$v)},expression:\"saveDto.documentGroupId\"}})],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('MessageToSuppliers'),\"rows\":6,\"rules\":[function (v) { return !v || v.length < 500; }],\"only-on-blur\":\"\"},model:{value:(_vm.saveDto.note),callback:function ($$v) {_vm.$set(_vm.saveDto, \"note\", $$v)},expression:\"saveDto.note\"}})],1)],1)],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\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n CreateSpotTenderDto,\r\n DocumentGroupDto,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport DocumentDropdown from \"@/components/shared/input/DocumentDropdown.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { leq } from \"@/scripts/misc/dateUtils\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DropdownMulti,\r\n DocumentDropdown,\r\n TextMulti,\r\n DatePicker\r\n },\r\n props: {\r\n saveDto: CreateSpotTenderDto,\r\n documentGroups: Array as () => DocumentGroupDto[]\r\n },\r\n watch: {\r\n saveDto: {\r\n handler() {\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n this.$nextTick(() => {\r\n this.$emit(\"change\", this.valid);\r\n });\r\n });\r\n },\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(CargoType.Road);\r\n },\r\n spotTenderEndRules(): { (date?: CDate): boolean | string }[] {\r\n return [\r\n leq(\r\n this.saveDto.dates!.deliverLatest,\r\n \"SpotTenderEnds\",\r\n \"DeliveryLatest\"\r\n )\r\n ];\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n } => ({\r\n valid: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderOtherInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderOtherInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateSpotTenderOtherInfo.vue?vue&type=template&id=dc284766&\"\nimport script from \"./CreateSpotTenderOtherInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateSpotTenderOtherInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VForm,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('ShowSuppliersWithAgreements')},model:{value:(_vm.suppliersWithAgreements),callback:function ($$v) {_vm.suppliersWithAgreements=$$v},expression:\"suppliersWithAgreements\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('ShowSuppliersWithoutAgreements')},model:{value:(_vm.suppliersWithoutAgreements),callback:function ($$v) {_vm.suppliersWithoutAgreements=$$v},expression:\"suppliersWithoutAgreements\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('SearchCard',{attrs:{\"title\":((_vm.$t('NotInvited')) + \" (\" + (_vm.excluded.length) + \")\"),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SupplierSelectTable',{attrs:{\"suppliers\":_vm.filteredExcluded,\"qualityPoints\":_vm.qualityPoints,\"filter\":_vm.excludedFilter,\"mode\":\"excluded\",\"small\":\"\"},on:{\"click\":function (id) { return _vm.include(id); },\"filter\":function (f) { return (_vm.excludedFilter = f); }}})]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"small-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":_vm.includeFiltered}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-chevron-triple-right\")])],1)],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"small-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":_vm.excludeFiltered}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-chevron-triple-left\")])],1)],1),_c('v-spacer')],1)],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('SearchCard',{attrs:{\"title\":((_vm.$t('Invited')) + \" (\" + (_vm.included.length) + \")\"),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SupplierSelectTable',{attrs:{\"suppliers\":_vm.filteredIncluded,\"qualityPoints\":_vm.qualityPoints,\"filter\":_vm.includedFilter,\"mode\":\"included\",\"small\":\"\"},on:{\"click\":function (id) { return _vm.exclude(id); },\"filter\":function (f) { return (_vm.includedFilter = f); }}})]},proxy:true}])})],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('v-data-table',{attrs:{\"item-key\":\"id\",\"headers\":_vm.filteredHeaders,\"items\":_vm.sortedSuppliers,\"height\":_vm.tableHeight,\"options\":_vm.tableOptions,\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.text\",fn:function(){return [_c('CustomFilter',{attrs:{\"value\":_vm.filter,\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Supplier')},on:{\"input\":function (f) { return _vm.$emit('filter', f); }}})]},proxy:true}],null,true)})]}},{key:\"item.exclude\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"clickable medium-padding-right\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},[_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\"mdi-chevron-double-left\")])],1)]}},{key:\"item.text\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"clickable small-vertical-padding\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},[_vm._v(\" \"+_vm._s(item.text)+\" \")])]}},{key:\"item.unsubscribed\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"clickable medium-padding-right\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},on),[(!_vm.subscribed(item.id))?_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\"mdi-account-alert\")]):_vm._e()],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"ActorWontReceiveMessage\")))])])]}},{key:\"item.survey\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"clickable medium-padding-right\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},on),[(_vm.ftCertified(item.id))?_c('v-img',{attrs:{\"src\":_vm.ftLogo,\"height\":\"24\",\"width\":\"24\"}}):(_vm.surveyDone(item.id))?_c('v-icon',{attrs:{\"color\":\"icon-green\"}},[_vm._v(\" mdi-leaf \")]):_vm._e()],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.tooltip(item.id)))])])]}},{key:\"item.qp\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"clickable small-vertical-padding\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},on),[_vm._v(\" \"+_vm._s(_vm.total(item.id))+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.tooltip(item.id)))])])]}},{key:\"item.include\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"clickable medium-padding-sides\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},[_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\"mdi-chevron-double-right\")])],1)]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { QualityPointsPastYearDto, RepositoryDto } from \"@/scripts/cld.api\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { rankingTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n suppliers: Array as () => RepositoryDto[],\r\n subscribedSuppliers: Array as () => number[],\r\n qualityPoints: Array as () => QualityPointsPastYearDto[],\r\n filter: String,\r\n mode: String as () => \"excluded\" | \"included\",\r\n small: Boolean\r\n },\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(\r\n 400,\r\n this.$store.getters[gets.dimensions].height - (this.small ? 500 : 333)\r\n );\r\n },\r\n filteredHeaders(): TableHeader[] {\r\n return this.headers\r\n .filter(h => !h.id || (h.id as any) === this.mode)\r\n .filter(\r\n h =>\r\n this.subscribedSuppliers !== undefined || h.value !== \"unsubscribed\"\r\n )\r\n .filter(\r\n h =>\r\n this.qualityPoints !== undefined ||\r\n (h.value !== \"survey\" && h.value !== \"qp\")\r\n );\r\n },\r\n sortedSuppliers(): RepositoryDto[] {\r\n let res = [...this.suppliers];\r\n let c: {\r\n (a: RepositoryDto, b: RepositoryDto): number;\r\n };\r\n const sortBy = this.tableOptions.sortBy[0];\r\n const sortDesc = this.tableOptions.sortDesc[0];\r\n switch (sortBy) {\r\n case \"qp\":\r\n c = (a, b) => this.total(a.id) - this.total(b.id);\r\n break;\r\n default:\r\n c = (a, b) => stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n }\r\n res = res.sort((a, b) => (sortDesc ? -1 : 1) * c(a, b));\r\n return res;\r\n }\r\n },\r\n methods: {\r\n surveyDone(id: number): boolean {\r\n return this.qualityPoints.some(\r\n x => x.supplierId === id && x.surveyPoints > 0\r\n );\r\n },\r\n ftCertified(id: number): boolean {\r\n return this.qualityPoints.some(\r\n x => x.supplierId === id && x.fairTransportPoints > 0\r\n );\r\n },\r\n subscribed(id: number): boolean {\r\n return this.subscribedSuppliers.includes(id);\r\n },\r\n qp(id: number): QualityPointsPastYearDto | undefined {\r\n return this.qualityPoints.find(q => q.supplierId === id);\r\n },\r\n total(id: number): number {\r\n const qp = this.qp(id);\r\n return qp ? qp.totalPoints : 0;\r\n },\r\n tooltip(id: number): string {\r\n const qp = this.qp(id);\r\n if (!qp) {\r\n return t(\"NotAvailable\");\r\n }\r\n let tooltip = `${t(\"SourceForStatistics\")}: ${rankingTypeName(\r\n qp.rankingType\r\n )}`;\r\n tooltip += `\\n${t(\"NumberOfOfferedLoads\")}: ${qp.numLoadsOffered}`;\r\n tooltip += `\\n${t(\"BookedLoads\")}: ${qp.numLoadsLoaded}`;\r\n tooltip += `\\n${t(\"Survey_SustainabilitySurvey\")}: ${qp.surveyPoints} ${t(\r\n \"Points\"\r\n )}`;\r\n tooltip += `\\n${t(\"FairTransport\")}: ${qp.fairTransportPoints} ${t(\r\n \"Points\"\r\n )}`;\r\n tooltip += `\\n${t(\"MeasuredQualityPoints\")} (${qp.factor! * 100}% ${t(\r\n \"Of\"\r\n )} ${qp.baseParameterPoints}): ${qp.factoredParameterPoints}`;\r\n tooltip += `\\n${t(\"BusinessQualitypoints\")}: ${qp.subjectivePoints}`;\r\n tooltip += `\\n${t(\"TotalPoints\")}: ${qp.totalPoints}`;\r\n return tooltip;\r\n }\r\n },\r\n data: (): {\r\n headers: TableHeader[];\r\n tableOptions: TableOptions;\r\n ftLogo: any;\r\n } => ({\r\n headers: [\r\n {\r\n value: \"exclude\",\r\n text: \"\",\r\n untranslated: true,\r\n id: \"included\" as any,\r\n width: 52\r\n },\r\n {\r\n value: \"text\",\r\n text: \"Supplier\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"unsubscribed\",\r\n text: \"\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"survey\",\r\n text: \"\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"qp\",\r\n text: \"QualityPoints\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"include\",\r\n text: \"\",\r\n untranslated: true,\r\n id: \"excluded\" as any,\r\n width: 75\r\n }\r\n ],\r\n tableOptions: new TableOptions({\r\n itemsPerPage: -1,\r\n sortBy: [\"supplier\"],\r\n sortDesc: [false]\r\n }),\r\n ftLogo: require(\"@/assets/img/fair-transport-logo.png\")\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupplierSelectTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupplierSelectTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SupplierSelectTable.vue?vue&type=template&id=f5fdc262&scoped=true&\"\nimport script from \"./SupplierSelectTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SupplierSelectTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SupplierSelectTable.vue?vue&type=style&index=0&id=f5fdc262&scoped=true&lang=css&\"\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 \"f5fdc262\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VImg,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n CreateSpotTenderDto,\r\n QualityPointsPastYearDto,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport SupplierSelectTable from \"@/components/web/agreements/client/SupplierSelectTable.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Checkbox,\r\n SupplierSelectTable\r\n },\r\n props: {\r\n saveDto: CreateSpotTenderDto,\r\n suppliers: Array as () => RepositoryDto[],\r\n rankedSupplierIds: Array as () => number[],\r\n qualityPoints: Array as () => QualityPointsPastYearDto[]\r\n },\r\n watch: {\r\n supplierIds: {\r\n handler() {\r\n this.$nextTick(() => {\r\n this.$emit(\r\n \"change\",\r\n this.supplierIds.length > 0,\r\n this.supplierIds.length\r\n );\r\n });\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n supplierIds(): number[] {\r\n return this.saveDto.supplierIds!;\r\n },\r\n included(): RepositoryDto[] {\r\n return this.suppliers.filter(s => this.supplierIds.includes(s.id));\r\n },\r\n excluded(): RepositoryDto[] {\r\n return this.suppliers\r\n .filter(s => !this.supplierIds.includes(s.id))\r\n .filter(\r\n s =>\r\n this.suppliersWithAgreements ||\r\n !this.rankedSupplierIds.includes(s.id)\r\n )\r\n .filter(\r\n s =>\r\n this.suppliersWithoutAgreements ||\r\n this.rankedSupplierIds.includes(s.id)\r\n );\r\n },\r\n filteredIncluded(): RepositoryDto[] {\r\n return this.included.filter(s =>\r\n stringSearchHit(this.includedFilter, s.text, false)\r\n );\r\n },\r\n filteredExcluded(): RepositoryDto[] {\r\n return this.excluded.filter(s =>\r\n stringSearchHit(this.excludedFilter, s.text, false)\r\n );\r\n }\r\n },\r\n methods: {\r\n include(id: number) {\r\n this.supplierIds.push(id);\r\n },\r\n exclude(id: number) {\r\n this.supplierIds.splice(this.supplierIds.indexOf(id), 1);\r\n },\r\n includeFiltered() {\r\n this.supplierIds.push(...this.filteredExcluded.map(s => s.id));\r\n },\r\n excludeFiltered() {\r\n const keep = this.supplierIds.filter(\r\n s => !this.filteredIncluded.map(x => x.id).includes(s)\r\n );\r\n this.supplierIds.splice(0);\r\n this.supplierIds.push(...keep);\r\n }\r\n },\r\n data: (): {\r\n suppliersWithAgreements: boolean;\r\n suppliersWithoutAgreements: boolean;\r\n includedFilter: string;\r\n excludedFilter: string;\r\n } => ({\r\n suppliersWithAgreements: true,\r\n suppliersWithoutAgreements: true,\r\n includedFilter: \"\",\r\n excludedFilter: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderSuppliers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderSuppliers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateSpotTenderSuppliers.vue?vue&type=template&id=60070d8e&\"\nimport script from \"./CreateSpotTenderSuppliers.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateSpotTenderSuppliers.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{staticClass:\"small-margin-bottom\",attrs:{\"text\":_vm.$t('Dates')}}),_c('v-data-table',{attrs:{\"headers\":[\n {\n value: 'pickupEarliest',\n text: 'PickupEarliest',\n width: 1\n },\n {\n value: 'pickupLatest',\n text: 'PickupLatest',\n width: 1\n },\n {\n value: 'deliverEarliest',\n text: 'DeliveryEarliest',\n width: 1\n },\n {\n value: 'deliverLatest',\n text: 'DeliveryLatest',\n width: 1\n }\n ],\"items\":[_vm.saveDto.dates],\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}}])})],1),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('GreyTitle',{staticClass:\"tiny-margin-bottom\",attrs:{\"text\":_vm.$t('AdditionalInformation')}}),_c('v-row',[_c('v-col',{staticClass:\"small-padding-right small-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiniest-margin-left\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('RequiredPickupDate'),\"value\":_vm.saveDto.mandatoryBookedPickupDate}})],1)]),_c('v-col',{staticClass:\"small-padding-left small-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('RequiredDeliveryDate'),\"value\":_vm.saveDto.mandatoryBookedDeliveryDate}})],1)],1),_c('div',{staticClass:\"tiniest-margin-left small-margin-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('SpotTenderEnds'),\"value\":_vm.endDateInfo}})],1),_c('div',{staticClass:\"tiniest-margin-left small-margin-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckType'),\"value\":_vm.truckTypeNames}})],1),_c('div',{staticClass:\"tiniest-margin-left medium-margin-bottom\"},[_c('DocumentDropdown',{attrs:{\"value\":_vm.saveDto.documentGroupId,\"label\":_vm.$t('TermsOfAgreement'),\"document-groups\":_vm.documentGroups,\"readonly\":\"\"}})],1),_c('TextMulti',{attrs:{\"rows\":3,\"label\":_vm.$t('MessageToSuppliers'),\"only-on-blur\":\"\"},model:{value:(_vm.saveDto.note),callback:function ($$v) {_vm.$set(_vm.saveDto, \"note\", $$v)},expression:\"saveDto.note\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('GreyTitle',{staticClass:\"tiniest-margin-bottom\",attrs:{\"text\":_vm.$t('Suppliers')}}),_c('v-list',{staticClass:\"scrollable no-vertical-padding\",attrs:{\"height\":300}},_vm._l((_vm.suppliers.filter(function (s) { return (_vm.saveDto.supplierIds || []).includes(s.id); }\n )),function(s){return _c('div',{key:s.id},[_c('v-list-item',[_c('v-list-item-content',[_c('span',{staticClass:\"body-2\"},[_vm._v(_vm._s(s.text))])])],1),_c('v-divider')],1)}),0)],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\r\nimport Vue from \"vue\";\r\nimport {\r\n CreateSpotTenderDto,\r\n DocumentGroupDto,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport DocumentDropdown from \"@/components/shared/input/DocumentDropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n GreyTitle,\r\n TextMulti,\r\n DocumentDropdown,\r\n ReadOnlyText\r\n },\r\n props: {\r\n saveDto: CreateSpotTenderDto,\r\n suppliers: Array as () => RepositoryDto[],\r\n documentGroups: Array as () => DocumentGroupDto[]\r\n },\r\n computed: {\r\n endDateInfo(): string {\r\n return CDate.now(\r\n this.$store.getters[gets.userInfo].zone\r\n ).shortDateTimePrintWithTo(this.saveDto.endDate, localeCode());\r\n },\r\n truckTypeNames(): string {\r\n return this.saveDto.truckTypes!.map(tt => truckTypeName(tt)).join(\", \");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderReview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderReview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateSpotTenderReview.vue?vue&type=template&id=692a5e1b&scoped=true&\"\nimport script from \"./CreateSpotTenderReview.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateSpotTenderReview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CreateSpotTenderReview.vue?vue&type=style&index=0&id=692a5e1b&scoped=true&lang=css&\"\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 \"692a5e1b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDataTable,VDivider,VList,VListItem,VListItemContent,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n CreateSpotTenderDto,\r\n DocumentGroupDto,\r\n DocumentsClient,\r\n DocType,\r\n LoadActionPermission,\r\n LoadClientEditDatesDto,\r\n QualityPointsClientClient,\r\n QualityPointsPastYearDto,\r\n RepositoryDto,\r\n SpotTenderClientClient\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport CreateSpotTenderDates from \"@/components/web/loads/client/spot/CreateSpotTenderDates.vue\";\r\nimport CreateSpotTenderOtherInfo from \"@/components/web/loads/client/spot/CreateSpotTenderOtherInfo.vue\";\r\nimport CreateSpotTenderSuppliers from \"@/components/web/loads/client/spot/CreateSpotTenderSuppliers.vue\";\r\nimport CreateSpotTenderReview from \"@/components/web/loads/client/spot/CreateSpotTenderReview.vue\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { discardChangesDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n LoadLock,\r\n LoadChips,\r\n CreateSpotTenderDates,\r\n CreateSpotTenderOtherInfo,\r\n CreateSpotTenderSuppliers,\r\n CreateSpotTenderReview\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n }\r\n },\r\n methods: {\r\n change(step: number, completed: boolean, info: string | undefined) {\r\n this.steps[step - 1].completed = completed;\r\n this.steps[step - 1].info = info;\r\n },\r\n nextEnabled(step: number): boolean {\r\n return this.steps.every(s => s.id > step || s.completed);\r\n },\r\n completed(step: number) {\r\n return this.steps[step - 1].completed && this.currentStep > step;\r\n },\r\n color(step: number): string {\r\n return this.completed(step) ? \"success\" : \"cyan darken-1\";\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new SpotTenderClientClient(new ApiConfiguration(this.$store))\r\n .createSpotTender(this.saveDto)\r\n .then(res => {\r\n pushLoadNotification(\"create-spot\", res);\r\n this.actuallyClose();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n discardChangesDialog(this.actuallyClose);\r\n },\r\n actuallyClose() {\r\n this.$emit(\"close\");\r\n },\r\n fetchSuppliers() {\r\n cached(\"suppliers\", [CargoType.Road, false, true])\r\n .then(res => {\r\n this.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPreInfo() {\r\n new SpotTenderClientClient(new ApiConfiguration(this.$store))\r\n .preCreateSpotTender(this.loadId)\r\n .then(res => {\r\n this.saveDto = new CreateSpotTenderDto({\r\n loadId: this.loadId,\r\n endDate: undefined as any,\r\n supplierIds: [],\r\n dates: new LoadClientEditDatesDto({\r\n pickupEarliest: res.pickupEarliest,\r\n pickupLatest: res.pickupLatest,\r\n deliverEarliest: res.deliveryEarliest,\r\n deliverLatest: res.deliveryLatest,\r\n pickupZone: res.pickupZone,\r\n deliverZone: res.deliveryZone\r\n }),\r\n mandatoryBookedPickupDate: true,\r\n mandatoryBookedDeliveryDate: res.mandatoryBookedDeliveryDate,\r\n note: undefined,\r\n documentGroupId: undefined as any,\r\n truckTypes: [res.truckType]\r\n });\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: res.pickupEarliest,\r\n deliverLatest: res.deliveryLatest,\r\n truckType: res.truckType,\r\n transportNo: res.transportNo,\r\n clientName: undefined,\r\n numExtraStops: res.numExtraStops,\r\n numContainers: res.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n };\r\n this.rankedSupplierIds = res.rankedSupplierIds!;\r\n this.fetchDocumentGroups();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchQualityPoints() {\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .qualityPointsPastYear(CargoType.Road)\r\n .then(res => {\r\n this.qualityPoints = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocumentGroups() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .list(DocType.TermsOfAgreement, false)\r\n .then(res => {\r\n this.documentGroups = res;\r\n this.saveDto.documentGroupId = this.documentGroups[0].id;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.fetchSuppliers();\r\n this.fetchPreInfo();\r\n this.fetchQualityPoints();\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n saveDto: CreateSpotTenderDto;\r\n load: MultiLoad;\r\n suppliers: RepositoryDto[];\r\n rankedSupplierIds: number[];\r\n qualityPoints: QualityPointsPastYearDto[];\r\n documentGroups: DocumentGroupDto[];\r\n currentStep: number;\r\n steps: {\r\n id: number;\r\n name: string;\r\n info: string | undefined;\r\n completed: boolean;\r\n }[];\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n saveDto: undefined as any,\r\n load: undefined as any,\r\n suppliers: [],\r\n rankedSupplierIds: [],\r\n qualityPoints: [],\r\n documentGroups: [],\r\n currentStep: 1,\r\n steps: [\r\n { id: 1, name: t(\"Dates\"), info: undefined, completed: false },\r\n {\r\n id: 2,\r\n name: t(\"SpotTender\"),\r\n info: undefined,\r\n completed: false\r\n },\r\n { id: 3, name: t(\"Suppliers\"), info: undefined, completed: false },\r\n { id: 4, name: t(\"Review\"), info: undefined, completed: false }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateSpotTenderDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateSpotTenderDialog.vue?vue&type=template&id=af66c3b6&\"\nimport script from \"./CreateSpotTenderDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateSpotTenderDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperHeader } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCol,VDivider,VIcon,VRow,VSpacer,VStepper,VStepperHeader,VStepperStep,VTabItem,VTabsItems})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('SpotTender'),\"width\":1200,\"loading\":!_vm.infoDto},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('GreyTitle',{staticClass:\"small-margin-bottom\",attrs:{\"text\":_vm.$t('MessageToSupplier')}}),_c('div',{staticClass:\"render-newlines scrollable message-div tiny-padding-sides tiniest-vertical-padding\"},[_vm._v(\" \"+_vm._s(_vm.infoDto.messageToSupplier)+\" \")])],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"8\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Dates')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest')},model:{value:(_vm.infoDto.pickupEarliest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"pickupEarliest\", $$v)},expression:\"infoDto.pickupEarliest\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLatest')},model:{value:(_vm.infoDto.pickupLatest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"pickupLatest\", $$v)},expression:\"infoDto.pickupLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-left small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredPickupDate'),\"readonly\":\"\"},model:{value:(_vm.infoDto.mandatoryBookedPickup),callback:function ($$v) {_vm.$set(_vm.infoDto, \"mandatoryBookedPickup\", $$v)},expression:\"infoDto.mandatoryBookedPickup\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryEarliest')},model:{value:(_vm.infoDto.deliverEarliest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"deliverEarliest\", $$v)},expression:\"infoDto.deliverEarliest\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryLatest')},model:{value:(_vm.infoDto.deliverLatest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"deliverLatest\", $$v)},expression:\"infoDto.deliverLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-left small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredDeliveryDate'),\"readonly\":\"\"},model:{value:(_vm.infoDto.mandatoryBookedDelivery),callback:function ($$v) {_vm.$set(_vm.infoDto, \"mandatoryBookedDelivery\", $$v)},expression:\"infoDto.mandatoryBookedDelivery\"}})],1)],1)],1),_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('GreyTitle',{attrs:{\"text\":((_vm.$t('SpotTender')) + \" (\" + (_vm.currencyName(_vm.infoDto.currency)) + \")\")}})],1),_c('v-col',{staticClass:\"small-padding-top no-padding-bottom no-padding-left\",attrs:{\"cols\":\"8\"}},[_c('GreyTitle',{attrs:{\"text\":((_vm.$t('IndexPrices')) + \" (\" + (_vm.currencyName(_vm.infoDto.currency)) + \")\")}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"tiniest-margin-left\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('SpotTenderEnds'),\"value\":_vm.endDateInfo}})],1),_c('div',{staticClass:\"tiniest-margin-left small-padding-top\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckType'),\"value\":_vm.truckTypeNames}})],1),_c('div',{staticClass:\"tiniest-margin-left small-padding-top\"},[_c('DocumentDropdown',{attrs:{\"value\":_vm.documentGroupId,\"label\":_vm.$t('TermsOfAgreement'),\"document-groups\":_vm.documentGroups,\"readonly\":\"\"}})],1)]),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"8\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.suppliers,\"height\":350,\"item-class\":_vm.itemClass,\"custom-sort\":_vm.customSort,\"mobile-breakpoint\":\"0\",\"sort-by\":\"price\",\"disable-pagination\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Survey_Supplier')},model:{value:(_vm.supplierFilter),callback:function ($$v) {_vm.supplierFilter=$$v},expression:\"supplierFilter\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckTypeMulti',\n cargoType: _vm.cargoType\n },\"placeholder\":_vm.$t('TruckType')},model:{value:(_vm.truckTypeFilter),callback:function ($$v) {_vm.truckTypeFilter=$$v},expression:\"truckTypeFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.checkbox\",fn:function(ref){\n var item = ref.item;\nreturn [(\n !_vm.infoDto.ongoing && item.spotTenderPriceRowId !== undefined\n )?_c('CheckboxTiny',{attrs:{\"value\":item.spotTenderPriceRowId === _vm.selectedId,\"radio\":\"\"},on:{\"input\":function($event){_vm.selectedId = item.spotTenderPriceRowId}}}):_vm._e()]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"115\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [(item.truckType)?_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.truckTypeName(item.truckType)))]):_vm._e()]}},{key:\"item.price\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.price, 0)))])]}},{key:\"item.bookedPickupDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.bookedPickupDate))])]}},{key:\"item.bookedDeliveryDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.bookedDeliveryDate))])]}},{key:\"item.note\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.note,\"width\":\"170\"}})]}}],null,true)})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.infoDto && !_vm.infoDto.ongoing)?_c('v-btn',{attrs:{\"loading\":_vm.saveInProgress,\"color\":\"error\"},on:{\"click\":_vm.deleteSpotTender}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Delete\"))+\" \")],1):_vm._e(),_c('v-spacer'),(_vm.infoDto && !_vm.infoDto.ongoing)?_c('v-btn',{attrs:{\"disabled\":!_vm.selectedId,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"19\"}},[_vm._v(\"mdi-book-check-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Book\"))+\" \")],1):_vm._e()]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n DocType,\r\n DocumentGroupDto,\r\n DocumentsClient,\r\n FinishSpotTenderDto,\r\n PreClientEditSpotTenderDto,\r\n PreEditSpotTenderPriceDto,\r\n SpotTenderClientClient,\r\n TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport DocumentDropdown from \"@/components/shared/input/DocumentDropdown.vue\";\r\nimport { MultiLoad, TableHeader } from \"@/scripts/types\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { currencyName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode, t } from \"@/scripts/language/i18n\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n ReadOnlyText,\r\n GreyTitle,\r\n CheckboxTiny,\r\n LoadChips,\r\n Checkbox,\r\n DocumentDropdown\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n cargoType(): CargoType {\r\n return CargoType.Road;\r\n },\r\n pricesWithInvitedSuppliers(): PreEditSpotTenderPriceDto[] {\r\n return [\r\n ...this.infoDto.prices!,\r\n ...this.infoDto.suppliers!.map(\r\n x => ({ supplierName: x.text } as PreEditSpotTenderPriceDto)\r\n )\r\n ];\r\n },\r\n suppliers(): PreEditSpotTenderPriceDto[] {\r\n return this.pricesWithInvitedSuppliers\r\n .filter(\r\n s =>\r\n !this.supplierFilter ||\r\n s\r\n .supplierName!.toLowerCase()\r\n .includes(this.supplierFilter.toLowerCase())\r\n )\r\n .filter(\r\n s =>\r\n !this.truckTypeFilter.length ||\r\n this.truckTypeFilter.includes(s.truckType)\r\n );\r\n },\r\n endDateInfo(): string {\r\n return CDate.now(\r\n this.$store.getters[gets.userInfo].zone\r\n ).shortDateTimePrintWithTo(this.infoDto.endDate, localeCode());\r\n },\r\n truckTypeNames(): string {\r\n return this.infoDto.truckTypes!.map(tt => truckTypeName(tt)).join(\", \");\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n currencyName: currencyName,\r\n money: money,\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n itemClass(i: PreEditSpotTenderPriceDto): string {\r\n return [\r\n this.selectedId && i.spotTenderPriceRowId === this.selectedId\r\n ? \"green-row\"\r\n : \"\",\r\n i.spotTenderPriceRowId === undefined ? \"greyish-text\" : \"\"\r\n ].join(\" \");\r\n },\r\n deleteSpotTender() {\r\n this.saveInProgress = true;\r\n popupDialog({\r\n title: t(\"Delete\"),\r\n body: t(\"DeleteSpotTenderText\"),\r\n btnText1: t(\"Delete\"),\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n this.actuallyDeleteSpotTender();\r\n },\r\n closeButtonCallback: () => {\r\n this.saveInProgress = false;\r\n }\r\n });\r\n },\r\n actuallyDeleteSpotTender() {\r\n new SpotTenderClientClient(new ApiConfiguration(this.$store))\r\n .deleteSpotTender(this.loadId)\r\n .then(res => {\r\n pushLoadNotification(\"delete-spot\", res);\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new SpotTenderClientClient(new ApiConfiguration(this.$store))\r\n .finishSpotTender(\r\n new FinishSpotTenderDto({\r\n spotTenderPriceRowId: this.selectedId!\r\n })\r\n )\r\n .then(res => {\r\n pushLoadNotification(\"book\", res);\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPreInfo() {\r\n new SpotTenderClientClient(new ApiConfiguration(this.$store))\r\n .preFinishSpotTender(this.loadId)\r\n .then(res => {\r\n this.infoDto = res;\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: res.pickupEarliest,\r\n deliverLatest: res.deliverLatest,\r\n truckType: res.loadTruckType,\r\n transportNo: res.transportNo,\r\n clientName: undefined,\r\n numExtraStops: res.numExtraStops,\r\n numContainers: 0,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n };\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocumentGroups() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .spotTender(this.loadId)\r\n .then(res => {\r\n this.documentGroups = [res];\r\n this.documentGroupId = res.id;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.fetchPreInfo();\r\n this.fetchDocumentGroups();\r\n },\r\n customSort(\r\n items: PreEditSpotTenderPriceDto[],\r\n sortByArr: string[],\r\n sortDescArr: boolean[]\r\n ) {\r\n const sortBy = sortByArr[0];\r\n const sortDesc = sortDescArr[0];\r\n const c = (a: PreEditSpotTenderPriceDto, b: PreEditSpotTenderPriceDto) =>\r\n (sortDesc ? -1 : 1) *\r\n stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n items = items.sort(\r\n (a, b) =>\r\n stringCompare(\r\n a.spotTenderPriceRowId === undefined,\r\n b.spotTenderPriceRowId === undefined\r\n ) || c(a, b)\r\n );\r\n return items;\r\n }\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n infoDto: PreClientEditSpotTenderDto;\r\n documentGroupId: number | undefined;\r\n documentGroups: DocumentGroupDto[];\r\n selectedId: number | undefined;\r\n supplierFilter: string | null;\r\n truckTypeFilter: TruckType[];\r\n load: MultiLoad;\r\n headers: TableHeader[];\r\n } => ({\r\n saveInProgress: false,\r\n infoDto: undefined as any,\r\n documentGroupId: undefined,\r\n documentGroups: [],\r\n selectedId: undefined,\r\n supplierFilter: null,\r\n truckTypeFilter: [],\r\n load: undefined as any,\r\n headers: [\r\n {\r\n value: \"checkbox\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"supplierName\",\r\n text: \"Supplier\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"price\",\r\n text: \"Price\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"bookedPickupDate\",\r\n text: \"BookedPickupDate\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"bookedDeliveryDate\",\r\n text: \"BookedDeliveryDate\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"note\",\r\n text: \"Note\"\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClientEditSpotTenderDialog.vue?vue&type=template&id=1d885c88&scoped=true&\"\nimport script from \"./ClientEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClientEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ClientEditSpotTenderDialog.vue?vue&type=style&index=0&id=1d885c88&scoped=true&lang=css&\"\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 \"1d885c88\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDataTable,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('SpotTender'),\"width\":1200,\"loading\":!_vm.infoDto},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('SpotTender')}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"3\"}},[_c('div',{staticClass:\"tiniest-margin-left\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('SpotTenderEnds'),\"value\":_vm.endDateInfo}})],1)]),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"3\"}},[_c('div',{staticClass:\"tiniest-margin-left\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Client'),\"value\":_vm.infoDto.clientName}})],1)])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"3\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('MessageToSupplier')}})],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Dates')}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"3\"}},[_c('div',{staticClass:\"render-newlines scrollable message-div tiny-padding-sides tiniest-vertical-padding\"},[_vm._v(\" \"+_vm._s(_vm.infoDto.messageToSupplier)+\" \")])]),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"9\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"tiniest-margin-left\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest')},model:{value:(_vm.infoDto.pickupEarliest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"pickupEarliest\", $$v)},expression:\"infoDto.pickupEarliest\"}})],1)]),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLatest')},model:{value:(_vm.infoDto.pickupLatest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"pickupLatest\", $$v)},expression:\"infoDto.pickupLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredPickupDate'),\"readonly\":\"\"},model:{value:(_vm.infoDto.mandatoryBookedPickup),callback:function ($$v) {_vm.$set(_vm.infoDto, \"mandatoryBookedPickup\", $$v)},expression:\"infoDto.mandatoryBookedPickup\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('div',{staticClass:\"tiniest-margin-left\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryEarliest')},model:{value:(_vm.infoDto.deliverEarliest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"deliverEarliest\", $$v)},expression:\"infoDto.deliverEarliest\"}})],1)]),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryLatest')},model:{value:(_vm.infoDto.deliverLatest),callback:function ($$v) {_vm.$set(_vm.infoDto, \"deliverLatest\", $$v)},expression:\"infoDto.deliverLatest\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('RequiredDeliveryDate'),\"readonly\":\"\"},model:{value:(_vm.infoDto.mandatoryBookedDelivery),callback:function ($$v) {_vm.$set(_vm.infoDto, \"mandatoryBookedDelivery\", $$v)},expression:\"infoDto.mandatoryBookedDelivery\"}})],1)],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"small-padding-top no-padding-right\",attrs:{\"cols\":\"3\"}},[_c('GreyTitle',{attrs:{\"text\":((_vm.$t('IndexPrices')) + \" (\" + (_vm.currencyName(_vm.infoDto.currency)) + \")\")}})],1),_c('v-col',{staticClass:\"small-padding-top no-padding-right\",attrs:{\"cols\":\"6\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('AdditionalInformation')}})],1),_c('v-col',{staticClass:\"small-padding-top\",attrs:{\"cols\":\"3\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('TermsOfAgreement')}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"3\"}},[_c('v-simple-table',{attrs:{\"height\":\"170\"}},[_c('table',[_c('thead',[_c('th',{staticClass:\"text-left\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"TruckType\"))+\" \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" \"+_vm._s(((_vm.$t(\"Price\")) + \" (\" + (_vm.currencyName(_vm.infoDto.currency)) + \")\"))+\" \"),_c('InfoTooltip',{attrs:{\"text\":_vm.$t('SpotTenderPriceDesc'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"}})],1)]),_c('tbody',_vm._l((_vm.prices),function(p){return _c('tr',{key:p.truckType,class:{ 'green-row': _vm.priceModified(p) }},[_c('td',{staticStyle:{\"min-width\":\"120px\"}},[_vm._v(\" \"+_vm._s(_vm.truckTypeName(p.truckType))+\" \")]),_c('td',[_c('NumberInput',{attrs:{\"only-on-blur\":\"\",\"compact\":\"\",\"allow-null\":\"\",\"rules\":[function (v) { return !v || (v > 0 && v < 1000000); }]},model:{value:(p.price),callback:function ($$v) {_vm.$set(p, \"price\", $$v)},expression:\"p.price\"}})],1)])}),0)])])],1),_c('v-col',{staticClass:\"small-padding-top no-padding-right\",attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('BookedPickupDate'),\"allow-null\":!_vm.infoDto.mandatoryBookedPickup,\"rules\":_vm.bookedPickupRules,\"zone\":_vm.infoDto.pickupZone,\"with-time\":\"\",\"asterisk\":\"\"},model:{value:(_vm.otherInfo.bookedPickupDate),callback:function ($$v) {_vm.$set(_vm.otherInfo, \"bookedPickupDate\", $$v)},expression:\"otherInfo.bookedPickupDate\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('BookedDeliveryDate'),\"allow-null\":!_vm.infoDto.mandatoryBookedDelivery,\"rules\":_vm.bookedDeliveryRules,\"zone\":_vm.infoDto.deliverZone,\"with-time\":\"\",\"asterisk\":\"\"},model:{value:(_vm.otherInfo.bookedDeliveryDate),callback:function ($$v) {_vm.$set(_vm.otherInfo, \"bookedDeliveryDate\", $$v)},expression:\"otherInfo.bookedDeliveryDate\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('Note'),\"rows\":3,\"rules\":[function (v) { return !v || v.length < 100; }]},model:{value:(_vm.otherInfo.note),callback:function ($$v) {_vm.$set(_vm.otherInfo, \"note\", $$v)},expression:\"otherInfo.note\"}})],1)],1)],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"3\"}},[(_vm.documentGroup)?_c('DocumentTable',{attrs:{\"documentGroup\":_vm.documentGroup,\"compact\":\"\"}}):_vm._e(),_c('div',{staticClass:\"medium-padding-left\",class:{ shake: _vm.validationHints }},[_c('Checkbox',{attrs:{\"label\":_vm.$t('IAcceptTermsOfAgreement'),\"disabled\":!_vm.savePossible},model:{value:(_vm.accept),callback:function ($$v) {_vm.accept=$$v},expression:\"accept\"}})],1)],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.deletePossible)?_c('v-btn',{attrs:{\"loading\":_vm.saveInProgress,\"color\":\"error\"},on:{\"click\":_vm.deletePrices}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"DeletePrice\"))+\" \")],1):_vm._e(),_c('v-spacer'),_c('div',{on:{\"mouseenter\":_vm.showValidationHints}},[(_vm.infoDto)?_c('v-btn',{attrs:{\"loading\":_vm.saveInProgress,\"disabled\":!_vm.savePossible || !_vm.accept,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"19\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Survey_Submit\"))+\" \")],1):_vm._e()],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n DocumentGroupDto,\r\n DocumentsClient,\r\n PreSupplierEditSpotTenderDto,\r\n SpotTenderSupplierClient,\r\n SupplierEditSpotTenderDto,\r\n SupplierEditSpotTenderPriceDto,\r\n TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport DocumentTable from \"@/components/shared/ui/DocumentTable.vue\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { currencyName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { pushLoadNotification } from \"@/scripts/misc/notifications\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode, t } from \"@/scripts/language/i18n\";\r\nimport { errorDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { geq, leq } from \"@/scripts/misc/dateUtils\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\n\r\ninterface SpotTenderPrice {\r\n truckType: TruckType;\r\n price: number | undefined;\r\n originalPrice: number | undefined;\r\n}\r\n\r\ninterface SpotTenderOtherInfo {\r\n bookedPickupDate: CDate | undefined;\r\n originalBookedPickupDate: CDate | undefined;\r\n bookedDeliveryDate: CDate | undefined;\r\n originalBookedDeliveryDate: CDate | undefined;\r\n note: string | undefined;\r\n originalNote: string | undefined;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n ReadOnlyText,\r\n GreyTitle,\r\n LoadChips,\r\n NumberInput,\r\n Checkbox,\r\n DatePicker,\r\n TextMulti,\r\n InfoTooltip,\r\n DocumentTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n cargoType(): CargoType {\r\n return CargoType.Road;\r\n },\r\n deletePossible(): boolean {\r\n return this.prices.some(p => !!p.originalPrice);\r\n },\r\n savePossible(): boolean {\r\n if (!this.infoDto || !this.valid || !this.prices.some(p => !!p.price)) {\r\n return false;\r\n }\r\n return (\r\n this.bookedPickupDateModified ||\r\n this.bookedDeliveryDateModified ||\r\n this.noteModified ||\r\n this.prices.some(p => this.priceModified(p))\r\n );\r\n },\r\n bookedPickupDateModified(): boolean {\r\n if (\r\n !this.otherInfo.bookedPickupDate &&\r\n !this.otherInfo.originalBookedPickupDate\r\n ) {\r\n return false;\r\n }\r\n return (\r\n this.otherInfo.bookedPickupDate !==\r\n this.otherInfo.originalBookedPickupDate\r\n );\r\n },\r\n bookedDeliveryDateModified(): boolean {\r\n if (\r\n !this.otherInfo.bookedDeliveryDate &&\r\n !this.otherInfo.originalBookedDeliveryDate\r\n ) {\r\n return false;\r\n }\r\n return (\r\n this.otherInfo.bookedDeliveryDate !==\r\n this.otherInfo.originalBookedDeliveryDate\r\n );\r\n },\r\n noteModified(): boolean {\r\n if (!this.otherInfo.note && !this.otherInfo.originalNote) {\r\n return false;\r\n }\r\n return this.otherInfo.note !== this.otherInfo.originalNote;\r\n },\r\n endDateInfo(): string {\r\n return CDate.now(\r\n this.$store.getters[gets.userInfo].zone\r\n ).shortDateTimePrintWithTo(this.infoDto.endDate, localeCode());\r\n },\r\n bookedPickupRules(): { (date?: CDate): boolean | string }[] {\r\n return [\r\n geq(this.infoDto.pickupEarliest, \"PickupEarliest\", \"BookedPickupDate\"),\r\n geq(this.infoDto.endDate, \"SpotTenderEnds\", \"BookedPickupDate\"),\r\n leq(this.infoDto.deliverLatest, \"DeliveryLatest\", \"BookedPickupDate\")\r\n ];\r\n },\r\n bookedDeliveryRules(): { (date?: CDate): boolean | string }[] {\r\n return [\r\n geq(\r\n this.infoDto.pickupEarliest,\r\n \"PickupEarliest\",\r\n \"BookedDeliveryDate\"\r\n ),\r\n geq(this.infoDto.endDate, \"SpotTenderEnds\", \"BookedDeliveryDate\"),\r\n leq(this.infoDto.deliverLatest, \"DeliveryLatest\", \"BookedDeliveryDate\")\r\n ];\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n currencyName: currencyName,\r\n money: money,\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n priceModified(p: SpotTenderPrice): boolean {\r\n if (!p.price && !p.originalPrice) {\r\n return false;\r\n }\r\n return p.price !== p.originalPrice;\r\n },\r\n showValidationHints() {\r\n const form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n if (!this.accept) {\r\n this.validationHints = true;\r\n }\r\n },\r\n deletePrices() {\r\n popupDialog({\r\n title: t(\"DeletePrice\"),\r\n body: t(\"SpotTenderDeletePriceText\"),\r\n btnText1: t(\"DeletePrice\"),\r\n btnColor1: \"error\",\r\n btnCallback1: this.actuallyDeletePrice\r\n });\r\n },\r\n actuallyDeletePrice() {\r\n this.prices.map(p => (p.price = undefined));\r\n this.actuallySave();\r\n },\r\n save() {\r\n if (this.otherInfo.bookedDeliveryDate! > this.load.deliverLatest) {\r\n popupDialog({\r\n title: t(\"BookedDeliveryDate\"),\r\n body: t(\"ConfirmDateErrorDelivery\"),\r\n btnText1: \"OK\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.actuallySave();\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n } else {\r\n this.actuallySave();\r\n }\r\n },\r\n actuallySave() {\r\n this.saveInProgress = true;\r\n new SpotTenderSupplierClient(new ApiConfiguration(this.$store))\r\n .editSpotTender(\r\n new SupplierEditSpotTenderDto({\r\n loadId: this.loadId,\r\n bookedPickupDate: this.otherInfo.bookedPickupDate,\r\n bookedDeliveryDate: this.otherInfo.bookedDeliveryDate,\r\n note: this.otherInfo.note,\r\n prices: this.prices\r\n .filter(p => !!p.price)\r\n .map(\r\n p =>\r\n new SupplierEditSpotTenderPriceDto({\r\n price: p.price!,\r\n truckType: p.truckType\r\n })\r\n )\r\n })\r\n )\r\n .then(res => {\r\n pushLoadNotification(\"supplier-spot\", res);\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n fetchPreInfo() {\r\n new SpotTenderSupplierClient(new ApiConfiguration(this.$store))\r\n .preEditSpotTender(this.loadId)\r\n .then(res => {\r\n this.infoDto = res;\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: res.pickupEarliest,\r\n deliverLatest: res.deliverLatest,\r\n truckType: undefined,\r\n transportNo: undefined,\r\n clientName: undefined,\r\n numExtraStops: res.numExtraStops,\r\n numContainers: 0,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n };\r\n this.prices = this.infoDto.prices!.map(p => ({\r\n truckType: p.truckType,\r\n price: p.price,\r\n originalPrice: p.price\r\n }));\r\n this.prices.push(\r\n ...this.infoDto\r\n .truckTypes!.filter(\r\n tt => !this.prices.some(p => p.truckType === tt)\r\n )\r\n .map(tt => ({\r\n truckType: tt,\r\n price: undefined,\r\n originalPrice: undefined\r\n }))\r\n );\r\n const bookedPickupDate = res.prices!.length\r\n ? res.prices![0].bookedPickupDate\r\n : undefined;\r\n const bookedDeliveryDate = res.prices!.length\r\n ? res.prices![0].bookedDeliveryDate\r\n : undefined;\r\n const note = res.prices!.length ? res.prices![0].note : undefined;\r\n this.otherInfo = {\r\n bookedPickupDate: bookedPickupDate,\r\n originalBookedPickupDate: bookedPickupDate,\r\n bookedDeliveryDate: bookedDeliveryDate,\r\n originalBookedDeliveryDate: bookedDeliveryDate,\r\n note: note,\r\n originalNote: note\r\n };\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocumentGroups() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .spotTender(this.loadId)\r\n .then(res => {\r\n this.documentGroup = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.fetchPreInfo();\r\n this.fetchDocumentGroups();\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n accept: boolean;\r\n validationHints: boolean;\r\n saveInProgress: boolean;\r\n documentGroup: DocumentGroupDto | undefined;\r\n infoDto: PreSupplierEditSpotTenderDto;\r\n load: MultiLoad;\r\n prices: SpotTenderPrice[];\r\n otherInfo: SpotTenderOtherInfo;\r\n } => ({\r\n valid: false,\r\n accept: false,\r\n validationHints: false,\r\n saveInProgress: false,\r\n documentGroup: undefined,\r\n infoDto: undefined as any,\r\n load: undefined as any,\r\n prices: [],\r\n otherInfo: undefined as any\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupplierEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupplierEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SupplierEditSpotTenderDialog.vue?vue&type=template&id=de144f92&scoped=true&\"\nimport script from \"./SupplierEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./SupplierEditSpotTenderDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SupplierEditSpotTenderDialog.vue?vue&type=style&index=0&id=de144f92&scoped=true&lang=css&\"\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 \"de144f92\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('ResignLoads'),\"loading\":_vm.loads.length === 0,\"width\":_vm.multi ? 850 : 450},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.multi)?{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadIds[0],\"actionId\":_vm.actionId}})]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-row',[(_vm.multi)?_c('v-col',{staticClass:\"no-padding-bottom small-padding-top background-pale\",attrs:{\"cols\":\"6\"}},[_c('LoadDialogMultiTable',{attrs:{\"loads\":_vm.loads,\"selectedLoadId\":_vm.selectedLoadId,\"actionId\":_vm.actionId,\"loading\":_vm.saveInProgress},on:{\"click\":function (id) { return (_vm.selectedLoadId = id); }}})],1):_vm._e(),_vm._l((_vm.loads.filter(function (l) { return l.loadId === _vm.selectedLoadId; })),function(load){return _c('v-col',{key:load.loadId,staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.multi ? 6 : 12}},[_c('v-form',{ref:\"form\",refInFor:true,model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('LoadChips',{attrs:{\"load\":load}}),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(_vm._s(_vm.$t(\"PickupEarliest\")))])]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(_vm._s(_vm.$t(\"Client\")))])]),_c('v-col',{staticClass:\"no-padding-top tiny-padding-bottom blackish-text\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(\" \"+_vm._s(load.pickupEarliest)+\" \")])]),_c('v-col',{staticClass:\"no-padding-top tiny-padding-bottom blackish-text\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(\" \"+_vm._s(load.clientName)+\" \")])]),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ResignDesc'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.description),callback:function ($$v) {_vm.description=$$v},expression:\"description\"}})],1)],1)],1)],1)})],2)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.valid},on:{\"click\":_vm.resign}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Resign\"))+\" \")])]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadActionPermission,\r\n LoadsSupplierClient,\r\n ResignLoadDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport LoadDialogMultiTable from \"@/components/web/loads/shared/LoadDialogMultiTable.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle,\r\n LoadLock,\r\n LoadChips,\r\n LoadDialogMultiTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n },\r\n valid() {\r\n this.loads.map(l => (l.valid = this.valid));\r\n }\r\n },\r\n computed: {\r\n multi(): boolean {\r\n return this.loadIds.length > 1;\r\n }\r\n },\r\n methods: {\r\n async resign() {\r\n this.saveInProgress = true;\r\n let saveOk = true;\r\n for (const loadId of this.loadIds) {\r\n const saveDto = new ResignLoadDto({\r\n loadId: loadId,\r\n description: this.description\r\n });\r\n await new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .resign(saveDto)\r\n .then(() => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = true;\r\n })\r\n .catch(error => {\r\n this.loads.find(l => l.loadId === saveDto.loadId)!.saved = false;\r\n saveOk = false;\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n if (saveOk) {\r\n this.close();\r\n }\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .preResignDetails(this.loadIds)\r\n .then(res => {\r\n this.loads = res.map(x => ({\r\n loadId: x.loadId,\r\n routeName: x.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: x.pickupEarliest,\r\n deliverLatest: x.deliverLatest,\r\n truckType: x.truckType,\r\n transportNo: undefined,\r\n clientName: x.clientName!,\r\n numExtraStops: x.numExtraStops,\r\n numContainers: x.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n }));\r\n this.selectedLoadId = this.loads[0].loadId;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n loads: MultiLoad[];\r\n selectedLoadId: number | undefined;\r\n description: string;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n loads: [],\r\n selectedLoadId: undefined,\r\n description: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadResignDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadResignDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadResignDialog.vue?vue&type=template&id=e5b350a6&\"\nimport script from \"./LoadResignDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadResignDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Edit'),\"loading\":_vm.load === undefined,\"width\":800},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},(_vm.saveDto)?{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('DatePickerHolder',{attrs:{\"text1\":_vm.$t('PickupEarliest'),\"text2\":_vm.$t('PickupLatest'),\"date1\":_vm.pickupEarliest,\"date2\":_vm.pickupLatest}},[[_c('DatePicker',{attrs:{\"label\":_vm.$t('BookedPickupDate'),\"with-time\":\"\",\"gteDates\":[_vm.pickupEarliest],\"gteNow\":_vm.bookedPickupDateEnabled || _vm.bookedPickupTimeEnabled,\"invalidText\":_vm.$t('RequiredPickupDate'),\"allow-null\":!_vm.mandatoryBookedPickupDate,\"disabled\":!_vm.bookedPickupDateEnabled,\"timeEnabledAnyway\":_vm.bookedPickupTimeEnabled,\"zone\":_vm.pickupZone,\"asterisk\":\"\"},model:{value:(_vm.saveDto.bookedPickupDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedPickupDate\", $$v)},expression:\"saveDto.bookedPickupDate\"}})]],2)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('DatePickerHolder',{attrs:{\"text1\":_vm.$t('DeliveryEarliest'),\"text2\":_vm.$t('DeliveryLatest'),\"date1\":_vm.deliveryEarliest,\"date2\":_vm.deliveryLatest}},[[_c('DatePicker',{attrs:{\"label\":_vm.$t('BookedDeliveryDate'),\"with-time\":\"\",\"gteDates\":[_vm.pickupEarliest, _vm.saveDto.bookedPickupDate],\"gteNow\":!_vm.alreadyHadBookedDelivery,\"invalidText\":_vm.$t('BookedDeliveryRequired'),\"allow-null\":!_vm.mandatoryBookedDeliveryDate,\"disabled\":!_vm.bookedDeliveryDateEnabled,\"timeEnabledAnyway\":_vm.bookedDeliveryTimeEnabled,\"zone\":_vm.deliveryZone,\"asterisk\":\"\"},model:{value:(_vm.saveDto.bookedDeliveryDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedDeliveryDate\", $$v)},expression:\"saveDto.bookedDeliveryDate\"}})]],2)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('BookedPickupInfo'),\"rows\":3},model:{value:(_vm.saveDto.bookedPickupInfo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedPickupInfo\", $$v)},expression:\"saveDto.bookedPickupInfo\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('BookedDeliveryInfo'),\"rows\":3},model:{value:(_vm.saveDto.bookedDeliveryInfo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookedDeliveryInfo\", $$v)},expression:\"saveDto.bookedDeliveryInfo\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BookingNo'),\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.saveDto.bookingNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookingNo\", $$v)},expression:\"saveDto.bookingNo\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TruckNo'),\"disabled\":!_vm.regNoEnabled,\"rules\":[function (v) { return !v || v.length <= 20 || _vm.tooLongText; }]},model:{value:(_vm.saveDto.regNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"regNo\", $$v)},expression:\"saveDto.regNo\"}})],1)],1),(_vm.customsInfo)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('CustomsInfo')}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('BorderPassage'),\"items\":_vm.customsPassages},model:{value:(_vm.customsInfo.passageId),callback:function ($$v) {_vm.$set(_vm.customsInfo, \"passageId\", $$v)},expression:\"customsInfo.passageId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('CrossingDate'),\"zone\":_vm.actorZone,\"with-time\":\"\",\"allow-null\":\"\"},model:{value:(_vm.customsInfo.passageDate),callback:function ($$v) {_vm.$set(_vm.customsInfo, \"passageDate\", $$v)},expression:\"customsInfo.passageDate\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('TruckCountry'),\"items\":_vm.countries},model:{value:(_vm.customsInfo.truckCountry),callback:function ($$v) {_vm.$set(_vm.customsInfo, \"truckCountry\", $$v)},expression:\"customsInfo.truckCountry\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":((_vm.$t('PhoneNumber')) + \" (\" + (_vm.$t('Driver')) + \")\"),\"rules\":[function (v) { return !v || v.length <= 20 || _vm.tooLongText; }]},model:{value:(_vm.customsInfo.driverPhone),callback:function ($$v) {_vm.$set(_vm.customsInfo, \"driverPhone\", $$v)},expression:\"customsInfo.driverPhone\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":_vm.mobile ? 12 : 6}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('PermitNumber'),\"rules\":[function (v) { return !v || v.length <= 40 || _vm.tooLongText; }]},model:{value:(_vm.customsInfo.permitNo),callback:function ($$v) {_vm.$set(_vm.customsInfo, \"permitNo\", $$v)},expression:\"customsInfo.permitNo\"}})],1)],1):_vm._e()],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"loading\":_vm.editInProgress,\"disabled\":!_vm.valid},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport {\r\n ApiConfiguration,\r\n CustomsInfoDto,\r\n LoadActionPermission,\r\n LoadsSupplierClient,\r\n LoadSupplierEditDto,\r\n RepositoryClient,\r\n RepositoryDto,\r\n TimeZone,\r\n TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DatePickerHolder from \"@/components/shared/ui/DatePickerHolder.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { isoName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DatePickerHolder,\r\n DialogCard,\r\n TextMulti,\r\n TextSingle,\r\n Autocomplete,\r\n DatePicker,\r\n LoadLock,\r\n LoadChips,\r\n GreyTitle\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n mobile() {\r\n return Auth.browsingMobile();\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n tooLongText(): string {\r\n return t(\"MaxXCharacters\").replace(\"{0}\", \"20\");\r\n },\r\n anyCustomsInfo(): boolean {\r\n if (!this.customsInfo) {\r\n return false;\r\n }\r\n return (\r\n !!this.customsInfo.passageId ||\r\n !!this.customsInfo.passageDate ||\r\n !!this.customsInfo.truckCountry ||\r\n !!this.customsInfo.driverPhone ||\r\n !!this.customsInfo.permitNo\r\n );\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n pickupZone(): TimeZone {\r\n return this.load?.pickupZone!;\r\n },\r\n deliveryZone(): TimeZone {\r\n return this.load?.deliverZone!;\r\n }\r\n },\r\n methods: {\r\n save() {\r\n const pickupLatest = this.pickupLatest;\r\n const deliveryLatest = this.deliveryLatest;\r\n const midnight = \"00:00:00.000\";\r\n\r\n const pickupLatestValidDate =\r\n pickupLatest && pickupLatest.longTimePrint() === midnight\r\n ? pickupLatest.endOfDay()\r\n : pickupLatest;\r\n\r\n const deliveryLatestValidDate =\r\n deliveryLatest && deliveryLatest.longTimePrint() === midnight\r\n ? deliveryLatest.endOfDay()\r\n : deliveryLatest;\r\n\r\n const deliverDateInvalid =\r\n deliveryLatestValidDate &&\r\n this.saveDto!.bookedDeliveryDate! > deliveryLatestValidDate;\r\n\r\n const pickupDateInvalid =\r\n pickupLatestValidDate &&\r\n this.saveDto!.bookedPickupDate! > pickupLatestValidDate;\r\n\r\n let bodyText = \"\";\r\n bodyText = deliverDateInvalid ? t(\"ConfirmDateErrorDelivery\") : \"\";\r\n bodyText += deliverDateInvalid && pickupDateInvalid ? \"\\n\\n\" : \"\";\r\n bodyText += pickupDateInvalid ? t(\"ConfirmDateErrorBooking\") : \"\";\r\n\r\n if (deliverDateInvalid || pickupDateInvalid) {\r\n popupDialog({\r\n title: t(\"BookedPickupDate\"),\r\n body: bodyText,\r\n btnText1: \"OK\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.actuallySave();\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n } else {\r\n this.actuallySave();\r\n }\r\n },\r\n actuallySave() {\r\n this.editInProgress = true;\r\n if (this.customsInfo) {\r\n this.saveDto!.customsInfo = this.customsInfo;\r\n }\r\n new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .editLoad(this.saveDto!)\r\n .then(() => {\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n fetchPreEdit() {\r\n new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .preEditLoadDetails(this.loadId)\r\n .then(res => {\r\n this.saveDto = new LoadSupplierEditDto({\r\n loadId: this.loadId,\r\n bookedPickupDate: res.bookedPickupDate,\r\n bookedDeliveryDate: res.bookedDeliveryDate,\r\n bookedPickupInfo: res.bookedPickupInfo,\r\n bookedDeliveryInfo: res.bookedDeliveryInfo,\r\n bookingNo: res.bookingNo,\r\n regNo: res.regNo,\r\n customsInfo: undefined\r\n });\r\n this.routeName = res.routeName;\r\n this.truckType = res.truckType;\r\n this.transportNo = res.transportNo;\r\n this.pickupEarliest = res.pickupEarliest;\r\n this.pickupLatest = res.pickupLatest;\r\n this.deliveryEarliest = res.deliveryEarliest;\r\n this.deliveryLatest = res.deliveryLatest;\r\n this.mandatoryBookedPickupDate = res.mandatoryBookedPickupDate;\r\n this.mandatoryBookedDeliveryDate = res.mandatoryBookedDeliveryDate;\r\n this.bookedPickupDateEnabled = res.bookedPickupDateEnabled;\r\n this.bookedDeliveryDateEnabled = res.bookedDeliveryDateEnabled;\r\n this.bookedPickupTimeEnabled = res.bookedPickupTimeEnabled;\r\n this.bookedDeliveryTimeEnabled = res.bookedDeliveryTimeEnabled;\r\n this.alreadyHadBookedDelivery = res.bookedDeliveryDate !== undefined;\r\n this.regNoEnabled = res.regNoEnabled;\r\n\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupZone: res.pickupZone,\r\n deliverZone: res.deliverZone,\r\n pickupEarliest: res.pickupEarliest,\r\n deliverLatest: res.deliveryLatest,\r\n truckType: res.truckType,\r\n transportNo: res.transportNo,\r\n clientName: undefined,\r\n numExtraStops: res.numExtraStops,\r\n numContainers: res.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: res.customsInfoRequired\r\n };\r\n\r\n if (res.customsInfoRequired) {\r\n this.customsInfo = new CustomsInfoDto({\r\n passageId: res.customsInfo\r\n ? res.customsInfo.passageId\r\n : (undefined as any),\r\n passageDate: res.customsInfo\r\n ? res.customsInfo.passageDate\r\n : (undefined as any),\r\n truckCountry: res.customsInfo\r\n ? res.customsInfo.truckCountry\r\n : (undefined as any),\r\n driverPhone: res.customsInfo\r\n ? res.customsInfo.driverPhone\r\n : undefined,\r\n permitNo: res.customsInfo ? res.customsInfo.permitNo : undefined\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPassages() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .customsPassages()\r\n .then(res => {\r\n this.customsPassages = res.map(\r\n r =>\r\n new RepositoryDto({\r\n id: r.id,\r\n text: `${r.name} (${isoName(r.country)})`\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n this.editInProgress = false;\r\n this.fetchPreEdit();\r\n this.fetchCountries();\r\n this.fetchPassages();\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n load: MultiLoad | undefined;\r\n editInProgress: boolean;\r\n saveDto?: LoadSupplierEditDto;\r\n routeName?: string;\r\n truckType?: TruckType;\r\n transportNo?: string;\r\n pickupEarliest?: CDate;\r\n pickupLatest?: CDate;\r\n deliveryEarliest?: CDate;\r\n deliveryLatest?: CDate;\r\n mandatoryBookedPickupDate: boolean;\r\n mandatoryBookedDeliveryDate: boolean;\r\n bookedPickupDateEnabled: boolean;\r\n bookedDeliveryDateEnabled: boolean;\r\n bookedPickupTimeEnabled: boolean;\r\n bookedDeliveryTimeEnabled: boolean;\r\n alreadyHadBookedDelivery: boolean;\r\n regNoEnabled: boolean;\r\n customsInfo: CustomsInfoDto | undefined;\r\n customsPassages: RepositoryDto[];\r\n countries: RepositoryDto[];\r\n } => ({\r\n valid: false,\r\n load: undefined,\r\n editInProgress: false,\r\n saveDto: undefined,\r\n routeName: undefined,\r\n truckType: undefined,\r\n transportNo: undefined,\r\n pickupEarliest: undefined,\r\n pickupLatest: undefined,\r\n deliveryEarliest: undefined,\r\n deliveryLatest: undefined,\r\n mandatoryBookedPickupDate: true,\r\n mandatoryBookedDeliveryDate: true,\r\n bookedPickupDateEnabled: true,\r\n bookedDeliveryDateEnabled: false,\r\n bookedPickupTimeEnabled: true,\r\n bookedDeliveryTimeEnabled: false,\r\n alreadyHadBookedDelivery: false,\r\n regNoEnabled: false,\r\n customsInfo: undefined,\r\n customsPassages: [],\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSupplierEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSupplierEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadSupplierEditDialog.vue?vue&type=template&id=57ac0a6d&\"\nimport script from \"./LoadSupplierEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadSupplierEditDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":_vm.loading,\"full-height\":\"\",\"no-padding-bottom\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([(_vm.baseValues && _vm.shippingInfo && _vm.dates)?{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",staticClass:\"full-height\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{staticClass:\"full-height\"},[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('MobileBaseValues',{attrs:{\"values\":_vm.baseValues,\"ordered\":_vm.loadStatus === _vm.ordered}}),_c('MobileDates',{attrs:{\"values\":_vm.dates}}),(_vm.loadStatus !== _vm.ordered)?_c('MobileEventDates',{attrs:{\"values\":_vm.dates}}):_vm._e(),_c('MobileShippingInfo',{attrs:{\"values\":_vm.shippingInfo,\"content\":_vm.content,\"ordered\":_vm.loadStatus === _vm.ordered,\"loadId\":_vm.loadId}}),(_vm.subLocations)?_c('MobileSubLocations',{attrs:{\"agreementRouteId\":_vm.baseValues.agreementRouteId,\"subLocations\":_vm.subLocations,\"cargoType\":_vm.baseValues.cargoType,\"agreementDate\":_vm.dates.pickupEarliest}}):_vm._e(),_c('MobileContainerInfo',{attrs:{\"cargoType\":_vm.baseValues.cargoType,\"terminalName\":_vm.shippingInfo.terminalName,\"blNo\":_vm.shippingInfo.blNo,\"containers\":_vm.shippingInfo.containerCount}}),_c('MobileMachineTransportInfo',{attrs:{\"cargoType\":_vm.baseValues.cargoType,\"escortCarPrice\":_vm.shippingInfo.escortCarPrice,\"vtlPrice\":_vm.shippingInfo.vtlPrice}})],1)],1)],1)]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom no-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('GeneralValues')}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AgreementRoute'),\"value\":_vm.values.agreementRoute,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLocation'),\"value\":_vm.values.pickupLocation}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupAddress'),\"value\":_vm.values.pickupAddress,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupInformation'),\"value\":_vm.values.pickupInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryLocation'),\"value\":_vm.values.deliveryLocation}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryAddress'),\"clickable\":\"\",\"value\":_vm.values.deliveryAddress}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DestinationInformation'),\"value\":_vm.values.deliveryInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('Distance')) + \" (km)\"),\"value\":_vm.values.distance}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Emission'),\"value\":_vm.values.emission}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckType'),\"value\":_vm.truckTypeName(_vm.values.truckType)}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.priceText + ' (' + _vm.values.currencyName + ')',\"value\":_vm.values.invoicePrice}})],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\r\nimport Vue from \"vue\";\r\nimport { LoadDetailsBaseValuesDto } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsBaseValuesDto,\r\n ordered: Boolean\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n },\r\n computed: {\r\n priceText(): String {\r\n if (this.ordered) {\r\n return t(\"JustPreliminaryPrice\").toString();\r\n } else {\r\n return t(\"Price\").toString();\r\n }\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileBaseValues.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileBaseValues.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileBaseValues.vue?vue&type=template&id=63985963&\"\nimport script from \"./MobileBaseValues.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileBaseValues.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom no-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('Dates')}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('RegDate'),\"value\":_vm.values.regDate}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingDate'),\"value\":_vm.values.bookingDate}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.values.pickupEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLatest'),\"value\":_vm.values.pickupLatest}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"value\":_vm.values.deliverEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryLatest'),\"value\":_vm.values.deliverLatest}})],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { LoadDetailsDatesDto } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsDatesDto\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileDates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileDates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileDates.vue?vue&type=template&id=49d7d6be&\"\nimport script from \"./MobileDates.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileDates.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom no-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ShippingInformation')}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Client')},model:{value:(_vm.values.clientName),callback:function ($$v) {_vm.$set(_vm.values, \"clientName\", $$v)},expression:\"values.clientName\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Supplier')},model:{value:(_vm.values.supplierName),callback:function ($$v) {_vm.$set(_vm.values, \"supplierName\", $$v)},expression:\"values.supplierName\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Ranking')},model:{value:(_vm.ranking),callback:function ($$v) {_vm.ranking=$$v},expression:\"ranking\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Customer')},model:{value:(_vm.values.customerName),callback:function ($$v) {_vm.$set(_vm.values, \"customerName\", $$v)},expression:\"values.customerName\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Unit')},model:{value:(_vm.values.unit),callback:function ($$v) {_vm.$set(_vm.values, \"unit\", $$v)},expression:\"values.unit\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckNo')},model:{value:(_vm.values.truckNo),callback:function ($$v) {_vm.$set(_vm.values, \"truckNo\", $$v)},expression:\"values.truckNo\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('ConsignmentNote')},model:{value:(_vm.values.consignmentNote),callback:function ($$v) {_vm.$set(_vm.values, \"consignmentNote\", $$v)},expression:\"values.consignmentNote\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadID'),\"value\":_vm.loadId}})],1),(!_vm.ordered)?_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TransportNo')},model:{value:(_vm.values.transportNo),callback:function ($$v) {_vm.$set(_vm.values, \"transportNo\", $$v)},expression:\"values.transportNo\"}})],1):_vm._e(),_c('v-col',{class:_vm.ordered ? 'no-padding-left' : 'small-padding-left',attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingNo')},model:{value:(_vm.values.bookingNo),callback:function ($$v) {_vm.$set(_vm.values, \"bookingNo\", $$v)},expression:\"values.bookingNo\"}})],1),_c('v-col',{class:_vm.ordered ? 'small-padding-left' : 'no-padding-left',attrs:{\"cols\":_vm.ordered ? '12' : '6'}},[_c('ReadOnlyText',{attrs:{\"clickable\":\"\",\"label\":_vm.$t('ContentInformation')},model:{value:(_vm.content.contentInfo),callback:function ($$v) {_vm.$set(_vm.content, \"contentInfo\", $$v)},expression:\"content.contentInfo\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Note'),\"clickable\":true},model:{value:(_vm.values.note),callback:function ($$v) {_vm.$set(_vm.values, \"note\", $$v)},expression:\"values.note\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n LoadDetailsContentDto,\r\n LoadDetailsShippingInfoDto\r\n} from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsShippingInfoDto,\r\n loadId: Number,\r\n ordered: Boolean,\r\n content: LoadDetailsContentDto\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n },\r\n computed: {\r\n ranking(): string {\r\n return this.values.ranking === 0 ? \"\" : this.values.ranking.toString();\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileShippingInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileShippingInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileShippingInfo.vue?vue&type=template&id=dba0bd5c&\"\nimport script from \"./MobileShippingInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileShippingInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom no-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('EventDates')}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Loaded'),\"value\":_vm.values.loaded}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedPickupDate'),\"value\":_vm.values.bookedPickup}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Delivered'),\"value\":_vm.values.delivered}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedDeliveryDate'),\"value\":_vm.values.bookedDelivery}})],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { LoadDetailsDatesDto } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n values: LoadDetailsDatesDto\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileEventDates.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileEventDates.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileEventDates.vue?vue&type=template&id=64330cdb&\"\nimport script from \"./MobileEventDates.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileEventDates.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom no-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ContainerInformation')}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Terminal')},model:{value:(_vm.terminalName),callback:function ($$v) {_vm.terminalName=$$v},expression:\"terminalName\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BLNo')},model:{value:(_vm.blNo),callback:function ($$v) {_vm.blNo=$$v},expression:\"blNo\"}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NumberOfContainers')},model:{value:(_vm.containers),callback:function ($$v) {_vm.containers=$$v},expression:\"containers\"}})],1)],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\r\nimport Vue from \"vue\";\r\nimport { CargoType } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n terminalName: String,\r\n blNo: String,\r\n cargoType: Number as () => CargoType,\r\n containers: Number\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n },\r\n computed: {\r\n visible(): boolean {\r\n return this.cargoType === CargoType.Container;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileContainerInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileContainerInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileContainerInfo.vue?vue&type=template&id=ac5c19e2&\"\nimport script from \"./MobileContainerInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileContainerInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.visible)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top medium-padding-bottom no-padding-left\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('MachineTransport')}})],1),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('EscortCarPriceKM')},model:{value:(_vm.escortCarPrice),callback:function ($$v) {_vm.escortCarPrice=$$v},expression:\"escortCarPrice\"}})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('VTLPrice')},model:{value:(_vm.vtlPrice),callback:function ($$v) {_vm.vtlPrice=$$v},expression:\"vtlPrice\"}})],1)],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\r\nimport Vue from \"vue\";\r\nimport { CargoType } from \"@/scripts/cld.api\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n escortCarPrice: Number,\r\n vtlPrice: Number,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n ReadOnlyText,\r\n GreyTitle\r\n },\r\n computed: {\r\n visible(): boolean {\r\n return this.cargoType === CargoType.MachineTransport;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileMachineTransportInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileMachineTransportInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileMachineTransportInfo.vue?vue&type=template&id=abed3ad8&\"\nimport script from \"./MobileMachineTransportInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileMachineTransportInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('div',{staticClass:\"medium-padding-right\"},[((_vm.subLocations.subPickupLocations || []).length > 0)?_c('AccordionSubLocationsTable',{attrs:{\"pickup\":true,\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.subLocations.subPickupLocations,\"short-version\":\"\"}}):_vm._e(),((_vm.subLocations.subDeliveryLocations || []).length > 0)?_c('AccordionSubLocationsTable',{attrs:{\"pickup\":false,\"agreementRouteId\":_vm.agreementRouteId,\"cargoType\":_vm.cargoType,\"agreementDate\":_vm.agreementDate,\"subLocations\":_vm.subLocations.subDeliveryLocations,\"short-version\":\"\"}}):_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\r\nimport { LoadClientEditSubLocations, CargoType } from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport AccordionSubLocationsTable from \"@/components/web/loads/client/accordion/AccordionSubLocationsTable.vue\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n props: {\r\n agreementRouteId: Number,\r\n cargoType: Number as () => CargoType,\r\n agreementDate: Object as () => CDate,\r\n subLocations: Object as () => LoadClientEditSubLocations\r\n },\r\n components: {\r\n AccordionSubLocationsTable\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSubLocations.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSubLocations.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileSubLocations.vue?vue&type=template&id=11619238&\"\nimport script from \"./MobileSubLocations.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileSubLocations.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport MobileBaseValues from \"@/components/mobile/details/MobileBaseValues.vue\";\r\nimport MobileDates from \"@/components/mobile/details/MobileDates.vue\";\r\nimport MobileShippingInfo from \"@/components/mobile/details/MobileShippingInfo.vue\";\r\nimport MobileEventDates from \"@/components/mobile/details/MobileEventDates.vue\";\r\nimport MobileContainerInfo from \"@/components/mobile/details/MobileContainerInfo.vue\";\r\nimport MobileMachineTransportInfo from \"@/components/mobile/details/MobileMachineTransportInfo.vue\";\r\nimport MobileSubLocations from \"@/components/mobile/details/MobileSubLocations.vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadClientEditSubLocations,\r\n LoadDetailsBaseValuesDto,\r\n LoadDetailsContentDto,\r\n LoadDetailsDatesDto,\r\n LoadDetailsShippingInfoDto,\r\n LoadsClient,\r\n LoadStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { loadStatusName } from \"@/scripts/misc/enumNames\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n MobileBaseValues,\r\n MobileDates,\r\n MobileEventDates,\r\n MobileShippingInfo,\r\n MobileContainerInfo,\r\n MobileMachineTransportInfo,\r\n MobileSubLocations\r\n },\r\n props: {\r\n loadIds: Array as () => number[],\r\n dialog: Boolean\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n if (this.loadStatus) {\r\n return `${this.$t(\"Details\")} - ${loadStatusName(this.loadStatus)}`;\r\n }\r\n return `${this.$t(\"Details\")}`;\r\n },\r\n ordered(): LoadStatus {\r\n return LoadStatus.Ordered;\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.loading = true;\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .details(this.loadId)\r\n .then(res => {\r\n this.baseValues = res.baseValues;\r\n this.dates = res.dates;\r\n this.shippingInfo = res.shippingInfo;\r\n this.loadStatus = res.loadStatus;\r\n this.content = res.content;\r\n this.loading = false;\r\n })\r\n .then(() => {\r\n this.fetchSubLocations();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n fetchSubLocations() {\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .sublocations(this.loadId)\r\n .then(res => {\r\n this.subLocations = res;\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n baseValues: LoadDetailsBaseValuesDto | undefined;\r\n dates: LoadDetailsDatesDto | undefined;\r\n shippingInfo: LoadDetailsShippingInfoDto | undefined;\r\n loading: boolean;\r\n content: LoadDetailsContentDto | undefined;\r\n loadStatus?: LoadStatus;\r\n valid: boolean;\r\n subLocations?: LoadClientEditSubLocations;\r\n } => ({\r\n baseValues: undefined,\r\n dates: undefined,\r\n shippingInfo: undefined,\r\n content: undefined,\r\n loading: true,\r\n loadStatus: undefined,\r\n valid: false,\r\n subLocations: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileLoadDetails.vue?vue&type=template&id=d01813d4&\"\nimport script from \"./MobileLoadDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileLoadDetails.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VForm,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('DeviationHandling'),\"loading\":_vm.load === undefined,\"width\":700},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},(_vm.saveDto)?{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('LoadChips',{attrs:{\"load\":_vm.load}}),_c('v-row',[_c('v-col',{staticClass:\"medium-padding-top no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"PriceAccordingToAgreement\"))+\": \")]),_c('span',{staticStyle:{\"font-style\":\"italic\"}},[_vm._v(_vm._s(_vm.supplierAndPrice)+\" \"+_vm._s(_vm.currencyName(_vm.currency)))])])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('OtherPrice') + \" (\" + (_vm.currencyName(_vm.currency)) + \")\",\"rules\":[function (v) { return !!v && (!v || v <= 200000); }],\"allow-null\":\"\"},model:{value:(_vm.otherPrice),callback:function ($$v) {_vm.otherPrice=$$v},expression:\"otherPrice\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"items\":_vm.otherPriceCauses,\"label\":_vm.$t('OtherPriceCause'),\"rules\":[function (v) { return !!v; }],\"disabled\":!_vm.saveDto.otherPrice,\"clearable\":\"\"},model:{value:(_vm.saveDto.otherPriceCauseId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"otherPriceCauseId\", $$v)},expression:\"saveDto.otherPriceCauseId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"items\":_vm.deviationCauses,\"label\":_vm.$t('DeviationCause'),\"rules\":[function (v) { return _vm.deviationCauseDisabled || !!v; }],\"disabled\":_vm.deviationCauseDisabled,\"asterisk\":!_vm.deviationCauseDisabled},model:{value:(_vm.saveDto.deviationCauseId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"deviationCauseId\", $$v)},expression:\"saveDto.deviationCauseId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('OtherPriceDesc'),\"disabled\":!_vm.saveDto.otherPrice},model:{value:(_vm.saveDto.noteOtherPrice),callback:function ($$v) {_vm.$set(_vm.saveDto, \"noteOtherPrice\", $$v)},expression:\"saveDto.noteOtherPrice\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('DeviationCauseDesc'),\"disabled\":_vm.deviationCauseDisabled},model:{value:(_vm.saveDto.noteDeviation),callback:function ($$v) {_vm.$set(_vm.saveDto, \"noteDeviation\", $$v)},expression:\"saveDto.noteDeviation\"}})],1)],1)],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"disabled\":!_vm.valid,\"loading\":_vm.saveInProgress},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadChips from \"@/components/web/loads/shared/LoadChips.vue\";\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n Currency,\r\n LoadActionPermission,\r\n LoadsClientClient,\r\n RepositoryDto,\r\n SaveDeviationDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { MultiLoad } from \"@/scripts/types\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { deviationCauses, otherPriceCauses } from \"@/scripts/misc/enumLists\";\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Dropdown,\r\n TextMulti,\r\n NumberInput,\r\n LoadLock,\r\n LoadChips\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n },\r\n \"saveDto.otherPrice\"() {\r\n if (!this.saveDto!.otherPrice) {\r\n this.saveDto!.otherPriceCauseId = undefined;\r\n this.saveDto!.noteOtherPrice = undefined;\r\n }\r\n }\r\n },\r\n computed: {\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n otherPrice: {\r\n get(): number | undefined {\r\n return this.saveDto!.otherPrice;\r\n },\r\n set(val: number) {\r\n this.saveDto!.otherPrice = val;\r\n this.otherPriceCauseDisabled = !val;\r\n this.validateForm();\r\n }\r\n },\r\n otherPriceCauses(): RepositoryDto[] {\r\n return otherPriceCauses();\r\n },\r\n deviationCauses(): RepositoryDto[] {\r\n return deviationCauses();\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n init() {\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .preDeviation(this.loadId)\r\n .then(res => {\r\n this.saveDto = new SaveDeviationDto({\r\n otherPrice: res.otherPrice,\r\n otherPriceCauseId: res.otherPriceCauseId,\r\n deviationCauseId: res.deviationCauseId,\r\n noteOtherPrice: res.noteOtherPrice,\r\n noteDeviation: res.noteDeviation\r\n });\r\n this.currency = res.currency;\r\n this.supplierAndPrice = res.supplierAndPrice;\r\n this.deviationCauseDisabled = res.deviationCauseId === null;\r\n\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupZone: undefined,\r\n deliverZone: undefined,\r\n pickupEarliest: undefined as any,\r\n deliverLatest: undefined as any,\r\n truckType: res.truckType,\r\n transportNo: res.transportNo,\r\n clientName: undefined,\r\n numExtraStops: res.numExtraStops,\r\n numContainers: res.numContainers,\r\n valid: false,\r\n saved: undefined,\r\n customsInfoRequired: false\r\n };\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n async validateForm() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n async save() {\r\n await this.validateForm();\r\n if (!this.valid) {\r\n return;\r\n }\r\n this.saveInProgress = true;\r\n new LoadsClientClient(new ApiConfiguration(this.$store))\r\n .saveDeviation(this.loadId, this.saveDto!)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n load: MultiLoad | undefined;\r\n supplierAndPrice?: string;\r\n saveDto?: SaveDeviationDto | undefined;\r\n otherPriceCauseDisabled: boolean;\r\n deviationCauseDisabled: boolean;\r\n currency: Currency;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n load: undefined,\r\n supplierAndPrice: undefined,\r\n saveDto: undefined,\r\n otherPriceCauseDisabled: true,\r\n deviationCauseDisabled: false,\r\n currency: undefined as any\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDeviationEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDeviationEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDeviationEditDialog.vue?vue&type=template&id=c6ccaada&\"\nimport script from \"./LoadDeviationEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDeviationEditDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":_vm.loading,\"width\":1000},on:{\"close\":_vm.close},scopedSlots:_vm._u([(!_vm.loading && _vm.saveDto)?{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BookingNo'),\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.saveDto.bookingNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"bookingNo\", $$v)},expression:\"saveDto.bookingNo\"}})],1),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('DateForClosing'),\"allowNull\":true,\"zone\":_vm.saveDto.pickupZone,\"gte-today\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.dateForClosing),callback:function ($$v) {_vm.$set(_vm.saveDto, \"dateForClosing\", $$v)},expression:\"saveDto.dateForClosing\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('ETD'),\"allowNull\":true,\"zone\":_vm.saveDto.pickupZone,\"gte-today\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.etd),callback:function ($$v) {_vm.$set(_vm.saveDto, \"etd\", $$v)},expression:\"saveDto.etd\"}})],1),_c('v-col',{staticClass:\"no-padding-right no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('ETA'),\"allowNull\":true,\"zone\":_vm.saveDto.deliveryZone,\"gte-today\":\"\",\"with-time\":\"\"},model:{value:(_vm.saveDto.eta),callback:function ($$v) {_vm.$set(_vm.saveDto, \"eta\", $$v)},expression:\"saveDto.eta\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BLNo'),\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.saveDto.blNo),callback:function ($$v) {_vm.$set(_vm.saveDto, \"blNo\", $$v)},expression:\"saveDto.blNo\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ShipName'),\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.saveDto.shipName),callback:function ($$v) {_vm.$set(_vm.saveDto, \"shipName\", $$v)},expression:\"saveDto.shipName\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"items\":_vm.terminals,\"label\":_vm.$t('Terminal'),\"clearable\":\"\"},model:{value:(_vm.saveDto.terminalId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"terminalId\", $$v)},expression:\"saveDto.terminalId\"}})],1),_c('v-col',{staticClass:\"no-padding-top \",attrs:{\"cols\":\"2\"}},[_c('NumberInput',{attrs:{\"label\":\"THC\",\"rules\":[function (v) { return !v || v > 0; }]},model:{value:(_vm.saveDto.thcValue),callback:function ($$v) {_vm.$set(_vm.saveDto, \"thcValue\", $$v)},expression:\"saveDto.thcValue\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-left\",attrs:{\"cols\":\"2\"}},[_c('Dropdown',{attrs:{\"items\":_vm.currencies,\"label\":'THC ' + _vm.$t('Currency'),\"clearable\":\"\"},model:{value:(_vm.saveDto.thcCurrency),callback:function ($$v) {_vm.$set(_vm.saveDto, \"thcCurrency\", $$v)},expression:\"saveDto.thcCurrency\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('StuffingLocation'),\"rules\":[function (v) { return !v || v.length <= 255; }]},model:{value:(_vm.saveDto.stuffingLocation),callback:function ($$v) {_vm.$set(_vm.saveDto, \"stuffingLocation\", $$v)},expression:\"saveDto.stuffingLocation\"}})],1)],1),_c('v-divider',{staticClass:\"small-padding\"}),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom tiny-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ContainerNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"SealNo\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"BLMark\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ExternalContainerID\"))+\" \")]),_c('th',{staticClass:\"narrow-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Weight\"))+\" \")]),_c('th',{staticClass:\"narrow-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"VolumeM3\"))+\" \")]),_c('th',{staticClass:\"narrow-col\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Packages\"))+\" \")]),_c('th')])]),_c('tbody',_vm._l((_vm.containers),function(container){return _c('tr',{key:container.id},[_c('td',[_c('TextSingle',{model:{value:(container.containerNo),callback:function ($$v) {_vm.$set(container, \"containerNo\", $$v)},expression:\"container.containerNo\"}})],1),_c('td',[_c('TextSingle',{model:{value:(container.sealNo),callback:function ($$v) {_vm.$set(container, \"sealNo\", $$v)},expression:\"container.sealNo\"}})],1),_c('td',[_c('TextSingle',{attrs:{\"disabled\":true},model:{value:(container.blMark),callback:function ($$v) {_vm.$set(container, \"blMark\", $$v)},expression:\"container.blMark\"}})],1),_c('td',[_c('NumberInput',{attrs:{\"disabled\":true},model:{value:(container.externalContainerId),callback:function ($$v) {_vm.$set(container, \"externalContainerId\", $$v)},expression:\"container.externalContainerId\"}})],1),_c('td',{staticClass:\"narrow-col\"},[_c('NumberInput',{attrs:{\"disabled\":true},model:{value:(container.weight),callback:function ($$v) {_vm.$set(container, \"weight\", $$v)},expression:\"container.weight\"}})],1),_c('td',{staticClass:\"narrow-col\"},[_c('NumberInput',{attrs:{\"disabled\":true},model:{value:(container.volume),callback:function ($$v) {_vm.$set(container, \"volume\", $$v)},expression:\"container.volume\"}})],1),_c('td',{staticClass:\"narrow-col\"},[_c('NumberInput',{attrs:{\"disabled\":true},model:{value:(container.packages),callback:function ($$v) {_vm.$set(container, \"packages\", $$v)},expression:\"container.packages\"}})],1)])}),0)]},proxy:true}],null,false,555916103)})],1)],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.pendingChanges},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n ContainerDto,\r\n LoadsSupplierClient,\r\n LoadSupplierEditContainerDto,\r\n RepositoryClient,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport {\r\n errorDialog,\r\n saveBeforeContinueDialog\r\n} from \"@/scripts/misc/popupDialogs\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport objectsEqual from \"@/scripts/misc/objectsEqual\";\r\nimport { currencies } from \"@/scripts/misc/enumLists\";\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle,\r\n NumberInput,\r\n Dropdown,\r\n DatePicker\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.loading = true;\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n return `${this.$t(\"EditContainers\")} - ${this.$t(\"Load\")} ${this.loadId}`;\r\n },\r\n pendingChanges(): boolean {\r\n return !objectsEqual(this.saveDto, this.editContainerDraft);\r\n },\r\n containers(): ContainerDto[] {\r\n return this.saveDto!.containers!;\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n currencies(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: \"JPY\" as any,\r\n text: \"JPY\"\r\n }),\r\n ...currencies().map(\r\n c =>\r\n new RepositoryDto({\r\n id: c.text as any,\r\n text: c.text\r\n })\r\n )\r\n ];\r\n }\r\n },\r\n methods: {\r\n close() {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.save();\r\n },\r\n () => {\r\n this.closeCallback();\r\n }\r\n );\r\n } else {\r\n this.closeCallback();\r\n }\r\n },\r\n closeCallback() {\r\n this.$emit(\"close\");\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .saveContainerDetails(this.saveDto!)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.closeCallback();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.closeCallback();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n init() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .terminals()\r\n .then(res => {\r\n this.terminals = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n\r\n new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .preEditContainerDetails(this.loadId)\r\n .then(res => {\r\n this.saveDto = res;\r\n this.editContainerDraft = this.copy(this.saveDto);\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n copy(obj: LoadSupplierEditContainerDto): LoadSupplierEditContainerDto {\r\n return new LoadSupplierEditContainerDto({\r\n bookingNo: obj.bookingNo,\r\n eta: obj.eta,\r\n etd: obj.etd,\r\n dateForClosing: obj.dateForClosing,\r\n pickupZone: obj.pickupZone,\r\n deliveryZone: obj.deliveryZone,\r\n terminalId: obj.terminalId,\r\n stuffingLocation: obj.stuffingLocation,\r\n shipName: obj.shipName,\r\n blNo: obj.blNo,\r\n loadId: obj.loadId,\r\n thcValue: obj.thcValue,\r\n thcCurrency: obj.thcCurrency,\r\n containers: obj.containers!.map(\r\n c =>\r\n new ContainerDto({\r\n id: c.id,\r\n containerNo: c.containerNo,\r\n sealNo: c.sealNo,\r\n weight: c.weight,\r\n volume: c.volume,\r\n packages: c.packages,\r\n blMark: c.blMark,\r\n externalContainerId: c.externalContainerId\r\n })\r\n )\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n terminals: RepositoryDto[];\r\n saveDto?: LoadSupplierEditContainerDto;\r\n editContainerDraft?: LoadSupplierEditContainerDto;\r\n saveInProgress: boolean;\r\n } => ({\r\n loading: true,\r\n terminals: [],\r\n saveDto: undefined,\r\n saveInProgress: false,\r\n editContainerDraft: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditContainersDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditContainersDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadEditContainersDialog.vue?vue&type=template&id=b22092e0&scoped=true&\"\nimport script from \"./LoadEditContainersDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadEditContainersDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LoadEditContainersDialog.vue?vue&type=style&index=0&id=b22092e0&scoped=true&lang=css&\"\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 \"b22092e0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDivider,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Documents'),\"loading\":_vm.loading,\"width\":500},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('LoadLock',{attrs:{\"loadId\":_vm.loadId,\"actionId\":_vm.actionId}})]},proxy:true},{key:\"body\",fn:function(){return [_c('LoadDocumentsTable',{attrs:{\"editable\":true,\"documents\":_vm.documents}})]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.pendingChanges || _vm.loading},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n DocumentsClient,\r\n LoadActionPermission,\r\n LoadDocumentDto,\r\n LoadsSupplierClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport LoadLock from \"@/components/web/loads/shared/LoadLock.vue\";\r\nimport LoadDocumentsTable from \"@/components/web/loads/shared/LoadDocumentsTable.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n LoadLock,\r\n LoadDocumentsTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadIds: Array as () => number[],\r\n actionId: Number as () => LoadActionPermission\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.documents = undefined;\r\n this.fetchDocuments();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n loadId(): number {\r\n return this.loadIds[0];\r\n },\r\n loading(): boolean {\r\n return this.documents === undefined;\r\n },\r\n pendingChanges(): boolean {\r\n if (!this.documents) {\r\n return false;\r\n }\r\n const documentIds = this.documents.map(d => d.id);\r\n if (this.originalDocumentIds.length !== documentIds.length) {\r\n return true;\r\n }\r\n return this.originalDocumentIds.some(id => !documentIds.includes(id));\r\n }\r\n },\r\n methods: {\r\n save() {\r\n this.saveInProgress = true;\r\n new LoadsSupplierClient(new ApiConfiguration(this.$store))\r\n .saveDocuments(\r\n this.loadId,\r\n this.documents!.map(d => d.id)\r\n )\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocuments() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .loadDocuments(this.loadId)\r\n .then(res => {\r\n this.documents = res;\r\n this.originalDocumentIds = res.map(d => d.id);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n documents: LoadDocumentDto[] | undefined;\r\n originalDocumentIds: number[];\r\n } => ({\r\n saveInProgress: false,\r\n documents: undefined,\r\n originalDocumentIds: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSupplierDocumentsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadSupplierDocumentsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadSupplierDocumentsDialog.vue?vue&type=template&id=7eeeb201&\"\nimport script from \"./LoadSupplierDocumentsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadSupplierDocumentsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VIcon,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":_vm.loadId !== undefined && !_vm.load,\"no-padding-bottom\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [(_vm.isClient)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('SwitchDouble',{attrs:{\"labelFalse\":\"Stå still\",\"labelTrue\":\"Flytta med klockan\",\"no-border\":\"\"},on:{\"input\":_vm.saveConf},model:{value:(_vm.calendarConfiguration.calendarAutoDateSliding),callback:function ($$v) {_vm.$set(_vm.calendarConfiguration, \"calendarAutoDateSliding\", $$v)},expression:\"calendarConfiguration.calendarAutoDateSliding\"}})],1)]}}],null,false,3933251495)},[_vm._v(\" Flyttar automatiskt fram schemat var 5:e minut \")]):_vm._e()]},proxy:true},{key:\"head-right\",fn:function(){return [_c('div',{staticClass:\"red-text font-weight-bold large-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.autocloseMessage)+\" \")]),_c('div',{staticClass:\"medium-padding-right\"},[(_vm.loadId === undefined)?_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":function($event){return _vm.fetchSchedule(true)}}},[_c('v-icon',{class:{ spin: !!_vm.loading },attrs:{\"size\":\"28\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-refresh \")])],1):_vm._e()],1)]},proxy:true},{key:\"body\",fn:function(){return [(_vm.load)?_c('SlotCalendarInfo',{attrs:{\"load\":_vm.load,\"cargoLoadingContainers\":_vm.cargoLoadingContainers,\"selectedCargoLoadingContainer\":_vm.selectedCargoLoadingContainer,\"workingWithBlocking\":_vm.workingWithBlocking},on:{\"selectedCargoLoadingContainerIdChanged\":_vm.selectedCargoLoadingContainerIdChanged,\"clearBooking\":_vm.clearBooking}}):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"small-padding-left no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('SlotCalendar',{attrs:{\"loadingDocks\":_vm.loadingDocks,\"loading\":!!_vm.loading,\"readonly\":!_vm.load || !_vm.selectedCargoLoadingContainer,\"selectedCargoLoadingContainer\":_vm.selectedCargoLoadingContainer,\"windowStart\":_vm.calendarDate,\"windowEnd\":_vm.calendarDate.addHours(8)},on:{\"createBooking\":_vm.createBooking,\"editBooking\":_vm.editBooking,\"deleteBooking\":_vm.deleteBooking,\"changeDate\":_vm.changeDate}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),(_vm.showBlockingButton)?_c('v-btn',{attrs:{\"color\":\"warning\"},on:{\"click\":_vm.initBlocking}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-cancel\")]),_vm._v(\" Skapa blockering \")],1):_vm._e(),(_vm.load)?_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.saveEnabled},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],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',[_c('v-row',{staticClass:\"small-padding-bottom\"},[_c('v-col',{attrs:{\"cols\":\"6\"}},[(!_vm.workingWithBlocking)?_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('BookingNo')},model:{value:(_vm.load.bookingNo),callback:function ($$v) {_vm.$set(_vm.load, \"bookingNo\", $$v)},expression:\"load.bookingNo\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('TruckNo')},model:{value:(_vm.load.truckNo),callback:function ($$v) {_vm.$set(_vm.load, \"truckNo\", $$v)},expression:\"load.truckNo\"}})],1),_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TransportNo'),\"value\":_vm.load.transportNo}})],1),_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.load.pickupEarliest}})],1),_c('v-col',{staticClass:\"small-padding-top no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLatest'),\"value\":_vm.load.pickupLatest}})],1)],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('Note'),\"rows\":1},model:{value:(_vm.load.note),callback:function ($$v) {_vm.$set(_vm.load, \"note\", $$v)},expression:\"load.note\"}})],1)],1),_vm._l((_vm.cargoLoadingContainers),function(cc){return _c('v-row',{key:cc.id,staticClass:\"small-margin-bottom rounded\",class:_vm.isSelectedCC(cc.id) ? 'grey lighten-2' : 'background-pale'},[(!_vm.workingWithBlocking)?_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"1\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Ton'),\"value\":cc.cargoLoading.kilograms / 1000}})],1):_vm._e(),(!_vm.workingWithBlocking)?_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadingDock'),\"value\":(cc.cargoLoading.loadingDockNames || []).join(',')}})],1):_vm._e(),_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedLoadingTime'),\"value\":_vm.loadingTimeText(cc)}})],1),(_vm.workingWithBlocking)?_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"3\"}},[_c('NumberInput',{attrs:{\"label\":\"Ton att tömma (negativt tal fyller silon)\",\"disabled\":!_vm.isSelectedCC(cc.id),\"allow-null\":\"\"},model:{value:(_vm.blockingTon),callback:function ($$v) {_vm.blockingTon=$$v},expression:\"blockingTon\"}})],1):_vm._e(),(_vm.workingWithBlocking)?_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"2\"}},[_c('Dropdown',{attrs:{\"label\":\"Blockeringens längd\",\"disabled\":!_vm.isSelectedCC(cc.id),\"items\":_vm.blockingTimeItems},model:{value:(_vm.blockingMinutes),callback:function ($$v) {_vm.blockingMinutes=$$v},expression:\"blockingMinutes\"}})],1):_vm._e(),(!_vm.workingWithBlocking)?_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('RegularLoadingTime'),\"value\":((cc.cargoLoading.seconds / 60) + \" \" + (_vm.$t('LoweredMinutes')))}})],1):_vm._e(),_c('v-col',{staticClass:\"small-padding-bottom small-padding-sides\",attrs:{\"cols\":\"2\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('ExtraLoadTime'),\"disabled\":!_vm.isSelectedCC(cc.id),\"items\":_vm.extraSecondsDropdownItems},model:{value:(cc.extraSeconds),callback:function ($$v) {_vm.$set(cc, \"extraSeconds\", $$v)},expression:\"cc.extraSeconds\"}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-left small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":_vm.buttonColor(cc),\"disabled\":_vm.buttonDisabled(cc)},on:{\"click\":function($event){return _vm.buttonClicked(cc)}}},[_vm._v(\" \"+_vm._s(_vm.buttonText(cc))+\" \")])],1),_c('v-col',{staticClass:\"small-padding-sides\",attrs:{\"cols\":\"auto\"}},[(_vm.okVisible(cc))?_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.okDisabled(cc)},on:{\"click\":function($event){return _vm.okClicked(cc)}}},[_vm._v(\" Ok \")]):_c('v-btn',{attrs:{\"color\":\"error\",\"disabled\":_vm.deleteDisabled(cc)},on:{\"click\":function($event){return _vm.deleteClicked(cc)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Delete\"))+\" \")])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport {\r\n CargoLoadingContainer,\r\n LoadWithCargoLoadingContainer\r\n} from \"@/scripts/types\";\r\nimport { RepositoryDto } from \"@/scripts/cld.api\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ReadOnlyText,\r\n Dropdown,\r\n TextSingle,\r\n TextMulti,\r\n NumberInput\r\n },\r\n props: {\r\n load: Object as () => LoadWithCargoLoadingContainer,\r\n cargoLoadingContainers: Array as () => CargoLoadingContainer[],\r\n selectedCargoLoadingContainer: Object as () => CargoLoadingContainer,\r\n workingWithBlocking: Boolean\r\n },\r\n computed: {\r\n extraSecondsDropdownItems(): RepositoryDto[] {\r\n return [...Array(10).keys()].map(\r\n x =>\r\n new RepositoryDto({\r\n id: x * 300,\r\n text: `${x * 5} ${this.$t(\"LoweredMinutes\")}`\r\n })\r\n );\r\n },\r\n blockingTon: {\r\n get(): number | undefined {\r\n const ton =\r\n this.cargoLoadingContainers[0].cargoLoading.kilograms / 1000;\r\n if (!ton) {\r\n return undefined;\r\n }\r\n return ton;\r\n },\r\n set(val: number | undefined) {\r\n if (!val) {\r\n val = 0;\r\n }\r\n if (val > 50) {\r\n val = 50;\r\n }\r\n if (val < -50) {\r\n val = -50;\r\n }\r\n this.cargoLoadingContainers[0].cargoLoading.loadingDockIds = [\r\n 1,\r\n ...(val === 0 ? [2] : []),\r\n 3\r\n ];\r\n this.cargoLoadingContainers[0].cargoLoading.kilograms = val * 1000;\r\n }\r\n },\r\n blockingMinutes: {\r\n get(): number {\r\n return this.cargoLoadingContainers[0].cargoLoading.seconds;\r\n },\r\n set(val: number) {\r\n this.cargoLoadingContainers[0].cargoLoading.seconds = val;\r\n }\r\n },\r\n blockingTimeItems(): RepositoryDto[] {\r\n return [\r\n ...[5, 30, 60].map(\r\n x =>\r\n new RepositoryDto({\r\n id: x * 60,\r\n text: `${x} ${this.$t(\"LoweredMinutes\")}`\r\n })\r\n ),\r\n ...[2, 3, 4, 5, 6, 7, 8].map(\r\n x =>\r\n new RepositoryDto({\r\n id: x * 3600,\r\n text: `${x} timmar`\r\n })\r\n )\r\n ];\r\n }\r\n },\r\n methods: {\r\n buttonState(cc: CargoLoadingContainer): 1 | 2 | 3 | 4 {\r\n if (this.selectedCargoLoadingContainer === undefined) {\r\n if (cc.booking) {\r\n return 1;\r\n }\r\n return 2;\r\n }\r\n if (cc.id === this.selectedCargoLoadingContainer.id) {\r\n return 3;\r\n }\r\n return 4;\r\n },\r\n buttonText(cc: CargoLoadingContainer): string {\r\n const buttonState = this.buttonState(cc);\r\n switch (buttonState) {\r\n case 1:\r\n return this.$t(\"ChooseNewTime\").toString();\r\n case 2:\r\n return this.$t(\"ChooseTime\").toString();\r\n case 3:\r\n return this.$t(\"Cancel\").toString();\r\n case 4:\r\n return this.$t(\"ChooseTime\").toString();\r\n default:\r\n return neverHappens(buttonState);\r\n }\r\n },\r\n buttonColor(cc: CargoLoadingContainer): string {\r\n const buttonState = this.buttonState(cc);\r\n switch (buttonState) {\r\n case 1:\r\n return \"warning\";\r\n case 2:\r\n return \"success\";\r\n case 3:\r\n return \"warning\";\r\n case 4:\r\n return \"\";\r\n default:\r\n return neverHappens(buttonState);\r\n }\r\n },\r\n buttonDisabled(cc: CargoLoadingContainer): boolean {\r\n return this.buttonState(cc) === 4;\r\n },\r\n deleteDisabled(cc: CargoLoadingContainer): boolean {\r\n return this.buttonState(cc) !== 1;\r\n },\r\n okDisabled(cc: CargoLoadingContainer): boolean {\r\n return this.confirmTimeTouchCallback === undefined;\r\n },\r\n okVisible(cc: CargoLoadingContainer): boolean {\r\n return this.buttonState(cc) === 3;\r\n },\r\n buttonClicked(cc: CargoLoadingContainer) {\r\n const buttonState = this.buttonState(cc);\r\n switch (buttonState) {\r\n case 1:\r\n this.$emit(\"selectedCargoLoadingContainerIdChanged\", cc.id);\r\n this.$emit(\"clearBooking\", cc.id);\r\n break;\r\n case 2:\r\n this.$emit(\"selectedCargoLoadingContainerIdChanged\", cc.id);\r\n break;\r\n case 3:\r\n this.$emit(\"selectedCargoLoadingContainerIdChanged\", 0);\r\n case 4:\r\n break;\r\n default:\r\n neverHappens(buttonState);\r\n }\r\n },\r\n deleteClicked(cc: CargoLoadingContainer) {\r\n this.$emit(\"clearBooking\", cc.id);\r\n },\r\n okClicked(cc: CargoLoadingContainer) {\r\n if (this.confirmTimeTouchCallback) {\r\n this.confirmTimeTouchCallback();\r\n } else {\r\n console.error(\"confirmTimeTouchCallback was undefined\");\r\n }\r\n },\r\n isSelectedCC(id: number): boolean {\r\n return (\r\n this.selectedCargoLoadingContainer &&\r\n this.selectedCargoLoadingContainer.id === id\r\n );\r\n },\r\n loadingTimeText(cc: CargoLoadingContainer): string {\r\n return cc.booking\r\n ? `${cc.booking.startDate} - ${cc.booking.endDate.shortTimePrint()}`\r\n : \"\";\r\n }\r\n },\r\n mounted() {\r\n this.$root.$on(\r\n \"confirmTimeTouchCallback\",\r\n (callback: Function) => (this.confirmTimeTouchCallback = callback)\r\n );\r\n },\r\n data: (): { confirmTimeTouchCallback: Function | undefined } => ({\r\n confirmTimeTouchCallback: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarInfo.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarInfo.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotCalendarInfo.vue?vue&type=template&id=59b168f1&\"\nimport script from \"./SlotCalendarInfo.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotCalendarInfo.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"small-margin-right\"},[(_vm.dockSchedules.length > 0)?_c('div',[_c('SlotCalendarHeader',{attrs:{\"windowStart\":_vm.windowStart,\"windowEnd\":_vm.windowEnd,\"secondsPerBox\":_vm.secondsPerBox,\"numSchedules\":_vm.dockSchedules.length,\"boxStyle\":_vm.boxStyle(_vm.secondsPerBox)},on:{\"changeDate\":function (v) { return _vm.$emit('changeDate', v); }}}),_vm._l((_vm.dockSchedules),function(schedule){return _c('div',{key:schedule.id,staticClass:\"small-vertical-padding\"},[_c('SlotCalendarDay',{attrs:{\"disabled\":_vm.loadingDockDisabled(schedule),\"schedule\":schedule,\"loading\":_vm.loading,\"readonly\":_vm.readonly,\"secondsPerBox\":_vm.secondsPerBox,\"boxStyle\":_vm.boxStyle,\"boxesNeededForBooking\":_vm.boxesNeededForBooking},on:{\"boxClicked\":_vm.boxClicked}})],1)})],2):_vm._e(),_c('InfoMenu',{attrs:{\"title\":_vm.infoTitle(_vm.selectedBox),\"infoMenu\":_vm.infoMenu},on:{\"close\":function($event){_vm.infoMenu.visible = false}},scopedSlots:_vm._u([(_vm.selectedBox)?{key:\"body\",fn:function(){return [_c('v-row',{staticClass:\"max-500\"},[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadID'),\"value\":_vm.selectedBox.loadId}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TransportNo'),\"value\":_vm.selectedBox.transportNo}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingNo'),\"value\":_vm.selectedBox.bookingNo}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckNo'),\"value\":_vm.selectedBox.truckNo}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"8\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedLoadingTime'),\"value\":_vm.selectedBox.startDate +\n ' - ' +\n _vm.selectedBox.endDate.shortTimePrint()}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[(!!_vm.selectedBox.kilograms)?_c('span',[_c('div',{staticClass:\"small-text caption grey-text\"},[_vm._v(_vm._s(_vm.$t(\"Ton\")))]),_c('div',{staticClass:\"black-text body-2\"},[_vm._v(\" \"+_vm._s(_vm.asTon(_vm.selectedBox.kilograms))+\" \"),(\n _vm.selectedBox.kilogramsBefore && _vm.selectedBox.kilogramsAfter\n )?_c('span',[_vm._v(\" (\"+_vm._s(_vm.asTon(_vm.selectedBox.kilogramsBefore))+\" \"),_c('v-icon',{staticClass:\"tiny-padding-bottom\",attrs:{\"size\":\"17\",\"color\":\"black\"}},[_vm._v(\" \"+_vm._s(_vm.tonIcon(_vm.selectedBox))+\" \")]),_vm._v(\" \"+_vm._s(_vm.asTon(_vm.selectedBox.kilogramsAfter))+\") \")],1):_vm._e()])]):_vm._e()]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"8\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Note'),\"value\":_vm.selectedBox.note}})],1)],1)]},proxy:true}:null,(_vm.selectedBox)?{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),(_vm.selectedBox.id !== 0 && _vm.selectedBox.loadId)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\"},on:{\"click\":function($event){return _vm.editBooking(_vm.selectedBox)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-pencil\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Edit\"))+\" \")],1)],1):_vm._e(),(_vm.selectedBox.id !== 0 && _vm.isManualBlocking(_vm.selectedBox))?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"error\",\"loading\":_vm.deleteInProgress},on:{\"click\":function($event){return _vm.deleteBooking(_vm.selectedBox)}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Delete\"))+\" \")],1)],1):_vm._e()],1)]},proxy:true}:null],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',[_c('v-row',{staticClass:\"no-margin-sides\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"pre-header-spacer\"})]),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){return _vm.changeDay(-1)}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1),_c('v-col',{staticClass:\"tiny-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"170\",\"color\":\"btn-cyan\"}},[_vm._v(\" \"+_vm._s(_vm.windowStart.dateTextPrint(_vm.locale))+\" \")])],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){return _vm.changeDay(1)}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1),_c('v-spacer')],1),_c('v-row',{staticClass:\"no-margin-sides tiny-margin-bottom\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"pre-header-spacer\"})]),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){return _vm.changeHour(-6)}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-double-left\")])],1)],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){return _vm.changeHour(-1)}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1),_c('v-col',{staticClass:\"tiny-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"depressed\":\"\",\"width\":\"170\",\"color\":\"card-grey\"}},[_vm._v(\" \"+_vm._s(_vm.windowStart.shortTimePrint())+\" - \"+_vm._s(_vm.windowEnd.shortTimePrint())+\" \")])],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){return _vm.changeHour(1)}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){return _vm.changeHour(6)}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-double-right\")])],1)],1),_c('v-spacer')],1),_c('div',{staticClass:\"flex-container\"},[_c('div',{staticClass:\"pre-header-spacer\"}),_vm._l((_vm.numBoxes),function(x){return _c('div',{key:x,staticClass:\"dont-render-newlines time-label-outer\",style:(_vm.boxStyle)},[_c('div',{staticClass:\"time-label-inner\"},[_vm._v(_vm._s(_vm.time(x - 1)))]),(x === _vm.currentTimeBox)?_c('div',{staticClass:\"current-time-line\",style:((\"height: \" + (_vm.numSchedules * 72 - 5) + \"px\"))}):_vm._e()])}),_c('div',{staticClass:\"time-label-outer\"},[_c('div',{staticClass:\"time-label-inner\"},[_vm._v(_vm._s(_vm.time(_vm.numBoxes)))])])],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n windowStart: Object as () => CDate,\r\n windowEnd: Object as () => CDate,\r\n secondsPerBox: Number,\r\n numSchedules: Number,\r\n boxStyle: String\r\n },\r\n computed: {\r\n numBoxes(): number {\r\n return (\r\n (this.windowEnd.toSeconds() - this.windowStart.toSeconds()) /\r\n this.secondsPerBox\r\n );\r\n },\r\n locale(): string {\r\n return localeCode();\r\n },\r\n currentTimeBox(): number {\r\n const nowish = CDate.now(TimeZone.Europe_Stockholm).loadingSlotNowish();\r\n const diff = nowish.toSeconds() - this.windowStart.toSeconds();\r\n const boxNum = diff / 300;\r\n return boxNum;\r\n }\r\n },\r\n methods: {\r\n time(x: number): string | undefined {\r\n if (x % 12 === 0) {\r\n return this.windowStart\r\n .addSeconds(x * this.secondsPerBox)\r\n .shortTimePrint();\r\n }\r\n return;\r\n },\r\n changeDay(change: number) {\r\n this.$emit(\"changeDate\", change * 3600 * 24);\r\n },\r\n changeHour(change: number) {\r\n this.$emit(\"changeDate\", change * 3600);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotCalendarHeader.vue?vue&type=template&id=3f4f37a5&scoped=true&\"\nimport script from \"./SlotCalendarHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotCalendarHeader.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SlotCalendarHeader.vue?vue&type=style&index=0&id=3f4f37a5&scoped=true&lang=css&\"\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 \"3f4f37a5\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-container\",staticStyle:{\"position\":\"relative\"}},[(_vm.disabled && !_vm.loading)?_c('div',{staticClass:\"booking-overlay rounded\"}):_vm._e(),_c('div',{staticClass:\"rounded slot-label icon-gold medium-margin-right font-weight-bold\",attrs:{\"rounded\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.schedule.name)+\" \")]),(_vm.loading)?_c('v-skeleton-loader',{attrs:{\"type\":\"card\",\"min-height\":\"60\",\"max-height\":\"60\",\"width\":\"100%\",\"elevation\":\"5\"}}):[_c('div',{staticClass:\"flex-container rounded\",staticStyle:{\"width\":\"100%\",\"background-color\":\"#e0e0e0\"}},_vm._l((_vm.schedule.boxes),function(box,index){return _c('div',{key:index,staticClass:\"no-overflow\",style:(_vm.boxStyle(box.seconds))},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"125\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"clickable slot\",class:_vm.boxClasses(box),on:{\"mouseenter\":function($event){return _vm.hover(box)},\"mouseleave\":function($event){return _vm.unhover(box)},\"click\":function($event){return _vm.click($event, box)}}},on),[_c('div',{staticClass:\"text-truncate\"},[_vm._v(_vm._s(box.truckNo))]),_c('div',{staticClass:\"text-truncate\"},[_vm._v(_vm._s(box.transportNo))])])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.tooltip(box)))])])],1)}),0)]],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\r\nimport Vue from \"vue\";\r\nimport { LoadingDockSchedule, LoadingSlotBox } from \"@/scripts/types\";\r\nimport { LoadingSlotType } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n disabled: Boolean,\r\n loading: Boolean,\r\n readonly: Boolean,\r\n schedule: Object as () => LoadingDockSchedule,\r\n secondsPerBox: Number,\r\n boxStyle: Function,\r\n boxesNeededForBooking: Number\r\n },\r\n watch: {\r\n anyBoxesHovered() {\r\n setTimeout(() => {\r\n if (!this.anyBoxesHovered) {\r\n this.$root.$emit(\"confirmTimeTouchCallback\", undefined);\r\n }\r\n }, 100);\r\n }\r\n },\r\n computed: {\r\n anyBoxesHovered(): boolean {\r\n return this.schedule.boxes.filter(b => b.id === -1).some(b => b.hovered);\r\n }\r\n },\r\n methods: {\r\n highlightedBoxes(box: LoadingSlotBox): LoadingSlotBox[] {\r\n const index = this.schedule.boxes.indexOf(box);\r\n const boxes = this.schedule.boxes.slice(\r\n index,\r\n index + this.boxesNeededForBooking\r\n );\r\n if (boxes.slice(0, 1).some(b => b.type !== LoadingSlotType.Open)) {\r\n return boxes.slice(0, 1);\r\n } else if (boxes.some(b => b.type !== LoadingSlotType.Open)) {\r\n //Collides with a booked slot\r\n const bookedIndex = boxes.findIndex(\r\n b => b.type !== LoadingSlotType.Open\r\n );\r\n return boxes.slice(0, bookedIndex);\r\n } else {\r\n return boxes;\r\n }\r\n },\r\n hover(box: LoadingSlotBox): void {\r\n const boxes = this.highlightedBoxes(box);\r\n if (this.readonly) {\r\n if (\r\n boxes.some(\r\n b =>\r\n b.type === LoadingSlotType.AutoBlocking ||\r\n b.type === LoadingSlotType.ManualBlocking\r\n )\r\n ) {\r\n this.error = true;\r\n }\r\n } else {\r\n if (\r\n boxes.length < this.boxesNeededForBooking ||\r\n boxes.some(b => b.type !== LoadingSlotType.Open)\r\n ) {\r\n this.error = true;\r\n }\r\n }\r\n boxes.map(b => {\r\n b.hovered = true;\r\n });\r\n },\r\n unhover(box: LoadingSlotBox): void {\r\n this.error = false;\r\n this.highlightedBoxes(box).map(b => {\r\n b.hovered = false;\r\n });\r\n },\r\n tooltip(box: LoadingSlotBox): string {\r\n const boxes = this.highlightedBoxes(box);\r\n const startDate = boxes[0].startDate.shortTimePrint();\r\n let endDate = boxes[0].endDate.shortTimePrint();\r\n if (boxes.length > 1) {\r\n endDate = boxes[boxes.length - 1].endDate.shortTimePrint();\r\n }\r\n let tooltipText = `${startDate} - ${endDate}`;\r\n if (box.truckNo) {\r\n tooltipText += `\\n ${box.truckNo}`;\r\n }\r\n return tooltipText;\r\n },\r\n click(e: PointerEvent, box: LoadingSlotBox): void {\r\n const startDate = this.highlightedBoxes(box)[0].startDate;\r\n const endDate = this.highlightedBoxes(box).slice(-1)[0].endDate;\r\n const callback = () => {\r\n this.$emit(\r\n \"boxClicked\",\r\n e.clientX,\r\n e.clientY - e.offsetY,\r\n this.schedule.id,\r\n startDate,\r\n endDate,\r\n box,\r\n this.error\r\n );\r\n };\r\n if (e.pointerType !== \"mouse\" && box.id === -1) {\r\n this.$root.$emit(\r\n \"confirmTimeTouchCallback\",\r\n this.error ? undefined : callback\r\n );\r\n } else {\r\n callback();\r\n }\r\n },\r\n boxClasses(box: LoadingSlotBox): string {\r\n return [\r\n box.hovered\r\n ? this.error\r\n ? \"red\"\r\n : \"success\"\r\n : box.type === LoadingSlotType.AutoBlocking\r\n ? \"blocking\"\r\n : box.color,\r\n box.id === 0 ? \"darken-4\" : \"\",\r\n box.roundedLeft ? \"rounded-left\" : \"\",\r\n box.roundedRight ? \"rounded-right\" : \"\"\r\n ].join(\" \");\r\n }\r\n },\r\n data: (): { error: boolean } => ({ error: false })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarDay.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarDay.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotCalendarDay.vue?vue&type=template&id=9f67e500&scoped=true&\"\nimport script from \"./SlotCalendarDay.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotCalendarDay.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SlotCalendarDay.vue?vue&type=style&index=0&id=9f67e500&scoped=true&lang=css&\"\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 \"9f67e500\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VSkeletonLoader,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"value\":_vm.infoMenu.visible,\"close-on-content-click\":false,\"close-on-click\":false,\"position-x\":_vm.x,\"position-y\":_vm.y}},[_c('div',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.clickOutside),expression:\"clickOutside\"}],ref:\"wrapper\"},[_c('SearchCard',{attrs:{\"title\":_vm.title,\"closable\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_vm._t(\"body\")]},proxy:true},{key:\"actions\",fn:function(){return [_vm._t(\"actions\")]},proxy:true}],null,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\r\nimport Vue from \"vue\";\r\nimport { InfoMenuObject } from \"@/scripts/types\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard\r\n },\r\n props: {\r\n title: String,\r\n infoMenu: Object as () => InfoMenuObject\r\n },\r\n watch: {\r\n infoMenu: {\r\n handler() {\r\n if (this.infoMenu.visible) {\r\n this.closable = false;\r\n this.getDimensions();\r\n setTimeout(() => {\r\n this.closable = true;\r\n }, 100);\r\n }\r\n },\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n x(): number {\r\n return this.infoMenu.x - this.width / 2;\r\n },\r\n y(): number {\r\n return this.infoMenu.y - this.height - 5;\r\n }\r\n },\r\n methods: {\r\n clickOutside(event: any) {\r\n if (!event.target.className.includes(\"v-list\")) {\r\n if (this.closable) {\r\n this.close();\r\n }\r\n }\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n getDimensions() {\r\n setTimeout(() => {\r\n const elem = this.$refs.wrapper as any;\r\n if (elem && elem.clientHeight) {\r\n this.width = elem.clientWidth;\r\n this.height = elem.clientHeight;\r\n }\r\n }, 50);\r\n }\r\n },\r\n data: (): { closable: boolean; width: number; height: number } => ({\r\n closable: true,\r\n width: -5000,\r\n height: -5000\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoMenu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoMenu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoMenu.vue?vue&type=template&id=57b6cd82&scoped=true&\"\nimport script from \"./InfoMenu.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoMenu.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./InfoMenu.vue?vue&type=style&index=0&id=57b6cd82&scoped=true&lang=css&\"\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 \"57b6cd82\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VMenu})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport ClickOutside from 'vuetify/lib/directives/click-outside'\ninstallDirectives(component, {ClickOutside})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SlotCalendarHeader from \"@/components/web/slots/SlotCalendarHeader.vue\";\r\nimport SlotCalendarDay from \"@/components/web/slots/SlotCalendarDay.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport InfoMenu from \"@/components/shared/ui/InfoMenu.vue\";\r\nimport {\r\n CargoLoadingContainer,\r\n InfoMenuObject,\r\n LoadingDockSchedule,\r\n LoadingSlotBox\r\n} from \"@/scripts/types\";\r\nimport {\r\n LoadingDockDto,\r\n LoadingSlotDto,\r\n LoadingSlotType\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SlotCalendarHeader,\r\n SlotCalendarDay,\r\n ReadOnlyText,\r\n InfoMenu\r\n },\r\n props: {\r\n loadingDocks: Array as () => LoadingDockDto[],\r\n loading: Boolean,\r\n readonly: Boolean,\r\n selectedCargoLoadingContainer: Object as () =>\r\n | CargoLoadingContainer\r\n | undefined,\r\n windowStart: Object as () => CDate,\r\n windowEnd: Object as () => CDate\r\n },\r\n watch: {\r\n loadingDocks: {\r\n handler() {\r\n if (this.loadingDocks.length === 0) {\r\n return;\r\n }\r\n this.infoMenu.visible = false;\r\n this.selectedBox = undefined;\r\n this.deleteInProgress = false;\r\n this.populateDockSchedules();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n boxesNeededForBooking(): number {\r\n if (this.readonly) {\r\n return 1;\r\n }\r\n return (\r\n (this.selectedCargoLoadingContainer!.cargoLoading.seconds +\r\n this.selectedCargoLoadingContainer!.extraSeconds) /\r\n this.secondsPerBox\r\n );\r\n }\r\n },\r\n methods: {\r\n loadingDockDisabled(schedule: LoadingDockSchedule): boolean {\r\n if (this.readonly) {\r\n return false;\r\n }\r\n return !this.selectedCargoLoadingContainer!.cargoLoading.loadingDockIds!.includes(\r\n schedule.id\r\n );\r\n },\r\n boxStyle(seconds: number): string {\r\n return `width:calc(1.2% * ${seconds /\r\n this.secondsPerBox} - 1px * ${seconds / this.secondsPerBox})`;\r\n },\r\n boxColor(slot: LoadingSlotDto): string {\r\n if (slot.type === LoadingSlotType.Booking) {\r\n return \"card-cyan\";\r\n }\r\n return \"icon-gold lighten-1\";\r\n },\r\n asTon(kilograms: number): string {\r\n return new Intl.NumberFormat(localeCode(), {\r\n maximumFractionDigits: 1,\r\n minimumFractionDigits: 0\r\n }).format(kilograms / 1000);\r\n },\r\n tonIcon(box: LoadingSlotBox): string {\r\n return box.kilogramsBefore! > box.kilogramsAfter!\r\n ? \"mdi-arrow-bottom-right\"\r\n : \"mdi-arrow-top-right\";\r\n },\r\n populateDockSchedules(): void {\r\n this.dockSchedules = [];\r\n for (const dock of this.loadingDocks) {\r\n const boxes: LoadingSlotBox[] = [];\r\n let time = this.windowStart;\r\n const earlySlot = dock.loadingSlots!.find(\r\n s => s.startDate.isBefore(time) && s.endDate.isAfter(time)\r\n );\r\n if (earlySlot) {\r\n time = time.addSeconds(this.addBusyBox(earlySlot, boxes));\r\n }\r\n while (time.isBefore(this.windowEnd)) {\r\n const slot = dock.loadingSlots!.find(s => s.startDate.isSame(time));\r\n if (slot) {\r\n time = time.addSeconds(this.addBusyBox(slot, boxes));\r\n } else {\r\n if (boxes.slice(-1).some(b => b.type === LoadingSlotType.Open)) {\r\n boxes.slice(-1)[0].roundedRight = false;\r\n }\r\n time = time.addSeconds(this.addEmptyBox(time, boxes));\r\n }\r\n }\r\n this.dockSchedules.push({\r\n id: dock.id,\r\n name: dock.name!,\r\n boxes: boxes\r\n });\r\n }\r\n },\r\n addBusyBox(slot: LoadingSlotDto, boxes: LoadingSlotBox[]): number {\r\n const startDateWithinWindow =\r\n slot.startDate >= this.windowStart ? slot.startDate : this.windowStart;\r\n const endDateWithinWindow =\r\n slot.endDate < this.windowEnd ? slot.endDate : this.windowEnd;\r\n const seconds =\r\n endDateWithinWindow.toSeconds() - startDateWithinWindow.toSeconds();\r\n boxes.push({\r\n id: slot.id,\r\n cargoLoadingId: slot.cargoLoadingId,\r\n type: slot.type,\r\n seconds: seconds,\r\n startDate: slot.startDate,\r\n endDate: slot.endDate,\r\n hovered: false,\r\n color: this.boxColor(slot),\r\n kilograms: slot.kilograms,\r\n kilogramsBefore: slot.kilogramsBefore,\r\n kilogramsAfter: slot.kilogramsAfter,\r\n roundedLeft: true,\r\n roundedRight: true,\r\n loadId: slot.loadId,\r\n truckNo: slot.truckNo,\r\n transportNo: slot.transportNo,\r\n bookingNo: slot.bookingNo,\r\n note: slot.note\r\n });\r\n return seconds;\r\n },\r\n addEmptyBox(time: CDate, boxes: LoadingSlotBox[]): number {\r\n boxes.push({\r\n id: -1,\r\n type: LoadingSlotType.Open,\r\n seconds: this.secondsPerBox,\r\n startDate: time,\r\n endDate: time.addSeconds(this.secondsPerBox),\r\n hovered: false,\r\n color: undefined,\r\n roundedLeft: !boxes\r\n .slice(-1)\r\n .some(b => b.type === LoadingSlotType.Open),\r\n roundedRight: true\r\n });\r\n return this.secondsPerBox;\r\n },\r\n boxClicked(\r\n x: number,\r\n y: number,\r\n loadingDockId: number,\r\n startDate: CDate,\r\n endDate: CDate,\r\n box: LoadingSlotBox,\r\n error: boolean\r\n ) {\r\n if (this.readonly && box.type !== LoadingSlotType.Open) {\r\n this.infoMenu.visible = true;\r\n this.infoMenu.x = x;\r\n this.infoMenu.y = y - 20;\r\n this.selectedBox = box;\r\n } else if (!error && !this.readonly) {\r\n this.$emit(\"createBooking\", loadingDockId, startDate, endDate);\r\n }\r\n },\r\n editBooking(box: LoadingSlotBox | undefined) {\r\n if (!box) {\r\n return;\r\n }\r\n this.$emit(\"editBooking\", box.loadId);\r\n },\r\n deleteBooking(box: LoadingSlotBox | undefined) {\r\n if (!box) {\r\n return;\r\n }\r\n this.deleteInProgress = true;\r\n this.$emit(\"deleteBooking\", box.cargoLoadingId);\r\n },\r\n isManualBlocking(box: LoadingSlotBox): boolean {\r\n return box.type === LoadingSlotType.ManualBlocking;\r\n },\r\n infoTitle(box: LoadingSlotBox | undefined): string {\r\n if (!box) {\r\n return \"\";\r\n }\r\n return `${box.startDate.shortTimePrint()} - ${box.endDate.shortTimePrint()}`;\r\n }\r\n },\r\n data: (): {\r\n dockSchedules: LoadingDockSchedule[];\r\n secondsPerBox: number;\r\n infoMenu: InfoMenuObject;\r\n selectedBox?: LoadingSlotBox;\r\n deleteInProgress: boolean;\r\n } => ({\r\n dockSchedules: [],\r\n secondsPerBox: 300,\r\n infoMenu: {\r\n visible: false,\r\n x: 0,\r\n y: 0\r\n },\r\n selectedBox: undefined,\r\n deleteInProgress: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotCalendar.vue?vue&type=template&id=4dc2b0b5&scoped=true&\"\nimport script from \"./SlotCalendar.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotCalendar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SlotCalendar.vue?vue&type=style&index=0&id=4dc2b0b5&scoped=true&lang=css&\"\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 \"4dc2b0b5\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tooltip',{attrs:{\"bottom\":\"\",\"disabled\":!_vm.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"switch-filter\",class:{ 'no-switch-border': !!_vm.noBorder }},on),[_c('span',{staticClass:\"subtitle-1 blackish-text unselectable\",class:_vm.value ? 'greyish-text' : 'font-weight-medium'},[_vm._v(\" \"+_vm._s(_vm.labelFalse)+\" \")]),_c('span',{staticClass:\"v-switch-wrapper\"},[_c('v-switch',{attrs:{\"disabled\":_vm.disabled,\"hide-details\":\"\"},model:{value:(_vm.proxyValue),callback:function ($$v) {_vm.proxyValue=$$v},expression:\"proxyValue\"}})],1),_c('span',{staticClass:\"subtitle-1 blackish-text unselectable\",class:_vm.value ? 'font-weight-medium' : 'greyish-text'},[_vm._v(\" \"+_vm._s(_vm.labelTrue)+\" \")])])]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Boolean,\r\n disabled: Boolean,\r\n labelTrue: String,\r\n labelFalse: String,\r\n tooltip: String,\r\n noBorder: Boolean\r\n },\r\n computed: {\r\n proxyValue: {\r\n get(): boolean {\r\n return this.value;\r\n },\r\n set(val: boolean) {\r\n this.$emit(\"input\", val);\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchDouble.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchDouble.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchDouble.vue?vue&type=template&id=b6c35338&scoped=true&\"\nimport script from \"./SwitchDouble.vue?vue&type=script&lang=ts&\"\nexport * from \"./SwitchDouble.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SwitchDouble.vue?vue&type=style&index=0&id=b6c35338&scoped=true&lang=css&\"\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 \"b6c35338\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VSwitch,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadingDockCalendarsSearchCriteria,\r\n LoadingDockDto,\r\n LoadingSlotsClient,\r\n CargoLoadingDto,\r\n LoadingSlotSaveDtoContainer,\r\n LoadingSlotDto,\r\n LoadActionPermission,\r\n LoadingSlotType,\r\n LoadingSlotSaveDto,\r\n BlockingSaveDto,\r\n ActorType,\r\n BlockingDeleteDto,\r\n UserConfigurationType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n CalendarConfiguration,\r\n CargoLoadingContainer,\r\n LoadWithCargoLoadingContainer,\r\n Sound\r\n} from \"@/scripts/types\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport SlotCalendarInfo from \"@/components/web/slots/SlotCalendarInfo.vue\";\r\nimport SlotCalendar from \"@/components/web/slots/SlotCalendar.vue\";\r\nimport SwitchDouble from \"@/components/shared/input/SwitchDouble.vue\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loadIds: Array as () => number[],\r\n dialog: Boolean\r\n },\r\n components: {\r\n DialogCard,\r\n SlotCalendarInfo,\r\n SlotCalendar,\r\n SwitchDouble\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.calculateSecondsUntilNowish();\r\n if (this.$route.query.date !== undefined) {\r\n this.calendarDate = CDate.fromString(\r\n this.$route.query.date as string,\r\n TimeZone.Europe_Stockholm\r\n );\r\n this.$router.push(\"/slots\");\r\n } else {\r\n this.slideCalendarDate();\r\n }\r\n if (this.loadId === undefined) {\r\n this.fetchSchedule(false);\r\n } else {\r\n this.fetchLoad();\r\n }\r\n }\r\n },\r\n immediate: true\r\n },\r\n valueToWatch: {\r\n handler(newVal, oldVal) {\r\n if (newVal !== oldVal) {\r\n this.fetchSchedule(false);\r\n }\r\n },\r\n deep: true\r\n },\r\n calendarDate(newVal: CDate, oldVal: CDate) {\r\n if (!newVal.startOfDay().isSame(oldVal.startOfDay())) {\r\n this.fetchSchedule(false);\r\n } else {\r\n this.loadingDocks = [...this.loadingDocks]; //Triggers recalculation of boxes\r\n }\r\n },\r\n secondsUntilRefreshTime() {\r\n if (this.secondsUntilRefreshTime <= 0) {\r\n if (this.load) {\r\n this.close();\r\n } else {\r\n this.fetchSchedule(true);\r\n this.refreshTime = CDate.now(\r\n TimeZone.Europe_Stockholm\r\n ).loadingSlotNowish();\r\n if (\r\n this.calendarConfiguration.calendarAutoDateSliding &&\r\n this.isClient\r\n ) {\r\n this.slideCalendarDate();\r\n }\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n loadId(): number {\r\n return this.loadIds[0]!;\r\n },\r\n title(): string {\r\n if (this.workingWithBlocking) {\r\n return \"Skapa blockering\";\r\n }\r\n return t(\"LoadingSlots\");\r\n },\r\n autocloseMessage(): string | undefined {\r\n if (this.secondsUntilRefreshTime > 100 || !this.load) {\r\n return;\r\n }\r\n return t(\"WindowCloseXSeconds\").replace(\r\n \"{0}\",\r\n this.secondsUntilRefreshTime.toString()\r\n );\r\n },\r\n showBlockingButton(): boolean {\r\n return this.loadId === undefined && this.actorType === ActorType.Client;\r\n },\r\n cargoLoadingContainers(): CargoLoadingContainer[] {\r\n if (!this.load) {\r\n return [];\r\n }\r\n return this.load.cargoLoadingContainers;\r\n },\r\n selectedCargoLoadingContainer(): CargoLoadingContainer | undefined {\r\n return this.cargoLoadingContainers.find(\r\n c => c.id === this.selectedCargoLoadingContainerId\r\n );\r\n },\r\n valueToWatch(): string {\r\n let val = this.cargoLoadingContainers\r\n .map(cc => cc.ignoreFromDb)\r\n .join(\",\");\r\n const selCC = this.selectedCargoLoadingContainer;\r\n if (selCC) {\r\n val +=\r\n \",\" +\r\n selCC.id +\r\n \",\" +\r\n selCC.extraSeconds +\r\n \",\" +\r\n selCC.cargoLoading.kilograms +\r\n \",\" +\r\n selCC.cargoLoading.seconds;\r\n }\r\n return val;\r\n },\r\n allCargoLoadingsBooked(): boolean {\r\n return this.load!.cargoLoadingContainers.every(c => c.booking);\r\n },\r\n noCargoLoadingBooked(): boolean {\r\n return this.load!.cargoLoadingContainers.every(c => !c.booking);\r\n },\r\n saveEnabled(): boolean {\r\n if (this.allCargoLoadingsBookedToBeginWith === undefined) {\r\n return false;\r\n }\r\n if (!this.allCargoLoadingsBookedToBeginWith) {\r\n return this.allCargoLoadingsBooked;\r\n }\r\n return this.allCargoLoadingsBooked || this.noCargoLoadingBooked;\r\n },\r\n workingWithBlocking(): boolean {\r\n return this.loadId === -1;\r\n },\r\n calendarConfiguration(): CalendarConfiguration {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.CalendarConfiguration,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n save() {\r\n this.saveInProgress = true;\r\n if (this.workingWithBlocking) {\r\n const c = this.cargoLoadingContainers[0];\r\n new LoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .saveBlocking(\r\n new BlockingSaveDto({\r\n loadingDockId: c.booking!.loadingDockId,\r\n startDate: c.booking!.startDate,\r\n endDate: c.booking!.endDate,\r\n now: this.refreshTime,\r\n note: this.load!.note,\r\n kilograms: c.cargoLoading.kilograms\r\n })\r\n )\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.editBooking(undefined);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n return;\r\n }\r\n new LoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .saveLoadingSlots(\r\n new LoadingSlotSaveDtoContainer({\r\n loadId: this.loadId!,\r\n truckNo: this.load!.truckNo,\r\n bookingNo: this.load!.bookingNo,\r\n note: this.load!.note,\r\n now: this.refreshTime,\r\n loadingSlots: this.cargoLoadingContainers\r\n .filter(c => c.booking)\r\n .map(\r\n c =>\r\n new LoadingSlotSaveDto({\r\n cargoLoadingId: c.booking!.cargoLoadingId,\r\n loadingDockId: c.booking!.loadingDockId,\r\n startDate: c.booking!.startDate,\r\n endDate: c.booking!.endDate,\r\n kilograms: c.booking!.kilograms\r\n })\r\n )\r\n })\r\n )\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.editBooking(undefined);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n initBlocking() {\r\n this.editBooking(-1);\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n saveConf() {\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.CalendarConfiguration,\r\n subTypeId: 1\r\n });\r\n },\r\n changeDate(seconds: number) {\r\n this.calendarDate = this.calendarDate.addSeconds(seconds);\r\n if (\r\n seconds > 0 &&\r\n this.calendarDate.isAfter(this.calendarDate.withHours(16))\r\n ) {\r\n this.calendarDate = this.calendarDate.withHours(16);\r\n }\r\n if (\r\n seconds < 0 &&\r\n this.calendarDate.isAfter(this.calendarDate.withHours(16))\r\n ) {\r\n this.calendarDate = this.calendarDate.startOfDay().addDays(1);\r\n }\r\n },\r\n selectedCargoLoadingContainerIdChanged(cargoLoadingContainerId: number) {\r\n if (cargoLoadingContainerId === 0) {\r\n this.selectedCargoLoadingContainer!.ignoreFromDb = false;\r\n }\r\n this.selectedCargoLoadingContainerId = cargoLoadingContainerId;\r\n if (cargoLoadingContainerId !== 0) {\r\n this.selectedCargoLoadingContainer!.ignoreFromDb = true;\r\n }\r\n },\r\n clearBooking(cargoLoadingContainerId: number) {\r\n const cargoLoadingContainer = this.cargoLoadingContainers.find(\r\n c => c.id === cargoLoadingContainerId\r\n )!;\r\n cargoLoadingContainer.booking = undefined;\r\n cargoLoadingContainer.ignoreFromDb = true;\r\n },\r\n createBooking(loadingDockId: number, startDate: CDate, endDate: CDate) {\r\n const selCC = this.selectedCargoLoadingContainer!;\r\n selCC.booking = new LoadingSlotDto({\r\n id: 0,\r\n type: LoadingSlotType.Booking,\r\n cargoLoadingId: selCC.id,\r\n loadingDockId: loadingDockId,\r\n loadId: selCC.cargoLoading.loadId,\r\n bookedActorId: 0,\r\n bookedByLoadUserId: 0,\r\n startDate: startDate,\r\n endDate: endDate,\r\n kilograms: selCC.cargoLoading.kilograms,\r\n kilogramsBefore: 0,\r\n kilogramsAfter: 0,\r\n alterDate: CDate.now(TimeZone.Europe_Stockholm),\r\n note: this.load!.note,\r\n truckNo: this.load!.truckNo,\r\n transportNo: this.load!.transportNo,\r\n bookingNo: this.load!.bookingNo,\r\n loadingDockToFillId: undefined,\r\n contacts: []\r\n });\r\n this.selectedCargoLoadingContainerIdChanged(0);\r\n },\r\n editBooking(loadId: number | undefined) {\r\n this.close();\r\n this.$nextTick(() => {\r\n this.$router.push(\r\n `/slots?action=${LoadActionPermission.LoadingSlotEdit}&ids=[${\r\n loadId !== undefined ? loadId : \"\"\r\n }]&date=${this.calendarDate.dateTimePrint()}`\r\n );\r\n });\r\n },\r\n deleteBooking(cargoLoadingId: number) {\r\n new LoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .deleteBlocking(\r\n new BlockingDeleteDto({\r\n cargoLoadingId: cargoLoadingId,\r\n now: this.refreshTime\r\n })\r\n )\r\n .then(() => {\r\n this.fetchSchedule(false);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchLoad() {\r\n this.refreshTime = CDate.now(\r\n TimeZone.Europe_Stockholm\r\n ).loadingSlotNowish();\r\n if (this.workingWithBlocking) {\r\n this.load = {\r\n loadId: -1,\r\n transportNo: undefined,\r\n pickupEarliest: CDate.minDate(),\r\n pickupLatest: CDate.maxDate(),\r\n note: undefined,\r\n truckNo: undefined,\r\n bookingNo: undefined,\r\n clientName: undefined,\r\n cargoLoadingContainers: [\r\n {\r\n id: -1,\r\n cargoLoading: new CargoLoadingDto({\r\n id: -1,\r\n loadId: undefined,\r\n pickupEarliest: CDate.minDate(),\r\n pickupLatest: CDate.maxDate(),\r\n seconds: 300,\r\n kilograms: 0,\r\n loadingDockIds: [1, 2, 3],\r\n loadingDockNames: [\"Blockering\"]\r\n }),\r\n extraSeconds: 0,\r\n booking: undefined,\r\n ignoreFromDb: false\r\n }\r\n ],\r\n status: undefined\r\n };\r\n return;\r\n }\r\n new LoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .loadWithCargoLoadings(this.loadId!)\r\n .then(res => {\r\n this.load = {\r\n loadId: res.loadId,\r\n transportNo: res.transportNo,\r\n pickupEarliest: res.pickupEarliest,\r\n pickupLatest: res.pickupLatest,\r\n note: undefined,\r\n truckNo: res.truckNo,\r\n bookingNo: res.bookingNo,\r\n clientName: res.clientName,\r\n cargoLoadingContainers: res.cargoLoadings!.map(c => ({\r\n id: c.id,\r\n cargoLoading: c,\r\n extraSeconds: 0,\r\n booking: undefined,\r\n ignoreFromDb: false\r\n })),\r\n status: res.loadStatus\r\n };\r\n\r\n this.identifyBookings();\r\n this.calendarDate = res.viewDate;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSchedule(playSound: boolean) {\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n let cargoLoadingToBook: CargoLoadingDto | undefined = undefined;\r\n const selCC = this.selectedCargoLoadingContainer;\r\n if (selCC) {\r\n cargoLoadingToBook = new CargoLoadingDto({\r\n id: selCC.cargoLoading.id,\r\n loadId: selCC.cargoLoading.loadId,\r\n pickupEarliest: selCC.cargoLoading.pickupEarliest,\r\n pickupLatest: selCC.cargoLoading.pickupLatest,\r\n seconds: selCC.cargoLoading.seconds + selCC.extraSeconds,\r\n kilograms: selCC.cargoLoading.kilograms,\r\n loadingDockIds: selCC.cargoLoading.loadingDockIds,\r\n loadingDockNames: selCC.cargoLoading.loadingDockNames\r\n });\r\n }\r\n new LoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .calendars(\r\n new LoadingDockCalendarsSearchCriteria({\r\n loadId: this.loadId!,\r\n date: this.calendarDate,\r\n cargoLoadingToBook: cargoLoadingToBook,\r\n now: this.refreshTime,\r\n premisedBookings: this.cargoLoadingContainers\r\n .filter(cc => cc.booking !== undefined)\r\n .map(cc => cc.booking!),\r\n cargoLoadingsFromDbToIgnore: this.cargoLoadingContainers\r\n .filter(cc => cc.ignoreFromDb || cc.booking)\r\n .map(cc => cc.id)\r\n })\r\n )\r\n .then(res => {\r\n if (this.loading === unique) {\r\n if (playSound && this.schedulesDiffer(this.loadingDocks, res)) {\r\n this.$store.commit(mutations.pushSound, Sound.Notification1);\r\n }\r\n this.loading = 0;\r\n this.loadingDocks = res;\r\n this.identifyBookings();\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n schedulesDiffer(s1: LoadingDockDto[], s2: LoadingDockDto[]): boolean {\r\n const ids1 = s1\r\n .flatMap(d => d.loadingSlots)\r\n .map(s => s!.id)\r\n .filter(id => id > 0)\r\n .sort();\r\n const ids2 = s2\r\n .flatMap(d => d.loadingSlots)\r\n .map(s => s!.id)\r\n .filter(id => id > 0)\r\n .sort();\r\n return JSON.stringify(ids1) !== JSON.stringify(ids2);\r\n },\r\n identifyBookings() {\r\n this.cargoLoadingContainers.map(c => {\r\n const booking = [...this.loadingDocks.map(d => d.loadingSlots)]\r\n .flat()\r\n .find(s => s!.cargoLoadingId === c.id);\r\n if (booking !== undefined) {\r\n c.booking = booking;\r\n if (!this.load!.note) {\r\n this.load!.note = c.booking.note;\r\n }\r\n }\r\n });\r\n if (\r\n this.allCargoLoadingsBookedToBeginWith === undefined &&\r\n this.loadingDocks.length &&\r\n this.load\r\n ) {\r\n this.allCargoLoadingsBookedToBeginWith = this.allCargoLoadingsBooked;\r\n }\r\n },\r\n calculateSecondsUntilNowish() {\r\n if (!this.dialog) {\r\n return;\r\n }\r\n this.secondsUntilRefreshTime =\r\n this.refreshTime.toSeconds() -\r\n CDate.now(TimeZone.Europe_Stockholm).toSeconds();\r\n setTimeout(this.calculateSecondsUntilNowish, 1000);\r\n },\r\n slideCalendarDate() {\r\n this.calendarDate = CDate.now(TimeZone.Europe_Stockholm).startOfDay();\r\n this.changeDate(\r\n (CDate.now(TimeZone.Europe_Stockholm).hours() - 1) * 3600\r\n );\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n saveInProgress: boolean;\r\n load?: LoadWithCargoLoadingContainer;\r\n selectedCargoLoadingContainerId: number;\r\n loadingDocks: LoadingDockDto[];\r\n calendarDate: CDate;\r\n refreshTime: CDate;\r\n secondsUntilRefreshTime: number;\r\n allCargoLoadingsBookedToBeginWith?: boolean;\r\n } => ({\r\n loading: 0,\r\n saveInProgress: false,\r\n load: undefined,\r\n selectedCargoLoadingContainerId: 0,\r\n loadingDocks: [],\r\n calendarDate: CDate.now(TimeZone.Europe_Stockholm).startOfDay(),\r\n refreshTime: CDate.now(TimeZone.Europe_Stockholm).loadingSlotNowish(),\r\n secondsUntilRefreshTime: Infinity,\r\n allCargoLoadingsBookedToBeginWith: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotDialog.vue?vue&type=template&id=142e7c52&\"\nimport script from \"./SlotDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadActionPermission, CargoType } from \"@/scripts/cld.api\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport LoadDetailsDialog from \"@/components/web/loads/shared/details/LoadDetailsDialog.vue\";\r\nimport LoadEditDialog from \"@/components/web/loads/client/edit/LoadEditDialog.vue\";\r\nimport LoadBookDialog from \"@/components/web/loads/shared/LoadBookDialog.vue\";\r\nimport LoadLoadDialog from \"@/components/web/loads/client/LoadLoadDialog.vue\";\r\nimport LoadAnnulDialog from \"@/components/web/loads/client/LoadAnnulDialog.vue\";\r\nimport LoadDeliverDialog from \"@/components/web/loads/shared/LoadDeliverDialog.vue\";\r\nimport LoadUnbookDialog from \"@/components/web/loads/client/LoadUnbookDialog.vue\";\r\nimport LoadReorderDialog from \"@/components/web/loads/client/LoadReorderDialog.vue\";\r\nimport CreateSpotTenderDialog from \"@/components/web/loads/client/spot/CreateSpotTenderDialog.vue\";\r\nimport ClientEditSpotTenderDialog from \"@/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue\";\r\nimport SupplierEditSpotTenderDialog from \"@/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue\";\r\nimport LoadResignDialog from \"@/components/web/loads/supplier/LoadResignDialog.vue\";\r\nimport LoadSupplierEditDialog from \"@/components/web/loads/supplier/LoadSupplierEditDialog.vue\";\r\nimport MobileLoadDetails from \"@/components/mobile/details/MobileLoadDetails.vue\";\r\nimport LoadDeviationEditDialog from \"@/components/web/loads/client/LoadDeviationEditDialog.vue\";\r\nimport LoadEditContainersDialog from \"@/components/web/loads/supplier/LoadEditContainersDialog.vue\";\r\nimport LoadSupplierDocumentsDialog from \"@/components/web/loads/supplier/LoadSupplierDocumentsDialog.vue\";\r\nimport SlotDialog from \"@/components/web/slots/SlotDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n MobileLoadDetails,\r\n LoadDetailsDialog,\r\n LoadEditDialog,\r\n LoadBookDialog,\r\n LoadLoadDialog,\r\n LoadAnnulDialog,\r\n LoadDeliverDialog,\r\n LoadUnbookDialog,\r\n LoadReorderDialog,\r\n CreateSpotTenderDialog,\r\n ClientEditSpotTenderDialog,\r\n SupplierEditSpotTenderDialog,\r\n LoadResignDialog,\r\n LoadSupplierEditDialog,\r\n LoadDeviationEditDialog,\r\n LoadEditContainersDialog,\r\n LoadSupplierDocumentsDialog,\r\n SlotDialog\r\n },\r\n watch: {\r\n \"$route.query\": {\r\n handler() {\r\n const query = { ...this.$route.query };\r\n const actionId = query.action ? Number(query.action) : undefined;\r\n const cargoType = query.cargoType ? Number(query.cargoType) : undefined;\r\n if (!actionId) {\r\n return;\r\n }\r\n let loadIds: number[] = [];\r\n try {\r\n const arr: number[] = JSON.parse(query.ids as string);\r\n if (arr.every(x => typeof x === \"number\")) {\r\n loadIds = arr;\r\n }\r\n } catch (_) {}\r\n delete query.action;\r\n delete query.ids;\r\n delete query.cargoType;\r\n this.lockAndOpen(actionId, loadIds, cargoType);\r\n this.$router.push({\r\n query: query,\r\n path: this.$route.path\r\n });\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n dialogVisible(actionId: LoadActionPermission): boolean {\r\n return this.actionId === actionId;\r\n },\r\n lockIfNeeded(\r\n actionId: LoadActionPermission | undefined,\r\n loadIds: number[]\r\n ): Promise {\r\n if (this.$store.getters[gets.lockNeeded](actionId, loadIds)) {\r\n return this.$store.dispatch(actions.lock, loadIds);\r\n }\r\n return new Promise(resolve => resolve(true));\r\n },\r\n lockAndOpen(\r\n actionId: LoadActionPermission | undefined,\r\n loadIds: number[],\r\n cargoType: CargoType | undefined\r\n ) {\r\n this.key += 100;\r\n this.lockIfNeeded(actionId, loadIds)\r\n .then(success => {\r\n if (success) {\r\n this.actionId = actionId;\r\n this.loadIds = loadIds;\r\n this.cargoType = cargoType;\r\n }\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.actionId = undefined;\r\n this.$emit(\"search\");\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n unlockAndClose(actionId: LoadActionPermission) {\r\n this.actionId = undefined;\r\n if (!this.$store.getters[gets.lockNeeded](actionId, this.loadIds)) {\r\n this.$emit(\"search\");\r\n this.loadIds = [];\r\n return;\r\n }\r\n this.$store\r\n .dispatch(actions.unlock, this.loadIds)\r\n .then(() => {\r\n this.$emit(\"search\");\r\n this.loadIds = [];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n computed: {\r\n mobile() {\r\n return Auth.browsingMobile();\r\n }\r\n },\r\n mounted() {\r\n this.$nextTick(function() {\r\n setInterval(() => {\r\n this.lockIfNeeded(this.actionId, this.loadIds);\r\n }, 33000);\r\n });\r\n },\r\n data: (): {\r\n loadIds: number[];\r\n actionId?: LoadActionPermission;\r\n cargoType?: CargoType;\r\n actionEnum: typeof LoadActionPermission;\r\n key: number;\r\n } => ({\r\n loadIds: [],\r\n actionId: undefined,\r\n cargoType: undefined,\r\n actionEnum: LoadActionPermission,\r\n key: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadDialogs.vue?vue&type=template&id=2f08a9c0&\"\nimport script from \"./LoadDialogs.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadDialogs.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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadListContainerDto,\r\n LoadOrderBy,\r\n LoadSearchCriteriaDto,\r\n LoadSearchCriteriaContainerDto,\r\n UserConfigurationType,\r\n ActorType,\r\n LoadsClient,\r\n LoadStatus\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport {\r\n LoadListTab,\r\n loadListTabSortOrder,\r\n spotTenderTabId,\r\n TableOptions\r\n} from \"@/scripts/types\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport LoadListTabs from \"@/components/web/loads/shared/list/LoadListTabs.vue\";\r\nimport LoadListTable from \"@/components/web/loads/shared/list/LoadListTable.vue\";\r\nimport LoadListTabsEdit from \"@/components/web/loads/shared/list/LoadListTabsEdit.vue\";\r\nimport LoadDialogs from \"@/components/web/loads/shared/LoadDialogs.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { UserConfigurationEntry } from \"@/scripts/store/userConfModule\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n LoadListTabs,\r\n LoadListTable,\r\n LoadListTabsEdit,\r\n LoadDialogs\r\n },\r\n watch: {\r\n selectedTab() {\r\n this.search(true, false);\r\n },\r\n activityDate(newVal: CDate, oldVal: CDate) {\r\n let secondsInactive = newVal.toSeconds() - oldVal.toSeconds();\r\n if (secondsInactive > 45) {\r\n this.search(false, false);\r\n }\r\n }\r\n },\r\n computed: {\r\n activityDate(): CDate {\r\n return this.$store.getters[gets.activityDate];\r\n },\r\n searchCriteria(): LoadSearchCriteriaDto {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadList,\r\n this.selectedTab.id\r\n );\r\n },\r\n tabs(): LoadListTab[] {\r\n return this.$store.getters[gets.allUserConfs](\r\n UserConfigurationType.LoadTab\r\n )\r\n .sort(\r\n (a: UserConfigurationEntry, b: UserConfigurationEntry) =>\r\n loadListTabSortOrder(a.subTypeId) -\r\n loadListTabSortOrder(b.subTypeId)\r\n )\r\n .map((c: UserConfigurationEntry) => c.conf);\r\n },\r\n sorting(): { orderBy: LoadOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as LoadOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n selectedTab(): LoadListTab {\r\n return this.tabs.find(t => t.id === this.selectedTabId)!;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(false, false);\r\n },\r\n check(loadId: number) {\r\n if (this.checked.includes(loadId)) {\r\n this.checked = this.checked.filter(id => id !== loadId);\r\n } else {\r\n this.checked.push(loadId);\r\n }\r\n },\r\n search(goToFirstPage: boolean, saveUserConf: boolean) {\r\n this.checked = [];\r\n if (goToFirstPage) {\r\n this.tableOptions.page = 1;\r\n scrollTableToTop(this);\r\n }\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new LoadsClient(new ApiConfiguration(this.$store))\r\n .list(\r\n new LoadSearchCriteriaContainerDto({\r\n loadSearchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (saveUserConf) {\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.LoadList,\r\n subTypeId: this.selectedTab.id\r\n });\r\n }\r\n this.loadListContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.LoadList,\r\n subTypeId: this.selectedTab.id,\r\n actorType: this.actorType\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [LoadOrderBy.Id];\r\n this.tableOptions.sortDesc = [false];\r\n this.search(true, true);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n tabEditDialog: boolean;\r\n selectedTabId: number;\r\n loadListContainer: LoadListContainerDto;\r\n tableOptions: TableOptions;\r\n checked: number[];\r\n } => ({\r\n loading: 0,\r\n tabEditDialog: false,\r\n selectedTabId: 1,\r\n loadListContainer: new LoadListContainerDto({\r\n count: 0,\r\n loads: []\r\n }),\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 50,\r\n sortBy: [LoadOrderBy.Id],\r\n sortDesc: [false]\r\n }),\r\n checked: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loads.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loads.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Loads.vue?vue&type=template&id=5e4323c8&\"\nimport script from \"./Loads.vue?vue&type=script&lang=ts&\"\nexport * from \"./Loads.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"huge-padding-top huge-margin-top\",attrs:{\"cols\":\"12\",\"lg\":\"10\"}},[_c('LoadSearchInput',{attrs:{\"excludedLoadIds\":[]},on:{\"click\":_vm.viewDetails}})],1),_c('v-spacer')],1),_c('LoadDialogs')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadActionPermission } from \"@/scripts/cld.api\";\r\nimport LoadSearchInput from \"@/components/web/loads/shared/search/LoadSearchInput.vue\";\r\nimport LoadDialogs from \"@/components/web/loads/shared/LoadDialogs.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n LoadSearchInput,\r\n LoadDialogs\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 266);\r\n }\r\n },\r\n methods: {\r\n viewDetails(loadId: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.Details.toString(),\r\n ids: \"[\" + loadId.toString() + \"]\"\r\n }\r\n });\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Search.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Search.vue?vue&type=template&id=4dde54e7&\"\nimport script from \"./Search.vue?vue&type=script&lang=ts&\"\nexport * from \"./Search.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\",\"lg\":\"9\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('PriceList') + ' C-Load'},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('div',{staticClass:\"subtitle-2 medium-padding-right\"},[_vm._v(\"Appendix 4\")])]},proxy:true},{key:\"body\",fn:function(){return [_c('p',{staticClass:\"body-2 blackish-text medium-vertical-margin\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"CurrentPricesDesc\"))+\" \")]),_c('p',{staticClass:\"body-2 blackish-text medium-padding-bottom no-margin-bottom\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"PricesValidFrom\"))+\" \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.startOfYear))]),_vm._v(\". \")])]},proxy:true}])})],1),_c('v-spacer')],1),(_vm.isMegaUser)?_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"lg\":\"9\"}},[_c('DatePicker',{attrs:{\"zone\":_vm.actorZone,\"label\":\"Datum för avgifter (Endast synlig för megaanvändare)\"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1),_c('v-spacer')],1):_vm._e(),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"12\",\"lg\":\"9\"}},[_c('v-sheet',{attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"table\",\"height\":\"746\"}}):_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th'),_c('th',[_vm._v(\"SEK\")]),_c('th',[_vm._v(\"EUR\")]),_c('th',[_vm._v(\"GBP\")]),_c('th',[_vm._v(\"NOK\")]),_c('th',[_vm._v(\"USD\")])])]),_c('tbody',_vm._l((_vm.rows),function(row,rowIndex){return _c('tr',{key:rowIndex},_vm._l((row.slice(1)),function(text,textIndex){return _c('td',{key:textIndex,class:row[0],attrs:{\"width\":textIndex === 0 ? 0 : 105,\"colspan\":row[0] === 'datarow' ? 1 : 6}},[_vm._v(\" \"+_vm._s(text || \"n/a\")+\" \")])}),0)}),0)]},proxy:true}])})],1)],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding small-padding-bottom\",attrs:{\"cols\":\"12\",\"lg\":\"9\"}},[_c('v-sheet',{staticClass:\"medium-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('p',{staticClass:\"body-2 blackish-text tiny-margin-bottom\"},[_vm._v(\" - \"+_vm._s(_vm.$t(\"AgreedPriceExplained\"))+\" \")]),_c('p',{staticClass:\"body-2 blackish-text tiny-margin-bottom\"},[_vm._v(\" - \"+_vm._s(_vm.$t(\"BookingFeeExplained\"))+\" \")]),_c('p',{staticClass:\"body-2 blackish-text tiny-margin-bottom\"},[_vm._v(\" - \"+_vm._s(_vm.$t(\"IndexExplained\"))+\" \")]),_c('p',{staticClass:\"body-2 blackish-text no-margin-bottom\"},[_vm._v(\" - \"+_vm._s(_vm.$t(\"OtherPriceExplained\"))+\" \")])])],1),_c('v-spacer')],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\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n Currency,\r\n FeeType,\r\n PriceListDto,\r\n RepositoryClient,\r\n ApiConfiguration,\r\n TimeZone,\r\n PriceListSearchCriteria\r\n} from \"@/scripts/cld.api\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport {\r\n freightPriceFormula,\r\n invoicePriceFormulaShort\r\n} from \"@/scripts/misc/enumNames\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { currencies } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n SkeletonLoader,\r\n DatePicker\r\n },\r\n watch: {\r\n date: {\r\n handler() {\r\n this.fetchPrices();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n isMegaUser(): boolean {\r\n return this.$store.getters[gets.userInfo].supportAdminLevel >= 2;\r\n },\r\n startOfYear(): string {\r\n return this.date.startOfYear().datePrint();\r\n },\r\n rows(): any[][] {\r\n return [\r\n [\"heading\", t(\"GeneralMessageType\")],\r\n [\r\n \"datarow\",\r\n t(\"FeeTypeSupplierEntranceFee\"),\r\n ...this.prices(FeeType.SupplierEntranceFee)\r\n ],\r\n [\r\n \"datarow\",\r\n t(\"FeeTypeSupplierFirstUser\"),\r\n ...this.prices(FeeType.SupplierFirstUser)\r\n ],\r\n [\r\n \"datarow\",\r\n t(\"FeeTypeSupplierAdditionalUser\"),\r\n ...this.prices(FeeType.SupplierAdditionalUser)\r\n ],\r\n [\"datarow\", t(\"SmsPricePerYear\"), 1500, 150, 130, 1500, 150],\r\n [\"datarow\", t(\"SmsPricePerSms\"), 1, 0.1, 0.1, 1, 0.1],\r\n [\r\n \"datarow\",\r\n t(\"AdditionalServices\") + \" *\",\r\n ...this.prices(FeeType.AdditionalServices)\r\n ],\r\n [\"datarow\", t(\"TravelTime\") + \" *\", ...this.prices(FeeType.TravelTime)],\r\n [\"textrow\", \"* \" + t(\"AdditionalServicesDesc\")],\r\n [\"textrow\", \"* \" + t(\"ForLargerAssignments\")],\r\n [\"textrow\", \" \"],\r\n\r\n [\"heading\", t(\"Road\")],\r\n [\"datarow\", t(\"BookingFee\"), ...this.prices(FeeType.RoadLong)],\r\n [\r\n \"datarow\",\r\n `${t(\"BookingFee\")} (< 200km)`,\r\n ...this.prices(FeeType.RoadShort)\r\n ],\r\n [\"textrow\", freightPriceFormula(CargoType.Road)],\r\n [\"textrow\", invoicePriceFormulaShort(CargoType.Road)],\r\n [\"textrow\", \" \"],\r\n\r\n [\"heading\", t(\"Railroad\")],\r\n [\"datarow\", t(\"BookingFee\"), ...this.prices(FeeType.Railroad)],\r\n [\"textrow\", freightPriceFormula(CargoType.Railroad)],\r\n [\"textrow\", invoicePriceFormulaShort(CargoType.Railroad)],\r\n [\"textrow\", \" \"],\r\n\r\n [\"heading\", t(\"Container\")],\r\n [\r\n \"datarow\",\r\n `${t(\"BookingFee\")} per container`,\r\n ...this.prices(FeeType.Container)\r\n ],\r\n [\"textrow\", freightPriceFormula(CargoType.Container)],\r\n [\"textrow\", invoicePriceFormulaShort(CargoType.Container)],\r\n [\"textrow\", \" \"]\r\n ];\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n prices(feeType: FeeType): (null | number)[] {\r\n const res: (null | number)[] = [];\r\n for (let c of currencies()) {\r\n let price = this.allPrices.find(\r\n p => p.type === feeType && p.currency === c.id\r\n );\r\n res.push(price?.value !== undefined ? price!.value : null);\r\n }\r\n return res;\r\n },\r\n fetchPrices() {\r\n this.loading = true;\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .prices(\r\n new PriceListSearchCriteria({\r\n date: this.date\r\n })\r\n )\r\n .then(res => {\r\n this.allPrices = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): { loading: boolean; date: CDate; allPrices: PriceListDto[] } => ({\r\n loading: true,\r\n date: CDate.now(TimeZone.Europe_Stockholm),\r\n allPrices: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PriceList.vue?vue&type=template&id=523bc326&scoped=true&\"\nimport script from \"./PriceList.vue?vue&type=script&lang=ts&\"\nexport * from \"./PriceList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./PriceList.vue?vue&type=style&index=0&id=523bc326&scoped=true&lang=css&\"\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 \"523bc326\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow,VSheet,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('SearchCard',{attrs:{\"title\":_vm.$t('CurrentIndexes')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"value\":_vm.from,\"label\":_vm.$t('BaseIndex'),\"items\":_vm.indexDates,\"tabindex\":\"1\"},on:{\"input\":_vm.fromChanged}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"value\":_vm.to,\"label\":_vm.$t('IndexDate'),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.toChanged}})],1)],1),(_vm.from && _vm.to && _vm.indexComponents && _vm.fuelIndexesForDate.length)?_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('IndexAccordion',{attrs:{\"from\":_vm.from,\"to\":_vm.to,\"indexComponents\":_vm.indexComponents,\"fuelIndexesForDate\":_vm.fuelIndexesForDate}})],1)],1):(_vm.noIndexYetText)?_c('v-row',[_c('v-col',{staticClass:\"font-weight-bold blackish-text\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.noIndexYetText)+\" \")])],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"medium-padding-top tiny-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('a',{staticClass:\"text-decoration-underline\",attrs:{\"href\":_vm.documentLocation,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"IndexSupportDescStart\")))])]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"IndexSupportDescEnd\"))+\" \")])],1)],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"IndexInfo\"))+\" \")]),_c('p',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.$t(\"BaseIndex\")))]),_vm._v(\": \"+_vm._s(_vm.$t(\"IndexInfoBaseIndexDescription\"))+\" \")]),_c('p',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.$t(\"IndexDate\")))]),_vm._v(\": \"+_vm._s(_vm.$t(\"IndexInfoIndexDateDescription\"))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t(\"IndexInfoNoteOnSeveralAgreements\"))+\" \")])])],1)],1)],1)]},proxy:true}])}),(_vm.from && _vm.to && !_vm.noIndexYetText)?_c('v-sheet',{staticClass:\"medium-margin-top small-padding-left\",attrs:{\"elevation\":\"2\",\"height\":\"455\",\"rounded\":\"\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"tiny-padding-bottom\",attrs:{\"cols\":\"5\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Graph'),\"items\":_vm.fuelIndexTypes},model:{value:(_vm.fuelIndexType),callback:function ($$v) {_vm.fuelIndexType=$$v},expression:\"fuelIndexType\"}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('BezierChart',{attrs:{\"chartData\":_vm.chartData,\"labelCallback\":_vm.labelCallback,\"yAxisUnit\":_vm.yAxisUnit}})],1)],1)],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('v-expansion-panels',{attrs:{\"multiple\":\"\"}},[_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DMT_SE\"))+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.dmtSePercentage)+\" \")])])],1)],1),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"DMT_SE_Desc\"))+\" \")]),_c('v-col',{staticClass:\"small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('table',[_c('tbody',[_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelShare\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.indexComponents.share.nord, 1))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelIndex\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.base.nord, 5, true))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelIndex\"))+\" \"+_vm._s(_vm.to.datePrint())+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.curr.nord, 5, true))+\" \")])])])])])],1)],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"DMT_EU\"))+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.dmtContPercentage)+\" \")])])],1)],1),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"DMT_EU_Desc\"))+\" \")]),_c('v-col',{staticClass:\"small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('table',[_c('tbody',[_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelShare\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.indexComponents.share.cont, 1))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelIndex\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.base.cont, 5, true))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelIndex\"))+\" \"+_vm._s(_vm.to.datePrint())+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.curr.cont, 5, true))+\" \")])])])])])],1)],1)],1),_c('v-expansion-panel',[_c('v-expansion-panel-header',[_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"VLT_DMT\"))+\" \")])]),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"body-1 font-weight-medium blackish-text\"},[_vm._v(\" \"+_vm._s(_vm.dmtVltContPercentage)+\" \")])])],1)],1),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"VLT_DMT_Desc\"))+\" \")]),_c('v-col',{staticClass:\"small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('table',[_c('tbody',[_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelShare\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.indexComponents.share.cont, 1))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelIndex\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.base.cont, 5, true))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"FuelIndex\"))+\" \"+_vm._s(_vm.to.datePrint())+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.curr.cont, 5, true))+\" \")])])])])]),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('table',[_c('tbody',[_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"CurrencyShare\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.percentage(_vm.indexComponents.share.euro, 1))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"CurrencyIndex\"))+\" \"+_vm._s(_vm.from)+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.base.euro, 5, true))+\" \")])]),_c('tr',[_c('td',{staticClass:\"medium-padding-right\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"CurrencyIndex\"))+\" \"+_vm._s(_vm.to.datePrint())+\" \")]),_c('td',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.indexComponents.curr.euro, 5, true))+\" \")])])])])])],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { IndexComponents } from \"@/views/shared/Indexes.vue\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport { FuelIndexDto, FuelIndexType } from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n from: String,\r\n to: Object as () => CDate,\r\n indexComponents: Object as () => IndexComponents,\r\n fuelIndexesForDate: Array as () => FuelIndexDto[]\r\n },\r\n computed: {\r\n dmtSePercentage(): string {\r\n return percentage(\r\n this.fuelIndexesForDate.find(\r\n i => i.type === FuelIndexType.NordicFuelIndex\r\n )!.factor - 1,\r\n 2\r\n );\r\n },\r\n dmtContPercentage(): string {\r\n return percentage(\r\n this.fuelIndexesForDate.find(\r\n i => i.type === FuelIndexType.ContinentalFuelInternalIndex\r\n )!.factor - 1,\r\n 2\r\n );\r\n },\r\n dmtVltContPercentage(): string {\r\n return percentage(\r\n this.fuelIndexesForDate.find(\r\n i => i.type === FuelIndexType.ContinentalFuelIndex\r\n )!.factor - 1,\r\n 2\r\n );\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexAccordion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexAccordion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndexAccordion.vue?vue&type=template&id=f8e91a2a&scoped=true&\"\nimport script from \"./IndexAccordion.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndexAccordion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./IndexAccordion.vue?vue&type=style&index=0&id=f8e91a2a&scoped=true&lang=css&\"\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 \"f8e91a2a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('canvas',{key:_vm.key,attrs:{\"id\":\"chart\",\"width\":\"400\",\"height\":\"400\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Chart, ChartData, ChartItem, registerables } from \"chart.js\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nChart.register(...registerables);\r\n\r\nexport enum AxisUnit {\r\n Number,\r\n SEK,\r\n SEKM3,\r\n Percentage\r\n}\r\n\r\nexport const chartColors = (index: number): string => {\r\n const colors = [\r\n \"#c62107\",\r\n \"#4d4d4d\",\r\n \"#dfd5bb\",\r\n \"#60b0e0\",\r\n \"#ffa500\",\r\n \"#43a047\",\r\n \"#e040fb\",\r\n \"#16dddd\",\r\n \"#457575\",\r\n \"#807060\"\r\n ];\r\n return colors[index % colors.length];\r\n};\r\n\r\nexport default Vue.extend({\r\n props: {\r\n chartData: Object as () => ChartData<\"line\", number[], string>,\r\n title: String,\r\n labelCallback: Function,\r\n yAxisUnit: Number as () => AxisUnit\r\n },\r\n mounted() {\r\n this.render();\r\n },\r\n watch: {\r\n chartData() {\r\n this.key++;\r\n this.$nextTick(() => {\r\n this.render();\r\n });\r\n }\r\n },\r\n methods: {\r\n render() {\r\n const ctx: ChartItem = document.getElementById(\"chart\") as any;\r\n this.chartData.datasets.map(d => {\r\n d.borderWidth = d.borderWidth === undefined ? 2.5 : d.borderWidth;\r\n d.pointRadius = d.pointRadius === undefined ? 2 : d.pointRadius;\r\n d.pointBorderWidth =\r\n d.pointBorderWidth === undefined ? 4 : d.pointBorderWidth;\r\n d.hoverBorderWidth =\r\n d.hoverBorderWidth === undefined ? 7 : d.hoverBorderWidth;\r\n });\r\n new Chart(ctx, {\r\n type: \"line\",\r\n data: this.chartData,\r\n options: {\r\n plugins: {\r\n title: {\r\n text: this.title,\r\n display: !!this.title\r\n },\r\n tooltip: {\r\n callbacks: {\r\n label: this.labelCallback as any\r\n }\r\n }\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n x: {\r\n display: true,\r\n title: {\r\n display: true,\r\n text: \"Datum\"\r\n }\r\n },\r\n y: {\r\n display: true,\r\n ticks: {\r\n callback: this.yAxisValue\r\n },\r\n title: {\r\n display: true,\r\n text: this.yAxisLabel()\r\n }\r\n }\r\n },\r\n onClick: (_, v) => {\r\n this.$emit(\"click\", v[0].datasetIndex, v[0].index);\r\n }\r\n }\r\n });\r\n },\r\n yAxisValue(text: any): string {\r\n if (this.yAxisUnit === AxisUnit.Percentage) {\r\n return percentage(Number(text), 2);\r\n }\r\n return money(text, 0);\r\n },\r\n yAxisLabel(): string {\r\n switch (this.yAxisUnit) {\r\n case AxisUnit.Number:\r\n return \"Antal\";\r\n case AxisUnit.SEK:\r\n return \"SEK\";\r\n case AxisUnit.SEKM3:\r\n return \"SEK/m3\";\r\n case AxisUnit.Percentage:\r\n return \"Procentuell andel\";\r\n }\r\n }\r\n },\r\n data: (): { key: number } => ({ key: 1 })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BezierChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BezierChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BezierChart.vue?vue&type=template&id=94593f16&\"\nimport script from \"./BezierChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./BezierChart.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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport IndexAccordion from \"@/components/web/index/IndexAccordion.vue\";\r\nimport {\r\n ApiConfiguration,\r\n BaseIndexPeriodDto,\r\n BaseIndexPeriodSearchCriteria,\r\n FuelIndexDto,\r\n FuelIndexesSearchCriteria,\r\n FuelIndexType,\r\n IndexPeriodDto,\r\n IndexType,\r\n RepositoryClient,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport BezierChart, {\r\n AxisUnit,\r\n chartColors\r\n} from \"@/components/shared/charts/BezierChart.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { percentage } from \"@/scripts/misc/money\";\r\nimport Config from \"@/scripts/config/config\";\r\nimport { linkWithLocale, stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { ChartData, ChartDataset, TooltipItem } from \"chart.js\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { fuelIndexTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nexport type IndexComponents = {\r\n share: IndexComponentsInner;\r\n base: IndexComponentsInner;\r\n curr: IndexComponentsInner;\r\n};\r\n\r\ntype IndexComponentsInner = {\r\n nord: number;\r\n cont: number;\r\n euro: number;\r\n};\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Dropdown,\r\n DatePicker,\r\n BezierChart,\r\n IndexAccordion\r\n },\r\n watch: {\r\n fromToForWatch: {\r\n handler() {\r\n this.fetchFuelIndexes();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n from(): string {\r\n const val = this.$route.query.from;\r\n if (!val) {\r\n return \"2021-12-10\"; // Behöver ha ett default värde annars blir det Invalid DateTime | null som parameter när sidan laddas.\r\n }\r\n return val as string;\r\n },\r\n to(): CDate | undefined {\r\n const val = this.$route.query.to;\r\n if (!val) {\r\n return undefined;\r\n }\r\n return CDate.fromString(val as string, TimeZone.Europe_Stockholm);\r\n },\r\n noIndexYetText(): string {\r\n if (!this.to || !this.from || this.indexComponents) {\r\n return \"\";\r\n }\r\n return t(\"NoIndexYet\").replace(\"{0}\", this.to.datePrint());\r\n },\r\n fromToForWatch(): any {\r\n return [this.from, this.to];\r\n },\r\n indexDates(): RepositoryDto[] {\r\n return this.baseIndexPeriods\r\n .map(\r\n i =>\r\n new RepositoryDto({\r\n id: i.indexDate.datePrint() as any,\r\n text: i.displayName\r\n })\r\n )\r\n .sort((a, b) => -stringCompare(a.id, b.id));\r\n },\r\n baseIndexPeriod(): IndexPeriodDto | undefined {\r\n return this.indexPeriods.find(p => p.from.datePrint() === this.from);\r\n },\r\n indexPeriod(): IndexPeriodDto | undefined {\r\n if (!this.to) {\r\n return;\r\n }\r\n return this.indexPeriods.find(p => this.to!.isBetween(p.from, p.to));\r\n },\r\n indexComponents(): IndexComponents | undefined {\r\n if (!this.baseIndexPeriod || !this.indexPeriod) {\r\n return undefined;\r\n }\r\n const baseValues = this.baseIndexPeriod!.values;\r\n const currValues = this.indexPeriod!.values;\r\n if (!baseValues || !currValues) {\r\n return undefined;\r\n }\r\n return {\r\n share: {\r\n nord: baseValues.find(v => v.type === IndexType.NordicFuel)!.share,\r\n cont: baseValues.find(v => v.type === IndexType.ContinentalFuel)!\r\n .share,\r\n euro: baseValues.find(v => v.type === IndexType.EuroCurrency)!.share\r\n },\r\n base: {\r\n nord: baseValues.find(v => v.type === IndexType.NordicFuel)!.value,\r\n cont: baseValues.find(v => v.type === IndexType.ContinentalFuel)!\r\n .value,\r\n euro: baseValues.find(v => v.type === IndexType.EuroCurrency)!.value\r\n },\r\n curr: {\r\n nord: currValues.find(v => v.type === IndexType.NordicFuel)!.value,\r\n cont: currValues.find(v => v.type === IndexType.ContinentalFuel)!\r\n .value,\r\n euro: currValues.find(v => v.type === IndexType.EuroCurrency)!.value\r\n }\r\n };\r\n },\r\n documentLocation(): string {\r\n return linkWithLocale(\r\n Config.getDocsUrl() +\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/index_guide/index.html\"\r\n );\r\n },\r\n chartData(): ChartData<\"line\", number[], string> {\r\n let labels: string[] = [];\r\n let datasets: ChartDataset<\"line\", number[]>[] = [];\r\n if (this.fuelIndexes.length > 0) {\r\n const fromAsDate = CDate.fromString(\r\n this.from,\r\n TimeZone.Europe_Stockholm\r\n );\r\n const points = this.fuelIndexes\r\n .filter(\r\n i =>\r\n i.date > CDate.fromString(\"2012-01-01\", TimeZone.Europe_Stockholm)\r\n )\r\n .filter(\r\n i =>\r\n i.date > fromAsDate.addMonths(-6) ||\r\n i.date > this.to!.addMonths(-6)\r\n )\r\n .filter(i => i.date <= fromAsDate || i.date <= this.to!)\r\n .filter(i => i.type === this.fuelIndexType);\r\n labels = points.map(p => p.date.datePrint());\r\n datasets = [\r\n {\r\n label: t(\"Index\"),\r\n cubicInterpolationMode: \"monotone\",\r\n borderColor: chartColors(3),\r\n data: points.map(p => p.factor - 1)\r\n },\r\n {\r\n label: `${t(\"BaseIndex\")} ${this.from}`,\r\n cubicInterpolationMode: \"monotone\",\r\n borderColor: chartColors(0),\r\n data: points.map(\r\n _ =>\r\n this.fuelIndexes.find(p => p.date.isSame(fromAsDate))!.factor -\r\n 1\r\n ),\r\n pointRadius: 0\r\n }\r\n ];\r\n }\r\n return {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n },\r\n yAxisUnit(): AxisUnit {\r\n return AxisUnit.Percentage;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n labelCallback(x: TooltipItem<\"line\">): string {\r\n return percentage(x.raw as number, 2);\r\n },\r\n fromChanged(val: string | undefined) {\r\n this.changeDates(val, this.to);\r\n },\r\n toChanged(val: CDate | undefined) {\r\n this.changeDates(this.from, val);\r\n },\r\n changeDates(from: string | undefined, to: CDate | undefined) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n from: from,\r\n to: to ? to.datePrint() : undefined\r\n }\r\n });\r\n },\r\n fetchIndexPeriods() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .indexPeriods()\r\n .then(res => {\r\n this.indexPeriods = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchBaseIndexPeriods() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .baseIndexPeriods()\r\n .then(res => {\r\n this.baseIndexPeriods = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchFuelIndexes() {\r\n const from = CDate.fromString(this.from, TimeZone.Europe_Stockholm);\r\n const to = this.to;\r\n if (!from.isValid || !to) {\r\n this.fuelIndexesForDate = [];\r\n this.fuelIndexes = [];\r\n return;\r\n }\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .fuelIndexesForDate(\r\n new FuelIndexesSearchCriteria({\r\n baseIndexDate: from,\r\n indexDate: to\r\n })\r\n )\r\n .then(res => {\r\n this.fuelIndexesForDate = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .fuelIndexes(\r\n new BaseIndexPeriodSearchCriteria({\r\n validDate: from\r\n })\r\n )\r\n .then(res => {\r\n this.fuelIndexes = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n if (!this.to) {\r\n this.toChanged(CDate.now(TimeZone.Europe_Stockholm));\r\n }\r\n this.fetchIndexPeriods();\r\n this.fetchBaseIndexPeriods();\r\n },\r\n data: (): {\r\n indexPeriods: IndexPeriodDto[];\r\n baseIndexPeriods: BaseIndexPeriodDto[];\r\n fuelIndexesForDate: FuelIndexDto[];\r\n fuelIndexes: FuelIndexDto[];\r\n fuelIndexType: FuelIndexType;\r\n fuelIndexTypes: RepositoryDto[];\r\n } => ({\r\n indexPeriods: [],\r\n baseIndexPeriods: [],\r\n fuelIndexesForDate: [],\r\n fuelIndexes: [],\r\n fuelIndexType: FuelIndexType.NordicFuelIndex,\r\n fuelIndexTypes: fuelIndexTypes()\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Indexes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Indexes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Indexes.vue?vue&type=template&id=76d189ea&\"\nimport script from \"./Indexes.vue?vue&type=script&lang=ts&\"\nexport * from \"./Indexes.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"medium-padding\"},[[_c('v-card-title',{staticClass:\"no-padding\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"AboutLasset\"))+\" \")]),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"AboutTheSystem1\"))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"AboutTheSystem2\"))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"AboutTheSystem3\"))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"AboutTheSystem4\"))+\" \")])]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.name)+\" \")])]),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-icon',[_vm._v(\"mdi-phone\")]),_c('a',{staticClass:\"small-padding-left font-weight-medium\",attrs:{\"href\":(\"tel:\" + _vm.phone)}},[_vm._v(_vm._s(_vm.phone))])],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-icon',[_vm._v(\"mdi-email\")]),_c('a',{staticClass:\"small-padding-left font-weight-medium\",attrs:{\"href\":(\"mailto:\" + _vm.email)}},[_vm._v(_vm._s(_vm.email))])],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n data: (): { name: string; email: string; phone: string } => ({\r\n name: \"Susanne Brundell Wahren\",\r\n email: \"susanne.brundell-wahren@triona.se\",\r\n phone: \"+46 70 258 12 21\"\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./About.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./About.vue?vue&type=template&id=0c4ebd8a&\"\nimport script from \"./About.vue?vue&type=script&lang=ts&\"\nexport * from \"./About.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCard,VCardTitle,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.news),function(n,index){return _c('v-row',{key:index},[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('NewsSheet',{attrs:{\"body\":n.body,\"displayDate\":n.displayDate}})],1),_c('v-spacer')],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('v-sheet',{staticClass:\"news-sheet large-padding-sides small-vertical-padding render-newlines\",attrs:{\"rounded\":\"\",\"elevation\":\"2\",\"width\":\"750\"}},[_c('div',{staticClass:\"date-div dark-text\"},[_vm._v(\" \"+_vm._s(_vm.displayDate.datePrint())+\" \")]),_c('div',_vm._l((_vm.parts),function(p,index){return _c('span',{key:index},[(p.img)?_c('v-img',{staticClass:\"clickable\",attrs:{\"src\":_vm.imageData(p.text),\"max-height\":\"300\",\"contain\":\"\"},on:{\"click\":function($event){return _vm.openImage(p.text)}}}):(p.link)?_c('a',{staticClass:\"news-link\",attrs:{\"href\":p.text,\"target\":\"_blank\"}},[_vm._v(\" \"+_vm._s(p.text)+\" \")]):_c('span',{class:{\n 'font-weight-bold': p.bold,\n 'font-italic': p.italic,\n 'size-0': p.size === 0,\n 'size-1': p.size === 1,\n 'size-2': p.size === 2\n }},[_vm._v(\" \"+_vm._s(p.text)+\" \")])],1)}),0)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { viewDocument } from \"@/components/shared/ui/DocumentButton.vue\";\r\n\r\ninterface TextPart {\r\n img: boolean;\r\n link: boolean;\r\n text: string;\r\n bold: boolean;\r\n italic: boolean;\r\n size: number;\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n body: String,\r\n displayDate: Object as () => CDate\r\n },\r\n watch: {\r\n body: {\r\n handler() {\r\n this.generateParts();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n generateParts(): void {\r\n if (!this.body) {\r\n this.parts = [];\r\n }\r\n const parts: TextPart[] = this.body\r\n .replaceAll(\"\\\\\\\\\", \"¤\")\r\n .replaceAll(\"\\n\", \"¤\\n¤\")\r\n .replaceAll(\"\\\\p\", \"¤\\\\p\")\r\n .replaceAll(\"\\\\\", \"¤\\\\\")\r\n .replaceAll(\"\\\\0¤\\\\\", \"\\\\0\\\\\")\r\n .replaceAll(\"\\\\1¤\\\\\", \"\\\\1\\\\\")\r\n .replaceAll(\"\\\\2¤\\\\\", \"\\\\2\\\\\")\r\n .replaceAll(\"\\\\b¤\\\\\", \"\\\\b\\\\\")\r\n .replaceAll(\"\\\\i¤\\\\\", \"\\\\i\\\\\")\r\n .replaceAll(\"\\\\l¤\\\\\", \"\\\\l\\\\\")\r\n .split(\"¤\")\r\n .map(t => ({\r\n img: false,\r\n link: false,\r\n text: t,\r\n bold: false,\r\n italic: false,\r\n size: 0\r\n }));\r\n\r\n parts.map(r => {\r\n if (r.text.includes(\"\\\\b\")) {\r\n r.bold = true;\r\n r.text = r.text.replace(\"\\\\b\", \"\");\r\n }\r\n if (r.text.includes(\"\\\\i\")) {\r\n r.italic = true;\r\n r.text = r.text.replace(\"\\\\i\", \"\");\r\n }\r\n if (r.text.includes(\"\\\\l\")) {\r\n r.link = true;\r\n r.text = r.text.replace(\"\\\\l\", \"\");\r\n }\r\n if (r.text.includes(\"\\\\0\")) {\r\n r.size = 0;\r\n r.text = r.text.replace(\"\\\\0\", \"\");\r\n }\r\n if (r.text.includes(\"\\\\1\")) {\r\n r.size = 1;\r\n r.text = r.text.replace(\"\\\\1\", \"\");\r\n }\r\n if (r.text.includes(\"\\\\2\")) {\r\n r.size = 2;\r\n r.text = r.text.replace(\"\\\\2\", \"\");\r\n }\r\n if (r.text.includes(\"\\\\p\")) {\r\n r.img = true;\r\n r.text = r.text.replace(\"\\\\p\", \"\");\r\n this.fetchImage(r.text);\r\n }\r\n });\r\n this.parts = parts;\r\n },\r\n imageData(name: string) {\r\n const img = this.images.find(i => i.name === name);\r\n return img === undefined ? undefined : img.data;\r\n },\r\n fetchImage(name: string) {\r\n if (this.images.some(i => i.name === name)) {\r\n return;\r\n }\r\n const headers = new Headers();\r\n headers.set(\"Authorization\", `Bearer ${this.$store.getters.token}`);\r\n headers.set(\r\n \"CurrentClientVersion\",\r\n this.$store.getters.currentClientVersion\r\n );\r\n fetch(`/api/files/${name}`, { headers })\r\n .then(res => {\r\n return res.arrayBuffer();\r\n })\r\n .then(res => {\r\n let binary = \"\";\r\n const bytes = new Uint8Array(res);\r\n const len = bytes.byteLength;\r\n for (let i = 0; i < len; i++) {\r\n binary += String.fromCharCode(bytes[i]);\r\n }\r\n const base64 = window.btoa(binary);\r\n this.images.push({\r\n name: name,\r\n data: `data:image/png;base64,${base64}`\r\n });\r\n });\r\n },\r\n openImage(fileName: string) {\r\n viewDocument(fileName);\r\n }\r\n },\r\n data: (): {\r\n parts: TextPart[];\r\n images: { name: string; data: string }[];\r\n } => ({\r\n parts: [],\r\n images: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsSheet.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsSheet.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewsSheet.vue?vue&type=template&id=5a84301b&scoped=true&\"\nimport script from \"./NewsSheet.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewsSheet.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NewsSheet.vue?vue&type=style&index=0&id=5a84301b&scoped=true&lang=css&\"\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 \"5a84301b\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VImg,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport NewsSheet from \"@/components/shared/ui/NewsSheet.vue\";\r\nimport {\r\n ApiConfiguration,\r\n Culture,\r\n NewsClient,\r\n NewsDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n NewsSheet\r\n },\r\n methods: {\r\n fetchNews() {\r\n new NewsClient(new ApiConfiguration(this.$store))\r\n .listSimple()\r\n .then(res => {\r\n this.news = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n updateLastRead() {\r\n new NewsClient(new ApiConfiguration(this.$store))\r\n .updateLastNewsRead()\r\n .then(() => {})\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.fetchNews();\r\n this.updateLastRead();\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n news: NewsDto[];\r\n cultures: { id: number; culture: Culture }[];\r\n } => ({\r\n saveInProgress: false,\r\n news: [],\r\n cultures: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./News.vue?vue&type=template&id=d51f458a&\"\nimport script from \"./News.vue?vue&type=script&lang=ts&\"\nexport * from \"./News.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('Spinner',{attrs:{\"size\":120}}):_c('SearchCard',{attrs:{\"title\":_vm.$t('Support')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(\"SupportString\")))])]),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.$t(\"RTFM\")))])]),_c('v-col',{staticClass:\"small-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"font-weight-bold\"},[_c('a',{attrs:{\"href\":_vm.userGuideLink}},[_vm._v(_vm._s(_vm.$t(\"Link\")))])])]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Subject'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.sendDto.subject),callback:function ($$v) {_vm.$set(_vm.sendDto, \"subject\", $$v)},expression:\"sendDto.subject\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('Description'),\"rows\":6,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.sendDto.description),callback:function ($$v) {_vm.$set(_vm.sendDto, \"description\", $$v)},expression:\"sendDto.description\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Name')},model:{value:(_vm.sendDto.name),callback:function ($$v) {_vm.$set(_vm.sendDto, \"name\", $$v)},expression:\"sendDto.name\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Email'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.sendDto.email),callback:function ($$v) {_vm.$set(_vm.sendDto, \"email\", $$v)},expression:\"sendDto.email\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Mobile'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.sendDto.mobile),callback:function ($$v) {_vm.$set(_vm.sendDto, \"mobile\", $$v)},expression:\"sendDto.mobile\"}})],1),(_vm.attachedFiles)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.attachedFiles),function(file,index){return _c('div',{key:index},[_c('span',[_vm._v(\" \"+_vm._s(file.name)+\" \")]),_c('v-btn',{attrs:{\"icon\":\"\",\"height\":\"25\"}},[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"red\"},on:{\"click\":function($event){return _vm.removeFile(file)}}},[_vm._v(\" mdi-close \")])],1)],1)}),0):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',[_c('input',{ref:\"fileUpload\",attrs:{\"type\":\"file\",\"accept\":\"image/*\",\"hidden\":\"\"},on:{\"change\":_vm.listFiles}}),_c('v-btn',{staticClass:\"btn-cyan\",on:{\"click\":_vm.chooseFiles}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AttachFile\"))+\" \")]),_c('span',{staticClass:\"font-italic small-padding-left\"},[_vm._v(_vm._s(_vm.$t(\"Max\"))+\" 2MB\")])],1)]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"LassetSupport\"))+\" \")])]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',[_vm._v(\"mdi-phone\")]),_c('a',{attrs:{\"href\":\"tel:+46 10 551 84 00\"}},[_vm._v(\"+46 10 551 84 00\")])],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"disabled\":!_vm.valid,\"loading\":_vm.sendInProgress},on:{\"click\":_vm.send}},[_c('v-icon',{attrs:{\"size\":\"17\",\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Send\"))+\" \")],1)],1)],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\n\r\nimport {\r\n ApiConfiguration,\r\n FileDto,\r\n SupportClient,\r\n SupportFormDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Vue from \"vue\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { linkWithLocale } from \"@/scripts/misc/stringUtils\";\r\nimport Config from \"@/scripts/config/config\";\r\nexport default Vue.extend({\r\n components: {\r\n TextMulti,\r\n TextSingle,\r\n Spinner,\r\n SearchCard\r\n },\r\n computed: {\r\n userGuideLink(): string {\r\n return (\r\n Config.getDocsUrl() +\r\n linkWithLocale(\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/index.html\"\r\n )\r\n );\r\n }\r\n },\r\n methods: {\r\n send() {\r\n this.sendInProgress = true;\r\n new SupportClient(new ApiConfiguration(this.$store))\r\n .send(this.sendDto!)\r\n .then(() => {\r\n this.resetFormFields();\r\n return this.resetFormValidation();\r\n })\r\n .then(() => {\r\n pushNotification(\r\n this.$t(\"SupportSend\").toString(),\r\n \"mdi-check-circle\"\r\n );\r\n this.fetchPreSupport();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n resetFormFields() {\r\n this.sendDto.name = \"\";\r\n this.sendDto.email = \"\";\r\n this.sendDto.mobile = \"\";\r\n this.sendDto.subject = \"\";\r\n this.sendDto.description = \"\";\r\n this.sendDto.file = [];\r\n this.attachedFiles = [];\r\n },\r\n resetFormValidation() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n if (form && form.resetValidation) {\r\n form.resetValidation();\r\n }\r\n });\r\n },\r\n fetchPreSupport() {\r\n new SupportClient(new ApiConfiguration(this.$store))\r\n .preSupport()\r\n .then(res => {\r\n this.sendDto.name = res.name;\r\n this.sendDto.email = res.email;\r\n this.sendDto.mobile = res.mobile;\r\n this.sendInProgress = false;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n chooseFiles() {\r\n let fileUpload = this.$refs.fileUpload as any;\r\n fileUpload.click();\r\n },\r\n listFiles(e: any) {\r\n if (e.target.files[0].size < 2 * 1024 * 1024) {\r\n let importedFile = e.target.files[0];\r\n this.attachedFiles.push(importedFile);\r\n } else {\r\n alertDialog(\r\n this.$t(\"ToLargeFile\").toString(),\r\n this.$t(\"ExceedsMaxFileSize2MB\").toString()\r\n );\r\n }\r\n this.updateFormData();\r\n },\r\n removeFile(file: any) {\r\n this.attachedFiles = this.attachedFiles.filter(x => x !== file);\r\n this.updateFormData();\r\n },\r\n updateFormData() {\r\n this.sendDto.file = [];\r\n this.attachedFiles.forEach(file => {\r\n const reader = new FileReader();\r\n reader.onloadend = () => {\r\n let b64 = reader.result as string;\r\n b64 = b64.replace(\"data:\", \"\").replace(/^.+,/, \"\");\r\n this.sendDto.file!.push(\r\n new FileDto({\r\n name: file.name,\r\n contentType: file.type,\r\n fileData: b64\r\n })\r\n );\r\n };\r\n reader.readAsDataURL(file);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.sendInProgress = false;\r\n this.fetchPreSupport();\r\n },\r\n data: (): {\r\n valid: boolean;\r\n loading: boolean;\r\n sendInProgress: boolean;\r\n sendDto: SupportFormDto;\r\n attachedFiles: File[];\r\n } => ({\r\n valid: false,\r\n loading: true,\r\n sendInProgress: false,\r\n sendDto: new SupportFormDto({\r\n name: \"\",\r\n email: \"\",\r\n mobile: \"\",\r\n subject: \"\",\r\n description: \"\",\r\n file: []\r\n }),\r\n attachedFiles: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupportForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupportForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SupportForm.vue?vue&type=template&id=648887dc&\"\nimport script from \"./SupportForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./SupportForm.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',[_c('ExcludedActorsCard',{attrs:{\"included\":\"\",\"actors\":_vm.includedActors,\"filter\":_vm.includedFilter},on:{\"filter\":function (f) { return (_vm.includedFilter = f); },\"click\":_vm.exclude}})],1),_c('v-col',{attrs:{\"cols\":\"1\"}}),_c('v-col',[_c('ExcludedActorsCard',{attrs:{\"actors\":_vm.excludedActors,\"filter\":_vm.excludedFilter},on:{\"filter\":function (f) { return (_vm.excludedFilter = f); },\"click\":_vm.include}})],1)],1),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.unchanged || !_vm.actors.length,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],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('SearchCard',{attrs:{\"title\":_vm.title,\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-data-table',{attrs:{\"item-key\":\"id\",\"headers\":_vm.headers,\"items\":_vm.filteredActors,\"height\":600,\"mobile-breakpoint\":\"0\",\"disable-pagination\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.text\",fn:function(){return [_c('CustomFilter',{attrs:{\"value\":_vm.filter,\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Supplier')},on:{\"input\":function (f) { return _vm.$emit('filter', f); }}})]},proxy:true}],null,true)})]}},{key:\"item.include\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('div',{staticClass:\"clickable medium-padding-right\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},[_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\" mdi-chevron-double-left \")])],1)]}},{key:\"item.text\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"clickable small-vertical-padding\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},[_vm._v(\" \"+_vm._s(item.text)+\" \")])]}},{key:\"item.exclude\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"clickable medium-padding-sides\",on:{\"click\":function () {\n _vm.$emit('click', item.id);\n }}},[_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\" mdi-chevron-double-right \")])],1)]}}],null,true)})]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ActorType, RepositoryDto } from \"@/scripts/cld.api\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n props: {\r\n included: Boolean,\r\n actors: Array as () => RepositoryDto[],\r\n filter: String\r\n },\r\n computed: {\r\n title(): string {\r\n let title = \"\";\r\n if (this.included) {\r\n title =\r\n this.actorType === ActorType.Client\r\n ? t(\"IncludedSuppliers\")\r\n : t(\"IncludedClients\");\r\n } else {\r\n title =\r\n this.actorType === ActorType.Client\r\n ? t(\"ExcludedSuppliers\")\r\n : t(\"ExcludedClients\");\r\n }\r\n return `${title} (${this.actors.length})`;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n filteredActors(): RepositoryDto[] {\r\n return this.actors.filter(a =>\r\n stringSearchHit(this.filter, a.text, false)\r\n );\r\n },\r\n headers(): TableHeader[] {\r\n return [\r\n {\r\n value: \"include\",\r\n text: \"\",\r\n width: 1,\r\n untranslated: true\r\n },\r\n {\r\n value: \"text\",\r\n text: \"Supplier\"\r\n },\r\n {\r\n value: \"exclude\",\r\n text: \"\",\r\n width: 1,\r\n untranslated: true\r\n }\r\n ].filter(h => h.value !== (this.included ? \"include\" : \"exclude\"));\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExcludedActorsCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExcludedActorsCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExcludedActorsCard.vue?vue&type=template&id=5549cb42&scoped=true&\"\nimport script from \"./ExcludedActorsCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExcludedActorsCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ExcludedActorsCard.vue?vue&type=style&index=0&id=5549cb42&scoped=true&lang=css&\"\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 \"5549cb42\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VDataTable,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n RepositoryClient,\r\n ApiConfiguration,\r\n ActorType,\r\n RepositoryDto,\r\n ActorsClient\r\n} from \"@/scripts/cld.api\";\r\nimport ExcludedActorsCard from \"@/components/web/settings/ExcludedActorsCard.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ExcludedActorsCard\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n includedActors(): RepositoryDto[] {\r\n return this.actors.filter(a => !this.excludedActorIds.includes(a.id));\r\n },\r\n excludedActors(): RepositoryDto[] {\r\n return this.actors.filter(a => this.excludedActorIds.includes(a.id));\r\n },\r\n unchanged(): boolean {\r\n return (\r\n this.excludedActorIdsOriginal.every(id =>\r\n this.excludedActorIds.includes(id)\r\n ) &&\r\n this.excludedActorIds.every(id =>\r\n this.excludedActorIdsOriginal.includes(id)\r\n )\r\n );\r\n }\r\n },\r\n methods: {\r\n include(id: number) {\r\n this.excludedActorIds = this.excludedActorIds.filter(e => e !== id);\r\n },\r\n exclude(id: number) {\r\n this.excludedActorIds.push(id);\r\n },\r\n fetchAllActors() {\r\n const api = new RepositoryClient(new ApiConfiguration(this.$store));\r\n const call =\r\n this.actorType === ActorType.Supplier\r\n ? api.clients(true, true, false)\r\n : api.suppliers(null, true, true);\r\n call\r\n .then(res => {\r\n this.actors = res;\r\n this.fetchExcludedActors();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchExcludedActors() {\r\n const api = new RepositoryClient(new ApiConfiguration(this.$store));\r\n const call =\r\n this.actorType === ActorType.Supplier\r\n ? api.clients(false, true, false)\r\n : api.suppliers(null, false, true);\r\n call\r\n .then(res => {\r\n this.excludedActorIds = this.actors\r\n .map(a => a.id)\r\n .filter(id => !res.map(r => r.id).includes(id));\r\n this.excludedActorIdsOriginal = [...this.excludedActorIds];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .saveExcludedActors(this.excludedActorIds)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.excludedActorIdsOriginal = [...this.excludedActorIds];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchAllActors();\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n actors: RepositoryDto[];\r\n excludedActorIds: number[];\r\n excludedActorIdsOriginal: number[];\r\n includedFilter: string;\r\n excludedFilter: string;\r\n } => ({\r\n saveInProgress: false,\r\n actors: [],\r\n excludedActorIds: [],\r\n excludedActorIdsOriginal: [],\r\n includedFilter: \"\",\r\n excludedFilter: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExcludedActors.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExcludedActors.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExcludedActors.vue?vue&type=template&id=0b3dbb9a&\"\nimport script from \"./ExcludedActors.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExcludedActors.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom no-padding\",attrs:{\"cols\":\"12\"}},[_c('SlotTableSearch',{attrs:{\"loading\":!!_vm.loading},on:{\"search\":_vm.search}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SlotTable',{attrs:{\"slots\":_vm.slots,\"loading\":!!_vm.loading},on:{\"search\":_vm.search}})],1)],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('v-sheet',{staticClass:\"tiny-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.slots,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"options\":_vm.tableOptions,\"custom-group\":_vm.customGroup,\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"group.header\",fn:function(ref){\nvar items = ref.items;\nreturn [_c('td',{staticClass:\"group-header\",attrs:{\"colspan\":\"1\"}},[_c('SlotDots',{attrs:{\"loadId\":items[0].loadId}})],1),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('span',[_vm._v(_vm._s(items[0].loadId))])]),_c('td',{attrs:{\"colspan\":\"6\"}},[(items[0].booked)?_c('v-icon',{attrs:{\"color\":\"green\"},on:{\"click\":function($event){return _vm.openSlotTimeCalender(items[0].loadId)}}},[_vm._v(\"mdi-calendar-check\")]):_c('v-icon',{attrs:{\"color\":\"orange\"},on:{\"click\":function($event){return _vm.openSlotTimeCalender(items[0].loadId)}}},[_vm._v(\"mdi-calendar-blank\")])],1),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('EllipsisTableItem',{attrs:{\"text\":items[0].note,\"width\":\"120\"}})],1),_c('td',{staticClass:\"dont-render-newlines\",attrs:{\"colspan\":\"1\"}},[_c('span',[_vm._v(_vm._s(items[0].deliveryLatest)+\" \")])]),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('EllipsisTableItem',{attrs:{\"text\":_vm.routeName(items[0])}})],1),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('span',[_vm._v(_vm._s(items[0].truckNo))])]),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('EllipsisTableItem',{attrs:{\"text\":items[0].bookingNo}})],1),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('EllipsisTableItem',{attrs:{\"text\":items[0].transportNo}})],1),_c('td',{attrs:{\"colspan\":\"1\"}},[(_vm.isSupplier)?_c('EllipsisTableItem',{attrs:{\"text\":items[0].clientName}}):_vm._e(),(_vm.isClient)?_c('EllipsisTableItem',{attrs:{\"text\":items[0].supplierName}}):_vm._e()],1)]}},{key:\"item.loadId\",fn:function(){return undefined},proxy:true},{key:\"item.ton\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.convertToTon(item.kilograms))+\" \")]}},{key:\"item.minutes\",fn:function(ref){\nvar item = ref.item;\nreturn [(!item.booked)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('span',[_vm._v(_vm._s(item.minutes))]),_c('span',{staticStyle:{\"color\":\"orange\"}},[_vm._v(\" *\")])])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Preliminary\")))])]):_c('span',[_vm._v(_vm._s(item.minutes))])]}},{key:\"item.startDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.startDate,\"width\":\"130\"}})]}},{key:\"item.endDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.endDate,\"width\":\"130\"}})]}},{key:\"item.note\",fn:function(){return undefined},proxy:true},{key:\"item.alterDate\",fn:function(){return undefined},proxy:true},{key:\"item.truckNo\",fn:function(){return undefined},proxy:true},{key:\"item.bookingNo\",fn:function(){return undefined},proxy:true},{key:\"item.transportNo\",fn:function(){return undefined},proxy:true},{key:\"item.supplierName\",fn:function(){return undefined},proxy:true},{key:\"item.clientName\",fn:function(){return undefined},proxy:true}],null,true)}),_c('LoadDialogs',{on:{\"search\":_vm.search}})],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('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"height\":\"23\",\"width\":\"23\",\"icon\":\"\"}},on),[_c('v-icon',{attrs:{\"size\":\"25\"}},[_vm._v(\" mdi-dots-horizontal \")])],1)]}}])},[_c('v-list',{staticClass:\"no-padding\",attrs:{\"dense\":\"\"}},[_c('v-list-item',{staticClass:\"medium-padding-sides\",on:{\"click\":_vm.openDetails}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"black\"}},[_vm._v(\" mdi-text-box-search-outline \")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"Details\")))])],1),_c('v-list-item',{staticClass:\"medium-padding-sides\",on:{\"click\":_vm.openSlotTimeCalender}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"black\"}},[_vm._v(\" mdi-calendar-edit \")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t(\"Edit\")))])],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\r\nimport { LoadActionPermission } from \"@/scripts/cld.api\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n props: {\r\n loadId: Number\r\n },\r\n methods: {\r\n openDetails() {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.Details.toString(),\r\n ids: \"[\" + this.loadId.toString() + \"]\"\r\n }\r\n });\r\n },\r\n openSlotTimeCalender() {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.LoadingSlotEdit.toString(),\r\n ids: \"[\" + this.loadId.toString() + \"]\"\r\n }\r\n });\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotDots.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotDots.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotDots.vue?vue&type=template&id=3a860850&scoped=true&\"\nimport script from \"./SlotDots.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotDots.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SlotDots.vue?vue&type=style&index=0&id=3a860850&scoped=true&lang=css&\"\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 \"3a860850\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VList,VListItem,VListItemIcon,VListItemTitle,VMenu})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n LoadActionPermission,\r\n LoadingSlotListDto\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport SlotDots from \"@/components/web/slots/SlotDots.vue\";\r\nimport LoadDialogs from \"@/components/web/loads/shared/LoadDialogs.vue\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n slots: Array as () => LoadingSlotListDto[]\r\n },\r\n components: {\r\n CustomTableHeader,\r\n EllipsisTableItem,\r\n SlotDots,\r\n LoadDialogs\r\n },\r\n computed: {\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"dots\",\r\n text: \"\"\r\n },\r\n {\r\n value: \"loadId\",\r\n text: \"LoadID\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"\",\r\n text: \"Booked\"\r\n },\r\n {\r\n value: \"loadingDockName\",\r\n text: \"LoadingDock\"\r\n },\r\n {\r\n value: \"ton\",\r\n text: \"Ton\"\r\n },\r\n {\r\n value: \"minutes\",\r\n text: \"Minutes\"\r\n },\r\n {\r\n value: \"startDate\",\r\n text: \"FromTime\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"endDate\",\r\n text: \"ToTime\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"note\",\r\n text: \"Note\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"deliveryLatest\",\r\n text: \"DeliveryLatest\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"route\",\r\n text: \"Route\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"truckNo\",\r\n text: \"TruckNo\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"bookingNo\",\r\n text: \"BookingNo\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"transportNo\",\r\n text: \"TransportNo\",\r\n sortValue: true\r\n },\r\n {\r\n value: this.isSupplier ? \"clientName\" : \"supplierName\",\r\n text: this.isSupplier ? \"Client\" : \"Supplier\",\r\n sortValue: true\r\n }\r\n ];\r\n return headers;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 150);\r\n }\r\n },\r\n methods: {\r\n customGroup(\r\n slots: LoadingSlotListDto[]\r\n ): { name: string; sortVal: string; items: LoadingSlotListDto[] }[] {\r\n let res: {\r\n name: string;\r\n sortVal: string;\r\n items: LoadingSlotListDto[];\r\n }[] = [];\r\n for (let slot of slots) {\r\n const matchingGroup = res.find(x => x.name === slot.loadId.toString());\r\n if (matchingGroup) {\r\n matchingGroup.items.push(slot);\r\n } else {\r\n res.push({\r\n name: slot.loadId.toString(),\r\n sortVal: this.sortValue(slot),\r\n items: [slot]\r\n });\r\n }\r\n }\r\n res.sort((a, b) => {\r\n return stringCompare(a.sortVal, b.sortVal);\r\n });\r\n if (this.tableOptions.sortDesc[0]) {\r\n res.reverse();\r\n }\r\n return res;\r\n },\r\n sortValue(slot: LoadingSlotListDto): string {\r\n const sortBy = this.tableOptions.sortBy[0].toString();\r\n if (sortBy === \"route\") {\r\n return this.routeName(slot);\r\n }\r\n if (sortBy === \"startDate\" || sortBy === \"endDate\") {\r\n const date = slot[sortBy];\r\n return date ? date.toSeconds().toString() : \"inte en siffra\";\r\n }\r\n return (slot as any)[sortBy] ? (slot as any)[sortBy].toString() : \"\";\r\n },\r\n routeName(slot: LoadingSlotListDto): string {\r\n return slot.pickupLocation + \" - \" + slot.deliveryLocation;\r\n },\r\n openSlotTimeCalender(loadId: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.LoadingSlotEdit.toString(),\r\n ids: \"[\" + loadId.toString() + \"]\"\r\n }\r\n });\r\n },\r\n convertToTon(kg: number) {\r\n return kg / 1000;\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n },\r\n mounted() {\r\n this.$nextTick(function() {\r\n this.intervalId = setInterval(() => {\r\n this.search();\r\n }, 60000);\r\n });\r\n },\r\n destroyed() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n },\r\n data: (): { intervalId?: number; tableOptions: TableOptions } => ({\r\n intervalId: undefined,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: -1,\r\n sortBy: [\"startDate\"],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotTable.vue?vue&type=template&id=146216ca&\"\nimport script from \"./SlotTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.$t('CurrentSlotTimeBookings'),\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"refresh\":_vm.search},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{staticClass:\"medium-margin-right\",on:{\"click\":_vm.calendarView}},[_c('v-icon',{attrs:{\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-calendar-month \")])],1)]},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\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport { LoadActionPermission } from \"@/scripts/cld.api\";\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean\r\n },\r\n components: {\r\n SearchCard\r\n },\r\n methods: {\r\n calendarView() {\r\n this.$router.push(\r\n \"/slots?action=\" + LoadActionPermission.LoadingSlotEdit\r\n );\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotTableSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotTableSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SlotTableSearch.vue?vue&type=template&id=64318b3c&\"\nimport script from \"./SlotTableSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./SlotTableSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n LoadingSlotListDto,\r\n LoadingSlotsClient\r\n} from \"@/scripts/cld.api\";\r\nimport SlotTable from \"@/components/web/slots/SlotTable.vue\";\r\nimport SlotTableSearch from \"@/components/web/slots/SlotTableSearch.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nexport default Vue.extend({\r\n components: {\r\n SlotTable,\r\n SlotTableSearch\r\n },\r\n methods: {\r\n search() {\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new LoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .loadingSlots()\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.slots = res;\r\n this.loading = 0;\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: number;\r\n slots: LoadingSlotListDto[];\r\n } => ({\r\n loading: 0,\r\n slots: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slots.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Slots.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Slots.vue?vue&type=template&id=437aa148&\"\nimport script from \"./Slots.vue?vue&type=script&lang=ts&\"\nexport * from \"./Slots.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('InvoiceReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('InvoiceReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer,\"rows\":_vm.rowsX},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"rowsModified\":_vm.rowsModified,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.pendingChanges,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)],1)],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('InvoiceAudit'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \" CET/CEST)\"),\"zone\":_vm.stockholmZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \" CET/CEST)\"),\"zone\":_vm.stockholmZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DropdownMulti',{attrs:{\"label\":_vm.$t('Status'),\"items\":_vm.treatedStatusItems,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.treatedStatuses),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"treatedStatuses\", $$v)},expression:\"searchCriteria.treatedStatuses\"}})],1)],1),_c('v-row',[(_vm.reportContainer.count)?_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NumberOfLoads'),\"value\":_vm.reportContainer.count}})],1):_vm._e(),_vm._l((_vm.reportContainer.priceSums || []),function(price){return _c('v-col',{key:price.currency,staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('InvoicePrices')) + \" (\" + (_vm.currencyName(price.currency)) + \")\"),\"value\":_vm.money(price.priceSum, 0)}})],1)})],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n InvoiceReportSearchCriteria,\r\n InvoiceReportContainerDto,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { actorCargoTypes, treatedStatuses } from \"@/scripts/misc/enumLists\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n DropdownMulti,\r\n ReadOnlyText\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: InvoiceReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): InvoiceReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoiceReport,\r\n 1\r\n );\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n treatedStatusItems(): RepositoryDto[] {\r\n return treatedStatuses();\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n },\r\n data: (): {\r\n stockholmZone: TimeZone;\r\n } => ({\r\n stockholmZone: TimeZone.Europe_Stockholm\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceReportSearch.vue?vue&type=template&id=00bbeb38&\"\nimport script from \"./InvoiceReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"item-class\":function (i) { return i.modified && 'blue-row'; },\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'supplier',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true},{key:\"filter.clientName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'client',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Client')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true},{key:\"filter.treated\",fn:function(){return [_c('div',{staticClass:\"large-padding-top\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.allTreated},on:{\"input\":_vm.treatAll}})],1)]},proxy:true},{key:\"filter.transportNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('TransportNo')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.transportNo),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"transportNo\", $$v)},expression:\"searchCriteria.transportNo\"}})]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currency),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currency\", $$v)},expression:\"searchCriteria.currency\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"150\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"160\"}})]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"80\"}})]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"120\"}})]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"120\"}})]}},{key:\"item.loadedDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DateDisplay',{attrs:{\"date\":item.loadedDate}})]}},{key:\"item.basePrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.basePrice, 0)))])]}},{key:\"item.numExtraStops\",fn:function(ref){\n var item = ref.item;\nreturn [(item.numExtraStops)?_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.numExtraStops))]):_vm._e()]}},{key:\"item.stopPrice\",fn:function(ref){\n var item = ref.item;\nreturn [(item.stopPrice)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.stopPrice, 0))+\" (\"+_vm._s(item.numExtraStops)+\") \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.$t(\"TotalStopPrice\"))+\" (\"+_vm._s(_vm.$t(\"ExtraStops\"))+\") \")]):_vm._e()]}},{key:\"item.indexPrice\",fn:function(ref){\n var item = ref.item;\nreturn [(item.indexPrice)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\",on:{\"click\":function($event){return _vm.goToIndexes(item)}}},on),[_vm._v(_vm._s(_vm.money(item.indexPrice, 0)))])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.indexTooltip(item))+\" \")]):_vm._e()]}},{key:\"item.serviceFee\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.serviceFee, 0)))])]}},{key:\"item.initialFee\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.initialFee, 0)))])]}},{key:\"item.distance\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.distance, 0)))])]}},{key:\"item.bookingFee\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.bookingFee, 2)))])]}},{key:\"item.otherPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.otherPrice, 2)))])]}},{key:\"item.invoicePrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.invoicePrice, 2)))])]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}},{key:\"item.treated\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_c('CheckboxTiny',{on:{\"input\":function($event){return _vm.rowsModified([item])}},model:{value:(item.treated),callback:function ($$v) {_vm.$set(item, \"treated\", $$v)},expression:\"item.treated\"}}),_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"disabled\":!item.history.length,\"size\":\"22\",\"color\":\"grey darken-3\"}},on),[_vm._v(\" mdi-history \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.history(item))+\" \")])],1)]}},{key:\"item.refNo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('TextSingle',{attrs:{\"allow-null\":\"\",\"compact\":\"\",\"only-on-blur\":\"\"},on:{\"input\":function($event){return _vm.rowsModified([item])}},model:{value:(item.refNo),callback:function ($$v) {_vm.$set(item, \"refNo\", $$v)},expression:\"item.refNo\"}})]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n InvoiceReportSearchCriteria,\r\n InvoiceReportContainerDto,\r\n InvoiceReportOrderBy,\r\n ActorType,\r\n CargoType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { InvoiceReportRowDtoX } from \"@/views/shared/reports/InvoiceReport.vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { indexDateTooltip } from \"../../loads/client/accordion/AccordionPrices.vue\";\r\nimport DateDisplay from \"@/components/shared/ui/DateDisplay.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n TextSingle,\r\n CheckboxTiny,\r\n DateDisplay\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: InvoiceReportContainerDto,\r\n rows: Array as () => InvoiceReportRowDtoX[]\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 360);\r\n },\r\n searchCriteria(): InvoiceReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoiceReport,\r\n 1\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n allTreated(): boolean | undefined {\r\n return this.rows.every(r => !r.treated)\r\n ? false\r\n : this.rows.every(r => r.treated)\r\n ? true\r\n : undefined;\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n width: 1,\r\n sortValue: InvoiceReportOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n width: 1,\r\n sortValue: InvoiceReportOrderBy.DeliveryLocation\r\n });\r\n if (this.actorType === ActorType.Client) {\r\n headers.push({\r\n value: \"supplierName\",\r\n text: \"Supplier\",\r\n width: 1,\r\n sortValue: InvoiceReportOrderBy.Supplier\r\n });\r\n } else if (this.actorType === ActorType.Supplier) {\r\n headers.push({\r\n value: \"clientName\",\r\n text: \"Client\",\r\n width: 1,\r\n sortValue: InvoiceReportOrderBy.Client\r\n });\r\n }\r\n headers.push({\r\n value: \"unit\",\r\n text: \"Unit\",\r\n sortValue: InvoiceReportOrderBy.Unit\r\n });\r\n headers.push({\r\n value: \"loadedDate\",\r\n text: \"LoadedDate\",\r\n sortValue: InvoiceReportOrderBy.LoadedDate,\r\n width: 120\r\n });\r\n headers.push({\r\n value: \"transportNo\",\r\n text: \"TransportNo\",\r\n width: 85\r\n });\r\n headers.push({\r\n value: \"loadId\",\r\n text: \"LoadID\",\r\n width: 1,\r\n sortValue: InvoiceReportOrderBy.LoadId\r\n });\r\n headers.push({\r\n value: \"basePrice\",\r\n text:\r\n this.searchCriteria.cargoType === CargoType.Container\r\n ? \"PricePerContainer\"\r\n : \"AgreedPrice\",\r\n width: 1\r\n });\r\n headers.push(...this.cargoTypeColumns);\r\n headers.push({\r\n value: \"bookingFee\",\r\n text: \"BookingFeeShortened\",\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"otherPrice\",\r\n text: \"OtherPrice\",\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"invoicePrice\",\r\n text: \"InvoicePrices\",\r\n width: 1,\r\n sortValue: InvoiceReportOrderBy.InvoicePrice\r\n });\r\n headers.push({\r\n value: \"currency\",\r\n text: \"Currency\",\r\n sortValue: InvoiceReportOrderBy.Currency,\r\n width: 70\r\n });\r\n headers.push({\r\n value: \"treated\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"refNo\",\r\n text: \"ReferenceNo\",\r\n sortValue: InvoiceReportOrderBy.RefNo,\r\n width: 100\r\n });\r\n return headers;\r\n },\r\n cargoTypeColumns(): TableHeader[] {\r\n const cargoType = this.searchCriteria.cargoType!;\r\n switch (cargoType) {\r\n case CargoType.Road:\r\n return [\r\n {\r\n value: \"stopPrice\",\r\n text: \"StopPrice\"\r\n },\r\n {\r\n value: \"indexPrice\",\r\n text: \"Index\"\r\n }\r\n ];\r\n case CargoType.Railroad:\r\n return [];\r\n case CargoType.Container:\r\n return [\r\n {\r\n value: \"numContainers\",\r\n text: \"NoOfContainers\"\r\n },\r\n {\r\n value: \"serviceFee\",\r\n text: \"ServiceFee\"\r\n }\r\n ];\r\n case CargoType.MachineTransport:\r\n return [\r\n {\r\n value: \"initialFee\",\r\n text: \"TruckTypeFee\"\r\n },\r\n {\r\n value: \"distance\",\r\n text: \"Distance\"\r\n },\r\n {\r\n value: \"stopPrice\",\r\n text: \"StopPrice\"\r\n },\r\n {\r\n value: \"vtlPrice\",\r\n text: \"VTL\"\r\n },\r\n {\r\n value: \"escortCarPrice\",\r\n text: \"EscortCar\"\r\n }\r\n ];\r\n default:\r\n return neverHappens(cargoType);\r\n }\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n rowsModified(items: InvoiceReportRowDtoX[]) {\r\n this.$emit(\"rowsModified\", items);\r\n },\r\n treatAll() {\r\n const value = this.allTreated !== true;\r\n this.rows.map(r => (r.treated = value));\r\n this.rowsModified(this.rows);\r\n },\r\n history(item: InvoiceReportRowDtoX): string {\r\n return item\r\n .history!.map(h => `${h.date} ${h.loadUserName} ${h.description}`)\r\n .join(\"\\n\\n\");\r\n },\r\n indexTooltip(item: InvoiceReportRowDtoX): string {\r\n return indexDateTooltip(\r\n item.indexFactor,\r\n item.baseIndexName!,\r\n item.indexDate\r\n );\r\n },\r\n goToIndexes(item: InvoiceReportRowDtoX) {\r\n window.open(\r\n `/indexes?from=${item.baseIndexDate!.datePrint()}&to=${item.indexDate!.datePrint()}`,\r\n \"_blank\"\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceReportTable.vue?vue&type=template&id=e2e02fb4&\"\nimport script from \"./InvoiceReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n InvoiceReportOrderBy,\r\n ReportsClient,\r\n InvoiceReportSearchCriteriaContainer,\r\n InvoiceReportSearchCriteria,\r\n InvoiceReportContainerDto,\r\n InvoiceTreatedRefNoDto,\r\n InvoiceReportRowDto,\r\n IInvoiceReportRowDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport InvoiceReportSearch from \"@/components/web/reports/shared/InvoiceReportSearch.vue\";\r\nimport InvoiceReportTable from \"@/components/web/reports/shared/InvoiceReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport class InvoiceReportRowDtoX extends InvoiceReportRowDto {\r\n modified: boolean;\r\n originalTreated: boolean;\r\n originalRefNo: string | undefined;\r\n\r\n constructor(data: IInvoiceReportRowDto) {\r\n super(data);\r\n this.modified = false;\r\n this.originalTreated = this.treated;\r\n this.originalRefNo = this.refNo;\r\n }\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InvoiceReportSearch,\r\n InvoiceReportTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: InvoiceReportOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as InvoiceReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): InvoiceReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoiceReport,\r\n 1\r\n );\r\n },\r\n pendingChanges(): boolean {\r\n return this.rowsX.some(r => r.modified);\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.InvoiceReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [InvoiceReportOrderBy.PickupLocation];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n rowsModified(items: InvoiceReportRowDtoX[]) {\r\n items.map(item => {\r\n item.modified =\r\n item.treated !== item.originalTreated ||\r\n item.refNo !== item.originalRefNo;\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .invoice(\r\n new InvoiceReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.rowsX = res.rows!.map(r => new InvoiceReportRowDtoX(r));\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.InvoiceReport,\r\n subTypeId: 1\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n const items = this.rowsX\r\n .filter(r => r.modified)\r\n .map(\r\n r =>\r\n new InvoiceTreatedRefNoDto({\r\n loadId: r.loadId,\r\n treated: r.treated,\r\n referenceNo: r.refNo\r\n })\r\n );\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .invoiceTreatedStatus(items)\r\n .then(res => {\r\n this.saveInProgress = false;\r\n this.search();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .invoiceExportToExcel(\r\n new InvoiceReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n saveInProgress: boolean;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n rowsX: InvoiceReportRowDtoX[];\r\n reportContainer: InvoiceReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n saveInProgress: false,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [InvoiceReportOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n }),\r\n rowsX: [],\r\n reportContainer: new InvoiceReportContainerDto({\r\n count: 0,\r\n rows: [],\r\n priceSums: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceReport.vue?vue&type=template&id=640a9962&\"\nimport script from \"./InvoiceReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('LoadStatisticsReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"showPercentage\":_vm.showPercentage,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"toggleShowPercentage\":function($event){_vm.showPercentage = !_vm.showPercentage},\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('LoadStatisticsReportTable',{attrs:{\"loading\":!!_vm.loading,\"showPercentage\":_vm.showPercentage,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],1),_c('LoadDialogs')],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('SearchCard',{attrs:{\"title\":_vm.$t('LoadStatistics'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('SwitchDouble',{attrs:{\"value\":_vm.showPercentage,\"labelFalse\":_vm.$t('Quantity'),\"labelTrue\":_vm.$t('Percentage')},on:{\"input\":function($event){return _vm.$emit('toggleShowPercentage')}}})]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1),_c('v-col',[_c('DropdownMulti',{attrs:{\"label\":_vm.$t('GroupBy'),\"items\":_vm.mergeItems,\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.splitColumns),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"splitColumns\", $$v)},expression:\"searchCriteria.splitColumns\"}})],1),_c('v-col',[_c('SwitchSingle',{attrs:{\"label\":_vm.$t('IncludeBroadcasts')},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.includeBroadcast),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"includeBroadcast\", $$v)},expression:\"searchCriteria.includeBroadcast\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\"},[_c('v-tabs',{attrs:{\"slider-size\":\"2.5\",\"show-arrows\":\"\"},on:{\"change\":_vm.search},model:{value:(_vm.searchCriteria.tab),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"tab\", $$v)},expression:\"searchCriteria.tab\"}},_vm._l((_vm.tabs),function(tab){return _c('v-tab',{key:tab.id},[[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\"}},[_vm._v(_vm._s(tab.icon))]),_vm._v(\" \"+_vm._s(tab.text)+\" \")]],2)}),1)],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tooltip',{attrs:{\"bottom\":\"\",\"disabled\":!_vm.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"switch-filter\",class:{ 'no-outline': _vm.noOutline }},on),[_c('span',{staticClass:\"v-switch-wrapper\"},[_c('v-switch',{attrs:{\"disabled\":_vm.disabled,\"hide-details\":\"\"},model:{value:(_vm.proxyValue),callback:function ($$v) {_vm.proxyValue=$$v},expression:\"proxyValue\"}})],1),_c('span',{staticClass:\"subtitle-1 blackish-text unselectable\",class:_vm.value ? 'font-weight-medium' : 'greyish-text'},[_vm._v(\" \"+_vm._s(_vm.label)+\" \")])])]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n value: Boolean,\r\n disabled: Boolean,\r\n label: String,\r\n tooltip: String,\r\n noOutline: Boolean\r\n },\r\n computed: {\r\n proxyValue: {\r\n get(): boolean {\r\n return this.value;\r\n },\r\n set(val: boolean) {\r\n this.$emit(\"input\", val);\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchSingle.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SwitchSingle.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SwitchSingle.vue?vue&type=template&id=4dd22b84&scoped=true&\"\nimport script from \"./SwitchSingle.vue?vue&type=script&lang=ts&\"\nexport * from \"./SwitchSingle.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SwitchSingle.vue?vue&type=style&index=0&id=4dd22b84&scoped=true&lang=css&\"\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 \"4dd22b84\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VSwitch,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n LoadStatisticsReportSearchCriteria,\r\n LoadStatisticsReportContainerDto,\r\n RepositoryDto,\r\n LoadStatisticsReportSplit,\r\n LoadStatisticsReportTab,\r\n ActorType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport SwitchSingle from \"@/components/shared/input/SwitchSingle.vue\";\r\nimport SwitchDouble from \"@/components/shared/input/SwitchDouble.vue\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n DropdownMulti,\r\n SwitchSingle,\r\n SwitchDouble\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n showPercentage: Boolean,\r\n reportContainer: LoadStatisticsReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): LoadStatisticsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadStatisticsReport,\r\n 1\r\n );\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n mergeItems(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.Load,\r\n text: t(\"Load\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.Actors,\r\n text:\r\n this.actorType === ActorType.Client ? t(\"Supplier\") : t(\"Client\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.Units,\r\n text: t(\"Unit\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.TruckTypes,\r\n text: t(\"TruckType\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.PickupLocations,\r\n text: t(\"PickupLocation\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.PickupCountries,\r\n text: t(\"PickupCountry\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.DeliveryLocations,\r\n text: t(\"DeliveryLocation\")\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatisticsReportSplit.DeliveryCountries,\r\n text: t(\"DeliveryCountry\")\r\n })\r\n ];\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n },\r\n data: (): {\r\n tabs: { id: LoadStatisticsReportTab; text: string; icon: string }[];\r\n } => ({\r\n tabs: [\r\n {\r\n id: LoadStatisticsReportTab.Bookings,\r\n text: t(\"BookingStatistics\"),\r\n icon: \"mdi-book-check\"\r\n },\r\n {\r\n id: LoadStatisticsReportTab.Deliveries,\r\n text: t(\"DeliveryPrecision\"),\r\n icon: \"mdi-truck-fast\"\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadStatisticsReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadStatisticsReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadStatisticsReportSearch.vue?vue&type=template&id=078dc599&\"\nimport script from \"./LoadStatisticsReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadStatisticsReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTab,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationMulti'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryIds: _vm.searchCriteria.deliveryCountries\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountries = val.countryIds;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckTypeMulti',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckTypes),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckTypes\", $$v)},expression:\"searchCriteria.truckTypes\"}})]},proxy:true},{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'supplier',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true},{key:\"filter.clientName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'client',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Client')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true}],null,true)})]}},{key:\"group.header\",fn:function(){return [_c('td',{staticClass:\"font-weight-bold\",attrs:{\"colspan\":\"6\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Total\"))+\" \")]),_vm._l((_vm.valueHeaders),function(h){return _c('td',{key:h,staticClass:\"font-weight-bold\",attrs:{\"colspan\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.totalValue(h))+\" \")])})]},proxy:true},{key:\"item.loadInfo\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.uniqueLoadIds && item.loaded)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.loadClick(item.loadId)}}},on),[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-truck \")])],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.loadInfo(item))+\" \")]):_vm._e()]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"150\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"170\"}})]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"105\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.truckTypeName(item.truckType),\"width\":\"140\"}})]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"120\"}})]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"120\"}})]}},{key:\"item.offered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.offered, 0))+\" \")])]}},{key:\"item.rejected\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.rejected, 0))+\" \")])]}},{key:\"item.ignored\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.ignored, 0))+\" \")])]}},{key:\"item.broadcastOffered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.searchCriteria.includeBroadcast ? _vm.money(item.broadcastOffered, 0) : \"-\")+\" \")])]}},{key:\"item.broadcastLoaded\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.searchCriteria.includeBroadcast ? _vm.money(item.broadcastLoaded, 0) : \"-\")+\" \")])]}},{key:\"item.loaded\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.loaded, 0))+\" \")])]}},{key:\"item.loadedWithinRequestedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.loadedWithinRequestedTime, 0))+\" \")])]}},{key:\"item.loadedWithStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.loadedWithStatedTime, 0))+\" \")])]}},{key:\"item.loadedWithinStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.loadedWithinStatedTime, 0))+\" \")])]}},{key:\"item.delivered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.delivered, 0))+\" \")])]}},{key:\"item.deliveredUsingApp\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.deliveredUsingApp, 0))+\" \")])]}},{key:\"item.deliveredWithinRequestedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.deliveredWithinRequestedTime, 0))+\" \")])]}},{key:\"item.deliveredWithStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.deliveredWithStatedTime, 0))+\" \")])]}},{key:\"item.deliveredWithinStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.deliveredWithinStatedTime, 0))+\" \")])]}},{key:\"item.shareRejected\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareRejected, 0))+\" \")])]}},{key:\"item.shareIgnored\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareIgnored, 0))+\" \")])]}},{key:\"item.shareBroadcastOffered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.searchCriteria.includeBroadcast ? _vm.percentage(item.shareBroadcastOffered, 0) : \"-\")+\" \")])]}},{key:\"item.shareBroadcastLoaded\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.searchCriteria.includeBroadcast ? _vm.percentage(item.shareBroadcastLoaded, 0) : \"-\")+\" \")])]}},{key:\"item.shareLoaded\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareLoaded, 0))+\" \")])]}},{key:\"item.shareLoadedWithinRequestedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareLoadedWithinRequestedTime, 0))+\" \")])]}},{key:\"item.shareLoadedWithStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareLoadedWithStatedTime, 0))+\" \")])]}},{key:\"item.shareLoadedWithinStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareLoadedWithinStatedTime, 0))+\" \")])]}},{key:\"item.shareDelivered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareDelivered, 0))+\" \")])]}},{key:\"item.shareDeliveredUsingApp\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareDeliveredUsingApp, 0))+\" \")])]}},{key:\"item.shareDeliveredWithinRequestedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareDeliveredWithinRequestedTime, 0))+\" \")])]}},{key:\"item.shareDeliveredWithStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareDeliveredWithStatedTime, 0))+\" \")])]}},{key:\"item.shareDeliveredWithinStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareDeliveredWithinStatedTime, 0))+\" \")])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n LoadStatisticsReportSearchCriteria,\r\n LoadStatisticsReportContainerDto,\r\n LoadStatisticsReportOrderBy,\r\n ActorType,\r\n TruckType,\r\n LoadStatisticsReportTab,\r\n LoadStatisticsReportSplit,\r\n LoadStatisticsReportRowDto,\r\n LoadActionPermission\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n showPercentage: Boolean,\r\n reportContainer: LoadStatisticsReportContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 295);\r\n },\r\n searchCriteria(): LoadStatisticsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadStatisticsReport,\r\n 1\r\n );\r\n },\r\n isClient(): boolean {\r\n return this.$store.getters[gets.userInfo].actorType === ActorType.Client;\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n uniqueLoadIds(): boolean {\r\n return this.searchCriteria.splitColumns!.includes(\r\n LoadStatisticsReportSplit.Load\r\n );\r\n },\r\n valueHeaders(): string[] {\r\n const excluded = [\r\n \"loadInfo\",\r\n \"pickupLocation\",\r\n \"deliveryLocation\",\r\n \"truckType\",\r\n \"unit\",\r\n \"supplierName\",\r\n \"clientName\"\r\n ];\r\n return this.headers.map(h => h.value).filter(h => !excluded.includes(h));\r\n },\r\n headers(): TableHeader[] {\r\n const p = this.showPercentage;\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"loadInfo\",\r\n text: \"\",\r\n untranslated: true\r\n });\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: LoadStatisticsReportOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: LoadStatisticsReportOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: LoadStatisticsReportOrderBy.TruckType\r\n });\r\n headers.push({\r\n value: \"unit\",\r\n text: \"Unit\",\r\n sortValue: LoadStatisticsReportOrderBy.Unit\r\n });\r\n headers.push({\r\n value: this.isClient ? \"supplierName\" : \"clientName\",\r\n text: this.isClient ? \"Supplier\" : \"Client\",\r\n sortValue: LoadStatisticsReportOrderBy.Actor\r\n });\r\n\r\n if (this.searchCriteria.tab === LoadStatisticsReportTab.Bookings) {\r\n headers.push({\r\n value: \"offered\",\r\n text: \"LoadStatisticsOfferedShort\",\r\n tooltip: \"LoadStatisticsOfferedLong\",\r\n sortValue: LoadStatisticsReportOrderBy.Offered\r\n });\r\n headers.push({\r\n value: p ? \"shareLoaded\" : \"loaded\",\r\n text: \"LoadStatisticsBookedShort\",\r\n tooltip: \"LoadStatisticsBookedLong\",\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareLoaded\r\n : LoadStatisticsReportOrderBy.Loaded\r\n });\r\n headers.push({\r\n value: p ? \"shareRejected\" : \"rejected\",\r\n text: \"LoadStatisticsDeclinedShort\",\r\n tooltip: \"LoadStatisticsDeclinedLong\",\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareRejected\r\n : LoadStatisticsReportOrderBy.Rejected\r\n });\r\n headers.push({\r\n value: p ? \"shareIgnored\" : \"ignored\",\r\n text: \"LoadStatisticsIgnoredShort\",\r\n tooltip: \"LoadStatisticsIgnoredLong\",\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareIgnored\r\n : LoadStatisticsReportOrderBy.Ignored\r\n });\r\n headers.push({\r\n value: p ? \"shareBroadcastOffered\" : \"broadcastOffered\",\r\n text: \"LoadStatisticsOfferedBroadcastShort\",\r\n tooltip: \"LoadStatisticsOfferedBroadcastLong\",\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareBroadcastOffered\r\n : LoadStatisticsReportOrderBy.BroadcastOffered\r\n });\r\n headers.push({\r\n value: p ? \"shareBroadcastLoaded\" : \"broadcastLoaded\",\r\n text: \"LoadStatisticsBookedBroadcastShort\",\r\n tooltip: \"LoadStatisticsBookedBroadcastLong\",\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareBroadcastLoaded\r\n : LoadStatisticsReportOrderBy.BroadcastLoaded\r\n });\r\n }\r\n\r\n if (this.searchCriteria.tab === LoadStatisticsReportTab.Deliveries) {\r\n headers.push({\r\n value: \"loaded\",\r\n text: \"LoadStatisticsLoadedShort\",\r\n tooltip: \"LoadStatisticsLoadedLong\",\r\n sortValue: LoadStatisticsReportOrderBy.Loaded\r\n });\r\n headers.push({\r\n value: p\r\n ? \"shareLoadedWithinRequestedTime\"\r\n : \"loadedWithinRequestedTime\",\r\n text: \"LoadStatisticsLoadedWithinReqShort\",\r\n tooltip: \"LoadStatisticsLoadedWithinReqLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareLoadedWithinRequestedTime\r\n : LoadStatisticsReportOrderBy.LoadedWithinRequestedTime\r\n });\r\n headers.push({\r\n value: p ? \"shareLoadedWithStatedTime\" : \"loadedWithStatedTime\",\r\n text: \"LoadStatisticsLoadedWithStatedShort\",\r\n tooltip: \"LoadStatisticsLoadedWithStatedLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareLoadedWithStatedTime\r\n : LoadStatisticsReportOrderBy.LoadedWithStatedTime\r\n });\r\n headers.push({\r\n value: p ? \"shareLoadedWithinStatedTime\" : \"loadedWithinStatedTime\",\r\n text: \"LoadStatisticsLoadedWithinStatedShort\",\r\n tooltip: \"LoadStatisticsLoadedWithinStatedLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareLoadedWithinStatedTime\r\n : LoadStatisticsReportOrderBy.LoadedWithinStatedTime\r\n });\r\n headers.push({\r\n value: p ? \"shareDelivered\" : \"delivered\",\r\n text: \"LoadStatisticsDeliveredShort\",\r\n tooltip: \"LoadStatisticsDeliveredLong\",\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareDelivered\r\n : LoadStatisticsReportOrderBy.Delivered\r\n });\r\n headers.push({\r\n value: p ? \"shareDeliveredUsingApp\" : \"deliveredUsingApp\",\r\n text: \"LoadStatisticsDeliveredUsingAppShort\",\r\n tooltip: \"LoadStatisticsDeliveredUsingAppLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareDeliveredUsingApp\r\n : LoadStatisticsReportOrderBy.DeliveredUsingApp\r\n });\r\n headers.push({\r\n value: p\r\n ? \"shareDeliveredWithinRequestedTime\"\r\n : \"deliveredWithinRequestedTime\",\r\n text: \"LoadStatisticsDeliveredWithinReqShort\",\r\n tooltip: \"LoadStatisticsDeliveredWithinReqLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareDeliveredWithinRequestedTime\r\n : LoadStatisticsReportOrderBy.DeliveredWithinRequestedTime\r\n });\r\n headers.push({\r\n value: p ? \"shareDeliveredWithStatedTime\" : \"deliveredWithStatedTime\",\r\n text: \"LoadStatisticsDeliveredWithStatedShort\",\r\n tooltip: \"LoadStatisticsDeliveredWithStatedLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareDeliveredWithStatedTime\r\n : LoadStatisticsReportOrderBy.DeliveredWithStatedTime\r\n });\r\n headers.push({\r\n value: p\r\n ? \"shareDeliveredWithinStatedTime\"\r\n : \"deliveredWithinStatedTime\",\r\n text: \"LoadStatisticsDeliveredWithinStatedShort\",\r\n tooltip: \"LoadStatisticsDeliveredWithinStatedLong\",\r\n multiLine: true,\r\n sortValue: p\r\n ? LoadStatisticsReportOrderBy.ShareDeliveredWithinStatedTime\r\n : LoadStatisticsReportOrderBy.DeliveredWithinStatedTime\r\n });\r\n }\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage,\r\n truckTypeName(truckType: TruckType): string {\r\n if (!truckType) {\r\n return \"---\";\r\n }\r\n return truckTypeName(truckType);\r\n },\r\n loadInfo(item: LoadStatisticsReportRowDto): string {\r\n return `${t(\"LoadID\")}: ${item.loadId}\\n${t(\"TransportNo\")}: ${\r\n item.transportNo\r\n }`;\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n totalValue(h: string): string {\r\n const val = (this.reportContainer.total as any)[h] as number;\r\n return this.showPercentage && h !== \"loaded\" && h !== \"offered\"\r\n ? percentage(val, 0)\r\n : money(val, 0);\r\n },\r\n loadClick(loadId: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.Details.toString(),\r\n ids: `[${loadId}]`\r\n }\r\n });\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadStatisticsReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadStatisticsReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadStatisticsReportTable.vue?vue&type=template&id=890d4c10&\"\nimport script from \"./LoadStatisticsReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadStatisticsReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n LoadStatisticsReportOrderBy,\r\n ReportsClient,\r\n LoadStatisticsReportSearchCriteriaContainer,\r\n LoadStatisticsReportSearchCriteria,\r\n LoadStatisticsReportContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport LoadStatisticsReportSearch from \"@/components/web/reports/shared/LoadStatisticsReportSearch.vue\";\r\nimport LoadStatisticsReportTable from \"@/components/web/reports/shared/LoadStatisticsReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport LoadDialogs from \"@/components/web/loads/shared/LoadDialogs.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n LoadStatisticsReportSearch,\r\n LoadStatisticsReportTable,\r\n LoadDialogs\r\n },\r\n computed: {\r\n sorting(): { orderBy: LoadStatisticsReportOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as LoadStatisticsReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): LoadStatisticsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.LoadStatisticsReport,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.LoadStatisticsReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [LoadStatisticsReportOrderBy.Actor];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .loadStatistics(\r\n new LoadStatisticsReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.LoadStatisticsReport,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .loadStatisticsExportToExcel(\r\n new LoadStatisticsReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n showPercentage: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: LoadStatisticsReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n showPercentage: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [LoadStatisticsReportOrderBy.Actor],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n }),\r\n reportContainer: new LoadStatisticsReportContainerDto({\r\n count: 0,\r\n rows: [],\r\n total: undefined\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadStatisticsReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadStatisticsReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LoadStatisticsReport.vue?vue&type=template&id=9f56105c&\"\nimport script from \"./LoadStatisticsReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./LoadStatisticsReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementStatisticsReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"showPercentage\":_vm.showPercentage,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"toggleShowPercentage\":function($event){_vm.showPercentage = !_vm.showPercentage},\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AgreementStatisticsReportTable',{attrs:{\"loading\":!!_vm.loading,\"showPercentage\":_vm.showPercentage,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('AgreementStatistics'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('SwitchDouble',{attrs:{\"value\":_vm.showPercentage,\"labelFalse\":_vm.$t('Quantity'),\"labelTrue\":_vm.$t('Percentage')},on:{\"input\":function($event){return _vm.$emit('toggleShowPercentage')}}})]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1),_c('v-col',[_c('SwitchSingle',{attrs:{\"label\":_vm.$t('IncludeBroadcasts')},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.includeBroadcast),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"includeBroadcast\", $$v)},expression:\"searchCriteria.includeBroadcast\"}})],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AgreementStatisticsReportSearchCriteria,\r\n AgreementStatisticsReportContainerDto,\r\n RepositoryDto,\r\n ActorType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport SwitchSingle from \"@/components/shared/input/SwitchSingle.vue\";\r\nimport SwitchDouble from \"@/components/shared/input/SwitchDouble.vue\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n SwitchSingle,\r\n SwitchDouble\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n showPercentage: Boolean,\r\n reportContainer: AgreementStatisticsReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): AgreementStatisticsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AgreementStatisticsReport,\r\n 1\r\n );\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementStatisticsReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementStatisticsReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementStatisticsReportSearch.vue?vue&type=template&id=16f87b9b&\"\nimport script from \"./AgreementStatisticsReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementStatisticsReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationMulti'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryIds: _vm.searchCriteria.deliveryCountries\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountries = val.countryIds;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckTypeMulti',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckTypes),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckTypes\", $$v)},expression:\"searchCriteria.truckTypes\"}})]},proxy:true},{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'supplier',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true},{key:\"filter.clientName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'client',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Client')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true}],null,true)})]}},{key:\"group.header\",fn:function(){return [_c('td',{staticClass:\"font-weight-bold\",attrs:{\"colspan\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Total\"))+\" \")]),_vm._l((_vm.valueHeaders),function(h){return _c('td',{key:h,staticClass:\"font-weight-bold\",attrs:{\"colspan\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.totalValueHeader(h))+\" \")])})]},proxy:true},{key:\"item.agreementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.fromDate.datePrint())+\" - \"+_vm._s(item.toDate.datePrint())+\" \")])]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"165\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"180\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.truckTypeName(item.truckType),\"width\":\"140\"}})]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"150\"}})]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"150\"}})]}},{key:\"item.loadsTotal\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.loadsTotal, 0))+\" \")])]}},{key:\"item.offered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.offered, 0))+\" \")])]}},{key:\"item.booked\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.booked, 0))+\" \")])]}},{key:\"item.shareOffered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareOffered, 0))+\" \")])]}},{key:\"item.shareBooked\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.percentage(item.shareBooked, 0))+\" \")])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AgreementStatisticsReportSearchCriteria,\r\n AgreementStatisticsReportContainerDto,\r\n AgreementStatisticsReportOrderBy,\r\n ActorType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n showPercentage: Boolean,\r\n reportContainer: AgreementStatisticsReportContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 252);\r\n },\r\n searchCriteria(): AgreementStatisticsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AgreementStatisticsReport,\r\n 1\r\n );\r\n },\r\n isClient(): boolean {\r\n return this.$store.getters[gets.userInfo].actorType === ActorType.Client;\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n valueHeaders(): string[] {\r\n const excluded = [\r\n \"agreementPeriod\",\r\n \"pickupLocation\",\r\n \"deliveryLocation\",\r\n \"truckType\",\r\n \"supplierName\",\r\n \"clientName\"\r\n ];\r\n return this.headers.map(h => h.value).filter(h => !excluded.includes(h));\r\n },\r\n headers(): TableHeader[] {\r\n const p = this.showPercentage;\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"agreementPeriod\",\r\n text: \"AgreementPeriod\",\r\n sortValue: AgreementStatisticsReportOrderBy.AgreementPeriod,\r\n width: 180\r\n });\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: AgreementStatisticsReportOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: AgreementStatisticsReportOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: AgreementStatisticsReportOrderBy.TruckType\r\n });\r\n headers.push({\r\n value: this.isClient ? \"supplierName\" : \"clientName\",\r\n text: this.isClient ? \"Supplier\" : \"Client\",\r\n sortValue: AgreementStatisticsReportOrderBy.Actor\r\n });\r\n\r\n headers.push({\r\n value: \"rank\",\r\n text: \"Ranking\",\r\n sortValue: AgreementStatisticsReportOrderBy.Rank\r\n });\r\n headers.push({\r\n value: \"loadsTotal\",\r\n text: \"NumberOfLoads\",\r\n tooltip: \"NumberOfLoadsOnTheRoute\",\r\n sortValue: AgreementStatisticsReportOrderBy.LoadsTotal\r\n });\r\n headers.push({\r\n value: p ? \"shareOffered\" : \"offered\",\r\n text: \"LoadStatisticsOfferedLong\",\r\n sortValue: p\r\n ? AgreementStatisticsReportOrderBy.ShareOffered\r\n : AgreementStatisticsReportOrderBy.Offered\r\n });\r\n headers.push({\r\n value: p ? \"shareBooked\" : \"booked\",\r\n text: \"LoadStatisticsBookedLong\",\r\n sortValue: p\r\n ? AgreementStatisticsReportOrderBy.ShareBooked\r\n : AgreementStatisticsReportOrderBy.Booked\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage,\r\n truckTypeName: truckTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n totalValueHeader(h: string): string {\r\n if (h === \"rank\") {\r\n return \"\";\r\n } else if (h === \"shareOffered\") {\r\n h = \"offered\";\r\n } else if (h === \"shareBooked\") {\r\n h = \"booked\";\r\n }\r\n const val = (this.reportContainer.total as any)[h] as number;\r\n return money(val, 0);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementStatisticsReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementStatisticsReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementStatisticsReportTable.vue?vue&type=template&id=21bd7f84&\"\nimport script from \"./AgreementStatisticsReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementStatisticsReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n AgreementStatisticsReportOrderBy,\r\n ReportsClient,\r\n AgreementStatisticsReportSearchCriteriaContainer,\r\n AgreementStatisticsReportSearchCriteria,\r\n AgreementStatisticsReportContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport AgreementStatisticsReportSearch from \"@/components/web/reports/shared/AgreementStatisticsReportSearch.vue\";\r\nimport AgreementStatisticsReportTable from \"@/components/web/reports/shared/AgreementStatisticsReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementStatisticsReportSearch,\r\n AgreementStatisticsReportTable\r\n },\r\n computed: {\r\n sorting(): {\r\n orderBy: AgreementStatisticsReportOrderBy;\r\n orderByDesc: boolean;\r\n } {\r\n return {\r\n orderBy: this.tableOptions\r\n .sortBy[0] as AgreementStatisticsReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): AgreementStatisticsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AgreementStatisticsReport,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.AgreementStatisticsReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [AgreementStatisticsReportOrderBy.Actor];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .agreementStatistics(\r\n new AgreementStatisticsReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.AgreementStatisticsReport,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .agreementStatisticsExportToExcel(\r\n new AgreementStatisticsReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n showPercentage: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: AgreementStatisticsReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n showPercentage: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [AgreementStatisticsReportOrderBy.Actor],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n }),\r\n reportContainer: new AgreementStatisticsReportContainerDto({\r\n count: 0,\r\n rows: [],\r\n total: undefined\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementStatisticsReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementStatisticsReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementStatisticsReport.vue?vue&type=template&id=62e7b06a&\"\nimport script from \"./AgreementStatisticsReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementStatisticsReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('DistanceReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DistanceReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('TransportDistances'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('SwitchSingle',{attrs:{\"label\":_vm.$t('TotalPerAgreementRoute'),\"no-outline\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.mergeTruckTypes),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"mergeTruckTypes\", $$v)},expression:\"searchCriteria.mergeTruckTypes\"}})]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NumberOfLoads'),\"value\":_vm.money(_vm.reportContainer.numLoads, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TotalDistance'),\"value\":_vm.money(_vm.reportContainer.totalDistance, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AverageDistance'),\"value\":_vm.money(_vm.reportContainer.avgDistance, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TotalEmission'),\"value\":_vm.money(_vm.reportContainer.totalEmission, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AverageEmission'),\"value\":_vm.money(_vm.reportContainer.avgEmission, 0)}})],1),(_vm.isClient)?_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('FairTransportLoads'),\"value\":((_vm.money(_vm.reportContainer.numLoadsFT, 0)) + \" \" + _vm.percentWithFT)}})],1):_vm._e(),(_vm.isClient)?_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('FairTransportDistance'),\"value\":((_vm.money(_vm.reportContainer.distanceFT, 0)) + \" \" + _vm.percentDistanceWithFT)}})],1):_vm._e()],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n DistanceReportSearchCriteria,\r\n DistanceReportContainerDto,\r\n RepositoryDto,\r\n CargoType,\r\n ActorType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport SwitchSingle from \"@/components/shared/input/SwitchSingle.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n ReadOnlyText,\r\n SwitchSingle\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: DistanceReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): DistanceReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.DistanceReport,\r\n 1\r\n );\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes().filter(c =>\r\n [CargoType.Road, CargoType.MachineTransport].includes(c.id)\r\n );\r\n },\r\n percentWithFT(): string {\r\n if (!this.reportContainer.numLoads) {\r\n return \"\";\r\n }\r\n return `(${percentage(\r\n this.reportContainer.numLoadsFT / this.reportContainer.numLoads,\r\n 0\r\n )})`;\r\n },\r\n percentDistanceWithFT(): string {\r\n if (!this.reportContainer.totalDistance) {\r\n return \"\";\r\n }\r\n return `(${percentage(\r\n this.reportContainer.distanceFT / this.reportContainer.totalDistance,\r\n 0\r\n )})`;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DistanceReportSearch.vue?vue&type=template&id=d97ae9d2&\"\nimport script from \"./DistanceReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./DistanceReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckType',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"200\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"220\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.searchCriteria.mergeTruckTypes ? \"---\" : _vm.truckTypeName(item.truckType))+\" \")])]}},{key:\"item.numLoads\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.numLoads, 0)))])]}},{key:\"item.totalDistance\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.totalDistance, 0)))])]}},{key:\"item.avgDistance\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.avgDistance, 0)))])]}},{key:\"item.totalEmission\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.totalEmission, 0)))])]}},{key:\"item.avgEmission\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.money(item.avgEmission, 0)))])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n DistanceReportSearchCriteria,\r\n DistanceReportContainerDto,\r\n DistanceReportOrderBy,\r\n ActorType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: DistanceReportContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 300);\r\n },\r\n searchCriteria(): DistanceReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.DistanceReport,\r\n 1\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"routeId\",\r\n text: \"RouteID\",\r\n sortValue: DistanceReportOrderBy.RouteId\r\n });\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: DistanceReportOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: DistanceReportOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: DistanceReportOrderBy.TruckType\r\n });\r\n headers.push({\r\n value: \"numLoads\",\r\n text: \"NumberOfLoads\",\r\n sortValue: DistanceReportOrderBy.NumLoads\r\n });\r\n headers.push({\r\n value: \"totalDistance\",\r\n text: \"TotalDistance\",\r\n sortValue: DistanceReportOrderBy.TotalDistance\r\n });\r\n headers.push({\r\n value: \"avgDistance\",\r\n text: \"AverageDistance\",\r\n sortValue: DistanceReportOrderBy.AvgDistance\r\n });\r\n headers.push({\r\n value: \"totalEmission\",\r\n text: \"TotalEmission\",\r\n sortValue: DistanceReportOrderBy.TotalEmission\r\n });\r\n headers.push({\r\n value: \"avgEmission\",\r\n text: \"AverageEmission\",\r\n sortValue: DistanceReportOrderBy.AvgEmission\r\n });\r\n if (this.actorType === ActorType.Client) {\r\n headers.push({\r\n value: \"numLoadsFT\",\r\n text: \"FairTransportLoads\",\r\n multiLine: true,\r\n sortValue: DistanceReportOrderBy.NumLoadsFT\r\n });\r\n headers.push({\r\n value: \"distanceFT\",\r\n text: \"FairTransportDistance\",\r\n multiLine: true,\r\n sortValue: DistanceReportOrderBy.DistanceFT\r\n });\r\n }\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n truckTypeName: truckTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DistanceReportTable.vue?vue&type=template&id=54d62d1b&\"\nimport script from \"./DistanceReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DistanceReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n DistanceReportOrderBy,\r\n ReportsClient,\r\n DistanceReportSearchCriteriaContainer,\r\n DistanceReportSearchCriteria,\r\n DistanceReportContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport DistanceReportSearch from \"@/components/web/reports/shared/DistanceReportSearch.vue\";\r\nimport DistanceReportTable from \"@/components/web/reports/shared/DistanceReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DistanceReportSearch,\r\n DistanceReportTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: DistanceReportOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as DistanceReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): DistanceReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.DistanceReport,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.DistanceReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [DistanceReportOrderBy.PickupLocation];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .distance(\r\n new DistanceReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.DistanceReport,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .distanceExportToExcel(\r\n new DistanceReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: DistanceReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [DistanceReportOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new DistanceReportContainerDto({\r\n count: 0,\r\n rows: [],\r\n numLoads: 0,\r\n totalDistance: 0,\r\n avgDistance: undefined,\r\n totalEmission: 0,\r\n avgEmission: undefined,\r\n numLoadsFT: 0,\r\n distanceFT: 0\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DistanceReport.vue?vue&type=template&id=a081179c&\"\nimport script from \"./DistanceReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./DistanceReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('QualityPointsReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('QualityPointsReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('QualityPoints'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{on:{\"click\":function($event){return _vm.routeTo('/quality-points-weights')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-clipboard-list\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"WeightningQualitypoint\"))+\" \")],1)],1),_c('v-col',{staticClass:\"no-padding small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{on:{\"click\":function($event){return _vm.routeTo('/subjective-quality-points')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-clipboard-account\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"BusinessQualitypoints\"))+\" \")],1)],1),_c('v-col',{staticClass:\"no-padding small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('GroupBy'),\"items\":_vm.splits,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.split),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"split\", $$v)},expression:\"searchCriteria.split\"}})],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n QualityPointsSearchCriteria,\r\n QualityPointsContainerDto,\r\n RepositoryDto,\r\n QualityPointsReportSplit,\r\n ActorType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: QualityPointsContainerDto\r\n },\r\n computed: {\r\n cargoTypes: actorCargoTypes,\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n searchCriteria(): QualityPointsSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.QualityPoints,\r\n 1\r\n );\r\n },\r\n splits(): RepositoryDto[] {\r\n const list = [\r\n new RepositoryDto({\r\n id: QualityPointsReportSplit.Route,\r\n text: t(\"AgreementRoute\")\r\n })\r\n ];\r\n if (this.actorType === ActorType.Client) {\r\n list.push(\r\n ...[\r\n new RepositoryDto({\r\n id: QualityPointsReportSplit.Actor,\r\n text: t(\"Supplier\")\r\n }),\r\n new RepositoryDto({\r\n id: QualityPointsReportSplit.ActorAndUnit,\r\n text: `${t(\"Supplier\")} & ${t(\"Unit\")}`\r\n })\r\n ]\r\n );\r\n } else {\r\n list.push(\r\n new RepositoryDto({\r\n id: QualityPointsReportSplit.Actor,\r\n text: t(\"Client\")\r\n })\r\n );\r\n }\r\n return list;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n routeTo(url: string) {\r\n window.open(url, \"_blank\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsReportSearch.vue?vue&type=template&id=48a51a84&\"\nimport script from \"./QualityPointsReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'supplier',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true},{key:\"filter.clientName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'client',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Client')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckType',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickupLocation(item),\"width\":\"170\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.deliveryLocation(item),\"width\":\"220\"}})]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"80\"}})]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"110\"}})]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"190\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")])]}},{key:\"item.pointsTotal\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(item.pointsTotal)+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.pointsTotalTooltip(item))+\" \")])]}},{key:\"item.numLoadsTotal\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.numLoadsTotal, 0))+\" \")])]}},{key:\"item.numLoadsOffered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.numLoadsOffered, 0))+\" \")])]}},{key:\"item.pointsLoadsRejected\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsRejected, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.rejectedTooltip(item))+\" \")])]}},{key:\"item.pointsLoadsLoaded\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsLoaded, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.loadedTooltip(item))+\" \")])]}},{key:\"item.pointsLoadsLoadedWithinRequestedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsLoadedWithinRequestedTime, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.loadedWithinRequestedTime(item))+\" \")])]}},{key:\"item.pointsLoadsLoadedWithStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsLoadedWithStatedTime, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.loadedWithStatedTimeTooltip(item))+\" \")])]}},{key:\"item.pointsLoadsLoadedWithinStatedTime\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsLoadedWithinStatedTime, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.loadedWithinStatedTimeTooltip(item))+\" \")])]}},{key:\"item.pointsLoadsDelivered\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsDelivered, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.deliveredTooltip(item))+\" \")])]}},{key:\"item.pointsLoadsDeliveredUsingApp\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.pointsLoadsDeliveredUsingApp, 0))+_vm._s(_vm.$t(\"PointsShort\"))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.deliveredUsingAppTooltip(item))+\" \")])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n QualityPointsSearchCriteria,\r\n QualityPointsContainerDto,\r\n QualityPointsOrderBy,\r\n ActorType,\r\n QualityPointsRowDto,\r\n QualityPointsReportSplit\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { isoName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: QualityPointsContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 248);\r\n },\r\n searchCriteria(): QualityPointsSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.QualityPoints,\r\n 1\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: QualityPointsOrderBy.PickupLocation,\r\n width: 180\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: QualityPointsOrderBy.DeliveryLocation,\r\n width: 230\r\n });\r\n if (this.actorType === ActorType.Client) {\r\n if (\r\n this.searchCriteria.split === QualityPointsReportSplit.ActorAndUnit\r\n ) {\r\n headers.push({\r\n value: \"unit\",\r\n text: \"Unit\",\r\n width: 90\r\n });\r\n }\r\n headers.push({\r\n value: \"supplierName\",\r\n text: \"Supplier\",\r\n sortValue: QualityPointsOrderBy.Supplier,\r\n width: 120\r\n });\r\n } else {\r\n headers.push({\r\n value: \"clientName\",\r\n text: \"Client\",\r\n sortValue: QualityPointsOrderBy.Client,\r\n width: 200\r\n });\r\n }\r\n headers.push({\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: QualityPointsOrderBy.TruckType\r\n });\r\n headers.push({\r\n value: \"pointsTotal\",\r\n text: t(\"TotalPoints\"),\r\n tooltip: t(\"TotalPointsDesc\"),\r\n untranslated: true\r\n });\r\n headers.push({\r\n value: \"numLoadsTotal\",\r\n text: \"NumberOfLoads\",\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"numLoadsOffered\",\r\n text: \"LoadStatisticsOfferedLong\",\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsRejected\",\r\n text: t(\"LoadStatisticsDeclinedShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsDeclinedLong\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsLoaded\",\r\n text: t(\"LoadStatisticsBookedShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsBookedLong\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsLoadedWithinRequestedTime\",\r\n text: t(\"LoadStatisticsLoadedWithinReqShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsLoadedWithinReqLong\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsLoadedWithStatedTime\",\r\n text: t(\"LoadStatisticsLoadedWithStatedShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsLoadedWithStatedLong\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsLoadedWithinStatedTime\",\r\n text: t(\"LoadStatisticsLoadedWithinStatedShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsLoadedWithinStatedLong\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsDelivered\",\r\n text: t(\"LoadStatisticsDeliveredShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsDeliveredLong\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"pointsLoadsDeliveredUsingApp\",\r\n text: t(\"LoadStatisticsDeliveredUsingAppShort\"),\r\n tooltip: `${t(\"PointsFor\")} ${t(\r\n \"LoadStatisticsDeliveredUsingAppShort\"\r\n ).toLowerCase()}`,\r\n untranslated: true,\r\n multiLine: true\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n truckTypeName: truckTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n pickupLocation(item: QualityPointsRowDto): string {\r\n if (!item.pickupCountry) {\r\n return \"---\";\r\n }\r\n return (\r\n item.pickupCounty +\r\n \", \" +\r\n item.pickupZipCode +\r\n \", \" +\r\n isoName(item.pickupCountry)\r\n );\r\n },\r\n deliveryLocation(item: QualityPointsRowDto): string {\r\n if (!item.deliveryCountry) {\r\n return \"---\";\r\n }\r\n return (\r\n item.deliveryCounty +\r\n \", \" +\r\n item.deliveryZipCode +\r\n \", \" +\r\n isoName(item.deliveryCountry)\r\n );\r\n },\r\n pointsTotalTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"PerformancePoints\")}: ${item.pointsPerformance}\\n` +\r\n `${t(\"BusinessQualitypoints\")}: ${item.pointsSubjective}\\n`\r\n );\r\n },\r\n rejectedTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"LoadStatisticsOfferedLong\")}: ${item.numLoadsOffered}\\n` +\r\n `${t(\"LoadStatisticsBookedLong\")}: ${item.numLoadsLoaded}\\n` +\r\n `${t(\"LoadStatisticsDeclinedLong\")}: ${item.numLoadsRejected}\\n` +\r\n `= ${percentage(item.partLoadsRejected, 0)} (${\r\n item.pointsLoadsRejected\r\n } ${t(\"Points\")})`\r\n );\r\n },\r\n loadedTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"NumberOfLoads\")}: ${item.numLoadsTotal}\\n` +\r\n `${t(\"LoadStatisticsBookedLong\")}: ${item.numLoadsLoaded}\\n` +\r\n `= ${percentage(item.partLoadsLoaded, 0)} (${\r\n item.pointsLoadsLoaded\r\n } ${t(\"Points\")})`\r\n );\r\n },\r\n loadedWithinRequestedTime(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"LoadStatisticsLoadedLong\")}: ${item.numLoadsLoaded}\\n` +\r\n `${t(\"LoadStatisticsLoadedWithinReqLong\")}: ${\r\n item.numLoadsLoadedWithinRequestedTime\r\n }\\n` +\r\n `= ${percentage(item.partLoadsLoadedWithinRequestedTime, 0)} (${\r\n item.pointsLoadsLoadedWithinRequestedTime\r\n } ${t(\"Points\")})`\r\n );\r\n },\r\n loadedWithStatedTimeTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"LoadStatisticsLoadedLong\")}: ${item.numLoadsLoaded}\\n` +\r\n `${t(\"LoadStatisticsLoadedWithStatedLong\")}: ${\r\n item.numLoadsLoadedWithStatedTime\r\n }\\n` +\r\n `= ${percentage(item.partLoadsLoadedWithStatedTime, 0)} (${\r\n item.pointsLoadsLoadedWithStatedTime\r\n } ${t(\"Points\")})`\r\n );\r\n },\r\n loadedWithinStatedTimeTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"LoadStatisticsLoadedWithStatedLong\")}: ${\r\n item.numLoadsLoadedWithStatedTime\r\n }\\n` +\r\n `${t(\"LoadStatisticsLoadedWithinStatedLong\")}: ${\r\n item.numLoadsLoadedWithinStatedTime\r\n }\\n` +\r\n `= ${percentage(item.partLoadsLoadedWithinStatedTime, 0)} (${\r\n item.pointsLoadsLoadedWithinStatedTime\r\n } ${t(\"Points\")})`\r\n );\r\n },\r\n deliveredTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"LoadStatisticsLoadedLong\")}: ${item.numLoadsLoaded}\\n` +\r\n `${t(\"LoadStatisticsDeliveredLong\")}: ${item.numLoadsDelivered}\\n` +\r\n `= ${percentage(item.partLoadsDelivered, 0)} (${\r\n item.pointsLoadsDelivered\r\n } ${t(\"Points\")})`\r\n );\r\n },\r\n deliveredUsingAppTooltip(item: QualityPointsRowDto): string {\r\n return (\r\n `${t(\"LoadStatisticsDeliveredLong\")}: ${\r\n item.numLoadsLoadedWithStatedTime\r\n }\\n` +\r\n `${t(\"LoadStatisticsDeliveredUsingAppLong\")}: ${\r\n item.numLoadsDeliveredUsingApp\r\n }\\n` +\r\n `= ${percentage(item.partLoadsDeliveredUsingApp, 0)} (${\r\n item.pointsLoadsDeliveredUsingApp\r\n } ${t(\"Points\")})`\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsReportTable.vue?vue&type=template&id=ffa9af58&\"\nimport script from \"./QualityPointsReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n QualityPointsOrderBy,\r\n QualityPointsSearchCriteriaContainer,\r\n QualityPointsSearchCriteria,\r\n QualityPointsContainerDto,\r\n QualityPointsSupplierClient,\r\n QualityPointsClientClient,\r\n ActorType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport QualityPointsReportSearch from \"@/components/web/reports/shared/QualityPointsReportSearch.vue\";\r\nimport QualityPointsReportTable from \"@/components/web/reports/shared/QualityPointsReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n QualityPointsReportSearch,\r\n QualityPointsReportTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: QualityPointsOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as QualityPointsOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): QualityPointsSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.QualityPoints,\r\n 1\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n apiClient(): QualityPointsClientClient | QualityPointsSupplierClient {\r\n if (this.actorType === ActorType.Client) {\r\n return new QualityPointsClientClient(new ApiConfiguration(this.$store));\r\n }\r\n return new QualityPointsSupplierClient(new ApiConfiguration(this.$store));\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.QualityPoints,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [QualityPointsOrderBy.PickupLocation];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n this.apiClient\r\n .report(\r\n new QualityPointsSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.QualityPoints,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n this.apiClient\r\n .exportToExcel(\r\n new QualityPointsSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: QualityPointsContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [QualityPointsOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new QualityPointsContainerDto({\r\n rows: [],\r\n count: 0\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsReport.vue?vue&type=template&id=0a7187ac&\"\nimport script from \"./QualityPointsReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding medium-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('MessagesSearch',{attrs:{\"loading\":!!_vm.loading},on:{\"search\":_vm.search,\"markAllAsViewed\":_vm.markAllAsViewed}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"5\"}},[_c('MessagesTable',{attrs:{\"messages\":_vm.messages,\"selectedId\":_vm.selectedId,\"loading\":!!_vm.loading},on:{\"search\":_vm.search,\"messageClicked\":_vm.messageClicked}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-left\",attrs:{\"cols\":\"7\"}},[(_vm.message)?_c('v-sheet',{staticClass:\"medium-padding scrollable\",attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.sheetHeight}},[_c('div',{staticClass:\"text-h5 medium-padding-bottom\"},[_vm._v(_vm._s(_vm.message.subject))]),_c('div',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.message.body))])]):_vm._e(),(_vm.message)?_c('v-sheet',{staticClass:\"medium-padding medium-margin-top\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"height\":\"189\"}},[_c('tbody',_vm._l((_vm.message.documents || []),function(d){return _c('tr',{key:d.diskName},[_c('td',{on:{\"click\":function($event){return _vm.viewDocument(d.diskName)}}},[_c('EllipsisTableItem',{attrs:{\"text\":d.displayName,\"width\":\"350\"}})],1),_c('td',{staticStyle:{\"width\":\"0\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewDocument(d.diskName)}}},[_c('v-icon',[_vm._v(\" mdi-text-box-search-outline \")])],1)],1)])}),0)])],1):_vm._e()],1)],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('v-sheet',{staticClass:\"tiny-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.messages,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"options\":_vm.tableOptions,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [50],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"item-class\":function (r) { return (r.id === _vm.selectedId ? 'grey-row' : ''); },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event},\"click:row\":_vm.clicked},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.recipient\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\",\"width\":\"40\"},on:{\"click\":function($event){_vm.recipients = item.recipients}}},[_c('v-icon',[_vm._v(\"mdi-account-eye\")])],1)]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:{ 'font-weight-bold': _vm.isSupplier && !item.viewed }},[_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"185\"}})],1)]}},{key:\"item.regLoadUserName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:{ 'font-weight-bold': _vm.isSupplier && !item.viewed }},[_c('EllipsisTableItem',{attrs:{\"text\":item.regLoadUserName,\"width\":\"145\"}})],1)]}},{key:\"item.subject\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:{ 'font-weight-bold': _vm.isSupplier && !item.viewed }},[_c('EllipsisTableItem',{attrs:{\"text\":item.subject,\"width\":\"210\"}})],1)]}},{key:\"item.regDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\",class:{ 'font-weight-bold': _vm.isSupplier && !item.viewed }},[_vm._v(\" \"+_vm._s(item.regDate)+\" \")])]}}],null,true)}),_c('MessageRecipientDialog',{attrs:{\"dialog\":_vm.recipients.length > 0,\"recipients\":_vm.recipients},on:{\"close\":function($event){_vm.recipients = []}}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Recievers'),\"width\":500},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-simple-table',{staticClass:\"small-padding-top\"},[_c('tbody',_vm._l((_vm.recipients),function(r){return _c('tr',{key:r},[_c('td',[_vm._v(\" \"+_vm._s(r)+\" \")])])}),0)])]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n dialog: Boolean,\r\n recipients: Array as () => string[]\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageRecipientDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessageRecipientDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MessageRecipientDialog.vue?vue&type=template&id=66aa3bca&scoped=true&\"\nimport script from \"./MessageRecipientDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./MessageRecipientDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MessageRecipientDialog.vue?vue&type=style&index=0&id=66aa3bca&scoped=true&lang=css&\"\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 \"66aa3bca\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ActorType, DirectMessageDto } from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport MessageRecipientDialog from \"@/components/web/messages/MessageRecipientDialog.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n MessageRecipientDialog,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n selectedId: Number,\r\n messages: Array as () => DirectMessageDto[]\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 188);\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [];\r\n if (this.actorType === ActorType.Client) {\r\n headers.push({\r\n value: \"recipient\",\r\n text: \"\",\r\n width: 40\r\n });\r\n headers.push({\r\n value: \"regLoadUserName\",\r\n text: \"User\"\r\n });\r\n } else if (this.actorType === ActorType.Supplier) {\r\n headers.push({\r\n value: \"clientName\",\r\n text: \"Client\"\r\n });\r\n }\r\n headers.push({\r\n value: \"subject\",\r\n text: \"Subject\"\r\n });\r\n headers.push({\r\n value: \"regDate\",\r\n text: \"Date\",\r\n width: 138\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n clicked(row: DirectMessageDto) {\r\n this.$emit(\"messageClicked\", row.id);\r\n }\r\n },\r\n data: (): { recipients: string[]; tableOptions: TableOptions } => ({\r\n recipients: [],\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 50,\r\n sortBy: [\"regDate\"],\r\n sortDesc: [true]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessagesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessagesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MessagesTable.vue?vue&type=template&id=470fdbcc&scoped=true&\"\nimport script from \"./MessagesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./MessagesTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MessagesTable.vue?vue&type=style&index=0&id=470fdbcc&scoped=true&lang=css&\"\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 \"470fdbcc\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.$t('Messages'),\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"refresh\":_vm.search},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [(_vm.isSupplier)?_c('v-btn',{on:{\"click\":_vm.markAllAsViewed}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-email-open \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"MarkAllAsRead\"))+\" \")],1):_vm._e()]},proxy:true},{key:\"head-right\",fn:function(){return [(_vm.allowedToCreateMessage)?_c('v-btn',{on:{\"click\":function($event){_vm.dialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-email-edit \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"NewMessage\"))+\" \")],1):_vm._e()]},proxy:true},(_vm.allowedToCreateMessage)?{key:\"actions\",fn:function(){return [_c('CreateMessageDialog',{attrs:{\"dialog\":_vm.dialog},on:{\"close\":_vm.closeDialog}})]},proxy:true}:null],null,true)})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('NewMessage'),\"width\":1200},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Subject'),\"rules\":[function (v) { return !!v && v.length < 255; }]},model:{value:(_vm.saveDto.subject),callback:function ($$v) {_vm.$set(_vm.saveDto, \"subject\", $$v)},expression:\"saveDto.subject\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('FileInput',{on:{\"file\":function (f) { return (_vm.uploadedFile = f); }}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('Text'),\"rows\":17,\"rules\":[function (v) { return !!v && v.length < 8000; }]},model:{value:(_vm.saveDto.body),callback:function ($$v) {_vm.$set(_vm.saveDto, \"body\", $$v)},expression:\"saveDto.body\"}})],1)],1)],1)],1),_c('v-col',{staticClass:\"no-vertical-padding no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('MessageType'),\"items\":_vm.messageTypes()},scopedSlots:_vm._u([{key:\"append-inner\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('MessageTypeDescription'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\"}})]},proxy:true}]),model:{value:(_vm.saveDto.messageType),callback:function ($$v) {_vm.$set(_vm.saveDto, \"messageType\", $$v)},expression:\"saveDto.messageType\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"height\":\"277\"}},[_c('tbody',_vm._l((_vm.documents),function(d){return _c('tr',{key:d.id},[_c('td',{on:{\"click\":function($event){return _vm.viewDocument(d.id)}}},[_c('EllipsisTableItem',{attrs:{\"text\":d.displayName,\"width\":\"350\"}})],1),_c('td',{staticStyle:{\"width\":\"0\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewDocument(d.id)}}},[_c('v-icon',[_vm._v(\" mdi-text-box-search-outline \")])],1)],1),_c('td',{staticStyle:{\"width\":\"44px\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeDocument(d.id)}}},[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)],1)])}),0)])],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('FileInput',{on:{\"file\":function (f) { return (_vm.uploadedFile = f); }},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar chooseFile = ref.chooseFile;\nreturn [_c('DocumentDropZone',{attrs:{\"alternative\":\"\"},on:{\"click\":chooseFile}})]}}])})],1)],1)],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\",\"loading\":_vm.sendInProgress},on:{\"click\":function($event){_vm.recipientDialog = true}}},[_c('v-icon',{attrs:{\"size\":\"17\",\"left\":\"\"}},[_vm._v(\"mdi-account-multiple-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Recievers\"))+\" (\"+_vm._s((_vm.saveDto.supplierIds || []).length)+\") \")],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.valid ||\n !_vm.saveDto.supplierIds ||\n _vm.saveDto.supplierIds.length === 0 ||\n _vm.uploadInProgress,\"loading\":_vm.sendInProgress},on:{\"click\":_vm.send}},[_c('v-icon',{attrs:{\"size\":\"17\",\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Send\"))+\" \")],1)],1)],1)]},proxy:true},{key:\"dialogs\",fn:function(){return [_c('CreateMessageRecipientDialog',{attrs:{\"dialog\":_vm.recipientDialog,\"recipients\":_vm.saveDto.supplierIds,\"subscribedSuppliers\":_vm.subscribedSuppliers},on:{\"close\":function($event){_vm.recipientDialog = false}}}),_c('AccordionDocumentAddDialog',{attrs:{\"uploadedFile\":_vm.uploadedFile,\"documentType\":\"message\"},on:{\"document\":_vm.addDocument,\"close\":function($event){_vm.uploadedFile = undefined}}})]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Recievers'),\"width\":1000,\"noCloseButton\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',_vm._l((_vm.cargoTypes.length),function(i){return _c('v-col',{key:i,class:{ 'no-padding': !_vm.cargoTypeVisible(i) },attrs:{\"cols\":\"auto\"}},[(_vm.cargoTypeVisible(i))?_c('span',[_c('Checkbox',{attrs:{\"label\":_vm.cargoTypeName(i)},model:{value:(_vm.cargoTypes[i - 1]),callback:function ($$v) {_vm.$set(_vm.cargoTypes, i - 1, $$v)},expression:\"cargoTypes[i - 1]\"}})],1):_vm._e()])}),1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('Checkbox',{attrs:{\"label\":_vm.$t('OnlySuppliersWithValidAgreements')},model:{value:(_vm.requireAgreement),callback:function ($$v) {_vm.requireAgreement=$$v},expression:\"requireAgreement\"}})],1)],1),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding-bottom\"},[_c('SearchCard',{attrs:{\"title\":((_vm.$t('NotInvited')) + \" (\" + (_vm.excluded.length) + \")\"),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SupplierSelectTable',{attrs:{\"suppliers\":_vm.filteredExcluded,\"subscribedSuppliers\":_vm.subscribedSuppliers,\"filter\":_vm.excludedFilter,\"mode\":\"excluded\",\"small\":\"\"},on:{\"click\":function (id) { return _vm.include(id); },\"filter\":function (f) { return (_vm.excludedFilter = f); }}})]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":_vm.includeFiltered}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-chevron-triple-right\")])],1)],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":_vm.excludeFiltered}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-chevron-triple-left\")])],1)],1),_c('v-spacer')],1)],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('SearchCard',{attrs:{\"title\":((_vm.$t('Invited')) + \" (\" + (_vm.included.length) + \")\"),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SupplierSelectTable',{attrs:{\"suppliers\":_vm.filteredIncluded,\"subscribedSuppliers\":_vm.subscribedSuppliers,\"filter\":_vm.includedFilter,\"mode\":\"included\",\"small\":\"\"},on:{\"click\":function (id) { return _vm.exclude(id); },\"filter\":function (f) { return (_vm.includedFilter = f); }}})]},proxy:true}])})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"size\":\"17\",\"left\":\"\"}},[_vm._v(\"mdi-check-bold\")]),_vm._v(\" OK \")],1)],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport SupplierSelectTable from \"@/components/web/agreements/client/SupplierSelectTable.vue\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n DirectMessagingClient,\r\n RecipientDto,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { cargoTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Checkbox,\r\n SearchCard,\r\n SupplierSelectTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n recipients: Array as () => number[],\r\n subscribedSuppliers: Array as () => number[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n this.includedFilter = \"\";\r\n this.excludedFilter = \"\";\r\n }\r\n }\r\n },\r\n computed: {\r\n included(): RepositoryDto[] {\r\n return this.recipientBaseList(false).filter(s =>\r\n this.recipients.includes(s.id)\r\n );\r\n },\r\n excluded(): RepositoryDto[] {\r\n return this.recipientBaseList(true).filter(\r\n s => !this.recipients.includes(s.id)\r\n );\r\n },\r\n filteredIncluded(): RepositoryDto[] {\r\n return this.included.filter(s =>\r\n stringSearchHit(this.includedFilter, s.text, false)\r\n );\r\n },\r\n filteredExcluded(): RepositoryDto[] {\r\n return this.excluded.filter(s =>\r\n stringSearchHit(this.excludedFilter, s.text, false)\r\n );\r\n }\r\n },\r\n methods: {\r\n cargoTypeName: cargoTypeName,\r\n cargoTypeVisible(cargoType: CargoType): boolean {\r\n return this.allRecipients.some(r =>\r\n r.cargoTypesWithAgreement!.includes(cargoType)\r\n );\r\n },\r\n recipientBaseList(\r\n applyCargoTypeAndAgreementFilters: boolean\r\n ): RepositoryDto[] {\r\n let recipients = this.allRecipients;\r\n if (applyCargoTypeAndAgreementFilters) {\r\n recipients = recipients.filter(s =>\r\n (this.requireAgreement\r\n ? s.cargoTypesWithAgreement!\r\n : s.cargoTypes!\r\n ).some(c => this.cargoTypes[c - 1])\r\n );\r\n }\r\n return recipients.map(\r\n s => new RepositoryDto({ id: s.actorId, text: s.actorName })\r\n );\r\n },\r\n include(id: number) {\r\n this.recipients.push(id);\r\n },\r\n exclude(id: number) {\r\n this.recipients.splice(this.recipients.indexOf(id), 1);\r\n },\r\n includeFiltered() {\r\n this.recipients.push(...this.filteredExcluded.map(s => s.id));\r\n },\r\n excludeFiltered() {\r\n const keep = this.recipients.filter(\r\n s => !this.filteredIncluded.map(x => x.id).includes(s)\r\n );\r\n this.recipients.splice(0);\r\n this.recipients.push(...keep);\r\n },\r\n fetchRecipients() {\r\n this.loading = true;\r\n new DirectMessagingClient(new ApiConfiguration(this.$store))\r\n .recipients()\r\n .then(res => {\r\n this.allRecipients = res;\r\n this.cargoTypes = cargoTypes().map(c => this.cargoTypeVisible(c.id));\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n mounted() {\r\n this.fetchRecipients();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n excludedFilter: string;\r\n includedFilter: string;\r\n cargoTypes: boolean[];\r\n requireAgreement: boolean;\r\n allRecipients: RecipientDto[];\r\n } => ({\r\n loading: false,\r\n excludedFilter: \"\",\r\n includedFilter: \"\",\r\n cargoTypes: cargoTypes().map(_ => true),\r\n requireAgreement: false,\r\n allRecipients: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateMessageRecipientDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateMessageRecipientDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateMessageRecipientDialog.vue?vue&type=template&id=1f1e5e7a&\"\nimport script from \"./CreateMessageRecipientDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateMessageRecipientDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport FileInput from \"@/components/shared/input/FileInput.vue\";\r\nimport CreateMessageRecipientDialog from \"@/components/web/messages/CreateMessageRecipientDialog.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport DocumentDropZone from \"@/components/web/documents/DocumentDropZone.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport {\r\n ApiConfiguration,\r\n CreateDirectMessageDto,\r\n DirectMessagingClient,\r\n MessageType,\r\n FileParameter\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { messageTypes } from \"@/scripts/misc/enumLists\";\r\nimport { viewDocument } from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport AccordionDocumentAddDialog, {\r\n DocumentIdDiskNameDisplayName\r\n} from \"@/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Dropdown,\r\n TextSingle,\r\n TextMulti,\r\n FileInput,\r\n CreateMessageRecipientDialog,\r\n EllipsisTableItem,\r\n InfoTooltip,\r\n AccordionDocumentAddDialog,\r\n DocumentDropZone\r\n },\r\n props: {\r\n dialog: Boolean\r\n },\r\n watch: {\r\n dialog() {\r\n if (this.dialog) {\r\n this.sendInProgress = false;\r\n this.uploadInProgress = false;\r\n this.documents = [];\r\n this.saveDto = new CreateDirectMessageDto({\r\n subject: undefined,\r\n body: undefined,\r\n documentIds: [],\r\n supplierIds: [],\r\n messageType: MessageType.General\r\n });\r\n }\r\n },\r\n \"saveDto.messageType\": {\r\n handler() {\r\n this.fetchSuppliersWithNotifications();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n messageTypes: messageTypes,\r\n addDocument(document: DocumentIdDiskNameDisplayName) {\r\n this.documents.push(document);\r\n },\r\n removeDocument(id: number) {\r\n this.documents = this.documents.filter(d => d.id !== id);\r\n },\r\n send() {\r\n this.sendInProgress = true;\r\n this.saveDto.documentIds = this.documents.map(d => d.id);\r\n new DirectMessagingClient(new ApiConfiguration(this.$store))\r\n .create(this.saveDto)\r\n .then(() => {\r\n this.sendInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n viewDocument(id: number) {\r\n const document = this.documents!.find(d => d.id === id)!;\r\n viewDocument(document.diskName, undefined);\r\n },\r\n fetchSuppliersWithNotifications() {\r\n new DirectMessagingClient(new ApiConfiguration(this.$store))\r\n .actorsWithSubscribingRecipients(this.saveDto.messageType)\r\n .then(res => {\r\n this.subscribedSuppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n sendInProgress: boolean;\r\n uploadInProgress: boolean;\r\n recipientDialog: boolean;\r\n uploadedFile: FileParameter | undefined;\r\n saveDto: CreateDirectMessageDto;\r\n documents: DocumentIdDiskNameDisplayName[];\r\n subscribedSuppliers: number[];\r\n } => ({\r\n valid: false,\r\n sendInProgress: false,\r\n uploadInProgress: false,\r\n recipientDialog: false,\r\n uploadedFile: undefined,\r\n saveDto: new CreateDirectMessageDto({\r\n subject: undefined,\r\n body: undefined,\r\n documentIds: [],\r\n supplierIds: [],\r\n messageType: MessageType.General\r\n }),\r\n documents: [],\r\n subscribedSuppliers: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateMessageDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateMessageDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateMessageDialog.vue?vue&type=template&id=469aa2d8&\"\nimport script from \"./CreateMessageDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateMessageDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSimpleTable,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport CreateMessageDialog from \"@/components/web/messages/CreateMessageDialog.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { ActorType, UserLevel } from \"@/scripts/cld.api\";\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n CreateMessageDialog\r\n },\r\n props: {\r\n loading: Boolean\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n userLevel(): UserLevel {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n },\r\n atleastUser(): boolean {\r\n return [UserLevel.User, UserLevel.Admin, UserLevel.SuperAdmin].includes(\r\n this.userLevel\r\n );\r\n },\r\n allowedToCreateMessage(): boolean {\r\n return this.actorType === ActorType.Client && this.atleastUser;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n markAllAsViewed() {\r\n this.$emit(\"markAllAsViewed\");\r\n },\r\n closeDialog() {\r\n this.dialog = false;\r\n this.search();\r\n }\r\n },\r\n data: (): { dialog: boolean } => ({ dialog: false })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessagesSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MessagesSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MessagesSearch.vue?vue&type=template&id=71f47ac0&\"\nimport script from \"./MessagesSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./MessagesSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n DirectMessageDto,\r\n DirectMessagingClient\r\n} from \"@/scripts/cld.api\";\r\nimport MessagesTable from \"@/components/web/messages/MessagesTable.vue\";\r\nimport MessagesSearch from \"@/components/web/messages/MessagesSearch.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { viewDocument } from \"@/components/shared/ui/DocumentButton.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n MessagesTable,\r\n MessagesSearch,\r\n EllipsisTableItem\r\n },\r\n computed: {\r\n sheetHeight(): number {\r\n return Math.max(200, this.$store.getters[gets.dimensions].height - 370);\r\n },\r\n message(): DirectMessageDto | undefined {\r\n return this.messages.find(m => m.id === this.selectedId);\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new DirectMessagingClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.messages = res;\r\n this.selectedId = this.messages.length ? this.messages[0].id : 0;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n viewDocument(diskName: string | undefined) {\r\n const document = this.message!.documents!.find(\r\n d => d.diskName === diskName\r\n )!;\r\n viewDocument(document.diskName, document.fileFormat);\r\n },\r\n messageClicked(id: number) {\r\n const prevId = this.selectedId;\r\n this.selectedId = id;\r\n if (this.actorType === ActorType.Supplier) {\r\n this.markOneAsViewed(prevId);\r\n this.markOneAsViewed(id);\r\n }\r\n },\r\n markOneAsViewed(id: number) {\r\n const message = this.messages.find(m => m.id === id)!;\r\n if (message.viewed) {\r\n return;\r\n }\r\n message.viewed = true;\r\n this.markAsViewedRestCall(id);\r\n },\r\n markAllAsViewed() {\r\n this.messages.map(m => (m.viewed = true));\r\n this.markAsViewedRestCall(null);\r\n },\r\n markAsViewedRestCall(id: number | null) {\r\n new DirectMessagingClient(new ApiConfiguration(this.$store))\r\n .markAsViewed(id)\r\n .then(() => {\r\n this.$store.commit(\r\n mutations.setUnviewedMessages,\r\n this.messages.filter(m => !m.viewed).length\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: number;\r\n selectedId: number;\r\n messages: DirectMessageDto[];\r\n } => ({\r\n loading: 0,\r\n selectedId: 0,\r\n messages: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Messages.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Messages.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Messages.vue?vue&type=template&id=6ebbdda8&\"\nimport script from \"./Messages.vue?vue&type=script&lang=ts&\"\nexport * from \"./Messages.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSheet,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('MyActor'),\"width\":900},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('ActorDialogTabs',{attrs:{\"actorIdToView\":_vm.actorId,\"actorTypeToView\":_vm.actorType}})]},proxy:true}])})],1),_c('v-spacer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport ActorDialogTabs from \"@/components/web/actor/ActorDialogTabs.vue\";\r\nimport { ActorType, RepositoryDto } from \"@/scripts/cld.api\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n ActorDialogTabs\r\n },\r\n computed: {\r\n actorId(): number {\r\n return this.$store.getters[gets.userInfo].actorId;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n data: (): {\r\n countries: RepositoryDto[];\r\n } => ({\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MyActor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MyActor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MyActor.vue?vue&type=template&id=31febf82&\"\nimport script from \"./MyActor.vue?vue&type=script&lang=ts&\"\nexport * from \"./MyActor.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.title},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.loading)?_c('Spinner',{attrs:{\"size\":180,\"top-margin\":\"\",\"bottom-margin\":\"\"}}):_c('span',[_c('UserSettingsForm',{attrs:{\"basicUserSettings\":_vm.basicUserSettings,\"notificationSettings\":_vm.notificationSettings}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"disabled\":_vm.loading || _vm.saveInProgress > 0 || !_vm.pendingChanges,\"depressed\":\"\"},on:{\"click\":_vm.init}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.loading || !_vm.valid || !_vm.pendingChanges,\"loading\":_vm.saveInProgress > 0,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('GeneralValues')}})],1),_c('v-divider',{attrs:{\"inset\":\"\",\"vertical\":\"\"}}),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"8\"}},[(_vm.notificationSettings)?_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('Notifications')}}):_vm._e()],1),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"4\"}},[_c('BasicUserSettings',{attrs:{\"basicUserSettings\":_vm.basicUserSettings}})],1),_c('v-divider',{attrs:{\"vertical\":\"\"}}),_c('v-col',{staticClass:\"large-padding-left\",attrs:{\"cols\":\"8\"}},[(_vm.notificationSettings)?_c('NotificationSettings',{attrs:{\"notificationSettings\":_vm.notificationSettings}}):_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('v-row',[(_vm.basicUserSettings.loadUserId === 0)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('UserName'),\"errorMessage\":_vm.usernameError,\"loading\":_vm.checkingUsername,\"asterisk\":\"\"},model:{value:(_vm.basicUserSettings.username),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"username\", $$v)},expression:\"basicUserSettings.username\"}}),_c('v-input',{attrs:{\"error\":!_vm.basicUserSettings.username || _vm.checkingUsername}})],1):_vm._e(),(\n _vm.basicUserSettings.loadUserId !== _vm.loadUserId &&\n _vm.basicUserSettings.loadUserId !== 0\n )?_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"small-padding-bottom\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"RemoveUserByInactivate\"))+\" \")]),_c('Dropdown',{attrs:{\"label\":_vm.$t('Status'),\"items\":_vm.activeInactiveItems(),\"custom-item\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:item.id ? 'green-text' : 'orange-text'},[_vm._v(_vm._s(item.text.toUpperCase()))])]}}],null,false,3257284931),model:{value:(_vm.basicUserSettings.enabled),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"enabled\", $$v)},expression:\"basicUserSettings.enabled\"}})],1):_vm._e(),(_vm.basicUserSettings.loadUserId === _vm.loadUserId)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.userLevelName(_vm.basicUserSettings.userLevel),\"label\":_vm.$t('UserLevel')}})],1):_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('UserLevel'),\"items\":_vm.userLevels()},model:{value:(_vm.basicUserSettings.userLevel),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"userLevel\", $$v)},expression:\"basicUserSettings.userLevel\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Email'),\"rules\":[_vm.validEmail],\"asterisk\":\"\"},model:{value:(_vm.basicUserSettings.email),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"email\", $$v)},expression:\"basicUserSettings.email\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Name'),\"rules\":[function (v) { return !!v && v.length > 0 && v.length <= 50; }],\"asterisk\":\"\"},model:{value:(_vm.basicUserSettings.name),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"name\", $$v)},expression:\"basicUserSettings.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('PhoneNumber'),\"rules\":[function (v) { return !v || v.length <= 50; }]},model:{value:(_vm.basicUserSettings.mobileNo),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"mobileNo\", $$v)},expression:\"basicUserSettings.mobileNo\"}})],1),(\n _vm.actorInvoiceInformations.length > 1 && _vm.allowedToViewInvoiceRecipient\n )?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('InvoiceRecipient'),\"items\":_vm.actorInvoiceInformations,\"disabled\":!_vm.allowedToChangeInvoiceRecipient,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.basicUserSettings.actorInvoiceInformationId),callback:function ($$v) {_vm.$set(_vm.basicUserSettings, \"actorInvoiceInformationId\", $$v)},expression:\"basicUserSettings.actorInvoiceInformationId\"}})],1):_vm._e(),(_vm.basicUserSettings.loadUserId !== 0)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.pendingChanges,\"loading\":_vm.resetCredentialsInProgress,\"block\":\"\"},on:{\"click\":_vm.resetCredentials}},[_vm._v(\" \"+_vm._s(_vm.$t(\"RequestNewPassword\"))+\" \")])],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\r\nimport Vue from \"vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { activeInactiveItems, userLevels } from \"@/scripts/misc/enumLists\";\r\nimport { usernameErrors, validEmail } from \"@/scripts/misc/stringUtils\";\r\nimport {\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n BasicUserSettingsDto,\r\n RepositoryDto,\r\n UserLevel,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\nimport { userLevelName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextSingle,\r\n Dropdown,\r\n ReadOnlyText\r\n },\r\n props: {\r\n basicUserSettings: BasicUserSettingsDto,\r\n pendingChanges: Boolean\r\n },\r\n watch: {\r\n \"basicUserSettings.username\"() {\r\n if (this.basicUserSettings.loadUserId === 0) {\r\n this.checkUsername();\r\n }\r\n }\r\n },\r\n computed: {\r\n loadUserId(): number {\r\n return this.$store.getters[gets.userInfo].loadUserId;\r\n },\r\n allowedToViewInvoiceRecipient(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n allowedToChangeInvoiceRecipient(): boolean {\r\n return (\r\n this.allowedToViewInvoiceRecipient &&\r\n this.userLevel === UserLevel.SuperAdmin\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n userLevel(): UserLevel | undefined {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n }\r\n },\r\n methods: {\r\n validEmail: validEmail,\r\n userLevels: userLevels,\r\n userLevelName: userLevelName,\r\n activeInactiveItems: activeInactiveItems,\r\n resetCredentials() {\r\n this.resetCredentialsInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .resetCredentials(this.basicUserSettings.username!)\r\n .then(() => {\r\n pushNotification(t(\"AnEmailHasBeenSent\"), \"mdi-email\");\r\n this.resetCredentialsInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n checkUsername() {\r\n const usernameBeingChecked = this.basicUserSettings.username;\r\n const errors = usernameErrors(usernameBeingChecked);\r\n if (errors) {\r\n this.usernameError = errors;\r\n return;\r\n }\r\n this.checkingUsername = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .checkUsername(usernameBeingChecked!)\r\n .then(taken => {\r\n if (this.basicUserSettings.username === usernameBeingChecked) {\r\n this.usernameError = taken ? t(\"UsernameNotAvailable\") : undefined;\r\n this.checkingUsername = false;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchActorInvoiceInformations() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .actorInvoiceInformation()\r\n .then(res => {\r\n this.actorInvoiceInformations = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n if (this.allowedToViewInvoiceRecipient) {\r\n this.fetchActorInvoiceInformations();\r\n }\r\n },\r\n data: (): {\r\n resetCredentialsInProgress: boolean;\r\n usernameError: string | undefined;\r\n checkingUsername: boolean;\r\n actorInvoiceInformations: RepositoryDto[];\r\n } => ({\r\n resetCredentialsInProgress: false,\r\n usernameError: undefined,\r\n checkingUsername: false,\r\n actorInvoiceInformations: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicUserSettings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicUserSettings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BasicUserSettings.vue?vue&type=template&id=036f289c&\"\nimport script from \"./BasicUserSettings.vue?vue&type=script&lang=ts&\"\nexport * from \"./BasicUserSettings.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VInput } from 'vuetify/lib/components/VInput';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VInput,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.isCustomer)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"NotificationsDesc\"))+\" \")]),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('a',{staticClass:\"text-decoration-underline\",attrs:{\"href\":_vm.documentLocation,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t(\"ReadInUserMaualAboutNotifications\")))])])],1):_vm._e(),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes()},model:{value:(_vm.cargoType),callback:function ($$v) {_vm.cargoType=$$v},expression:\"cargoType\"}})],1)],1),_c('div',{style:((\"height: \" + _vm.treeHeight + \"px; overflow-y: auto; overflow-x: hidden;\"))},_vm._l((_vm.nodes),function(node,index){return _c('v-row',{key:index},[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('NotificationSettingsNode',{attrs:{\"node\":node}})],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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport {\r\n Country,\r\n ILocationFilterDto,\r\n LocationFilterDto,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nenum RowTypeDelivery {\r\n zipCode = \"zipCode\",\r\n county = \"county\"\r\n}\r\n\r\nclass LocationFilterDtoPickup extends LocationFilterDto {\r\n rowType: RowTypeDelivery;\r\n constructor(data: ILocationFilterDto, rowType: RowTypeDelivery) {\r\n super(data);\r\n this.rowType = rowType;\r\n }\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Dropdown,\r\n Autocomplete,\r\n TextSingle\r\n },\r\n props: {\r\n dialog: Boolean,\r\n zipCodeFilter: Array as () => LocationFilterDto[],\r\n countyFilter: Array as () => LocationFilterDto[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n rowTypes(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: RowTypeDelivery.zipCode as any,\r\n text: t(\"ZipCodeFilter\")\r\n }),\r\n new RepositoryDto({\r\n id: RowTypeDelivery.county as any,\r\n text: t(\"CountyFilter\")\r\n })\r\n ];\r\n }\r\n },\r\n methods: {\r\n addRow() {\r\n this.draft.push(\r\n new LocationFilterDtoPickup(\r\n {\r\n country: Country.Sweden,\r\n filter: \"\"\r\n },\r\n RowTypeDelivery.zipCode\r\n )\r\n );\r\n },\r\n removeRow(index: number) {\r\n this.draft.splice(index, 1);\r\n },\r\n fetchCounties() {\r\n cached(\"counties\", Country.Sweden)\r\n .then(res => {\r\n this.counties = res.map(r => r.text!);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.draft = [\r\n ...this.zipCodeFilter.map(\r\n f => new LocationFilterDtoPickup(f, RowTypeDelivery.zipCode)\r\n ),\r\n ...this.countyFilter.map(\r\n f => new LocationFilterDtoPickup(f, RowTypeDelivery.county)\r\n )\r\n ];\r\n this.fetchCounties();\r\n },\r\n keepChangesAndClose() {\r\n this.zipCodeFilter.length = 0;\r\n this.zipCodeFilter.push(\r\n ...this.draft.filter(\r\n d => !!d.filter && d.rowType === RowTypeDelivery.zipCode\r\n )\r\n );\r\n this.countyFilter.length = 0;\r\n this.countyFilter.push(\r\n ...this.draft.filter(\r\n d => !!d.filter && d.rowType === RowTypeDelivery.county\r\n )\r\n );\r\n this.close();\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n draft: LocationFilterDtoPickup[];\r\n counties: string[];\r\n } => ({\r\n draft: [],\r\n counties: []\r\n })\r\n});\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-icon',{class:{\n 'half-flipped': _vm.node.expanded,\n transparent: !_vm.expandable,\n clickable: _vm.expandable\n },on:{\"click\":function($event){_vm.node.expanded = !_vm.node.expanded}}},[_vm._v(\" mdi-menu-right \")]),_c('CheckboxTiny',{attrs:{\"value\":_vm.node.checked},on:{\"input\":_vm.node.toggleChecked}}),_vm._v(\" \"+_vm._s(_vm.node.text)+\" \"),_c('NotificationSettingsFilters',{attrs:{\"node\":_vm.node,\"disabled\":_vm.node.checked === false}}),(_vm.node.expanded)?_c('v-row',{staticClass:\"large-margin-left\"},_vm._l((_vm.node.children),function(child,index){return _c('v-col',{key:index,staticClass:\"small-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c(_vm.self,{tag:\"component\",attrs:{\"node\":child}})],1)}),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('span',[(_vm.node.pickupZipCodeFilter)?_c('span',{staticClass:\"filter-span\"},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"150\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-chip',_vm._g({staticClass:\"tiny-margin-left clickable\",attrs:{\"tabindex\":\"0\",\"disabled\":_vm.disabled,\"small\":\"\"},on:{\"click\":function($event){_vm.pickupFilterDialog = true},\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.pickupFilterDialog = true}}},on),[_vm._v(\" \"+_vm._s(_vm.pickupFilterText)+\" \")])]}}],null,false,1114753589)},[_vm._v(\" \"+_vm._s(_vm.$t(\"PickupFilterTooltip\"))+\" \")]),_c('NotificationSettingsPickupFilterDialog',{attrs:{\"dialog\":_vm.pickupFilterDialog,\"zipCodeFilter\":_vm.node.pickupZipCodeFilter,\"countyFilter\":_vm.node.pickupCountyFilter},on:{\"close\":function($event){_vm.pickupFilterDialog = false}}})],1):_vm._e(),_c('span',{staticClass:\"and-span\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"And\"))+\" \")]),(_vm.node.deliveryZipCodeFilter)?_c('span',{staticClass:\"filter-span\"},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"150\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-chip',_vm._g({staticClass:\"tiny-margin-left clickable\",attrs:{\"tabindex\":\"0\",\"disabled\":_vm.disabled,\"small\":\"\"},on:{\"click\":function($event){_vm.deliveryFilterDialog = true},\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.deliveryFilterDialog = true}}},on),[_vm._v(\" \"+_vm._s(_vm.deliveryFilterText)+\" \")])]}}],null,false,2690034749)},[_vm._v(\" \"+_vm._s(_vm.$t(\"DeliveryFilterTooltip\"))+\" \")]),_c('NotificationSettingsDeliveryFilterDialog',{attrs:{\"dialog\":_vm.deliveryFilterDialog,\"filter\":_vm.node.deliveryZipCodeFilter},on:{\"close\":function($event){_vm.deliveryFilterDialog = false}}})],1):_vm._e(),_c('span',{staticClass:\"and-span\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"And\"))+\" \")]),(_vm.node.clientFilter)?_c('span',{staticClass:\"filter-span\"},[_c('v-chip',{staticClass:\"tiny-margin-left clickable\",attrs:{\"tabindex\":\"0\",\"disabled\":_vm.disabled,\"small\":\"\"},on:{\"click\":function($event){_vm.clientFilterDialog = true},\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.clientFilterDialog = true}}},[_vm._v(\" \"+_vm._s(_vm.clientFilterText)+\" \")]),_c('NotificationSettingsClientFilterDialog',{attrs:{\"dialog\":_vm.clientFilterDialog,\"filter\":_vm.node.clientFilter},on:{\"close\":function($event){_vm.clientFilterDialog = false}}})],1):_vm._e(),_c('span',{staticClass:\"and-span\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"And\"))+\" \")]),(_vm.node.unitFilter)?_c('span',{staticClass:\"filter-span\"},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"150\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-chip',_vm._g({staticClass:\"tiny-margin-left clickable\",attrs:{\"tabindex\":\"0\",\"disabled\":_vm.disabled,\"small\":\"\"},on:{\"click\":function($event){_vm.unitFilterDialog = true},\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }_vm.unitFilterDialog = true}}},on),[_vm._v(\" \"+_vm._s(_vm.unitFilterText)+\" \")])]}}],null,false,2361388327)},[_vm._v(\" \"+_vm._s(_vm.$t(\"UnitFilterTooltip\"))+\" \")]),_c('NotificationSettingsUnitFilterDialog',{attrs:{\"dialog\":_vm.unitFilterDialog,\"filter\":_vm.node.unitFilter},on:{\"close\":function($event){_vm.unitFilterDialog = false}}})],1):_vm._e(),_c('span',{staticClass:\"and-span\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"And\"))+\" \")]),(_vm.node.alteredByLoadUser)?_c('span',{staticClass:\"filter-span\"},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"150\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-chip',_vm._g({staticClass:\"tiny-margin-left clickable\",attrs:{\"tabindex\":\"0\",\"disabled\":_vm.disabled,\"small\":\"\"},on:{\"click\":_vm.toggleAlteredByLoadUser,\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.toggleAlteredByLoadUser.apply(null, arguments)}}},on),[_vm._v(\" \"+_vm._s(_vm.node.alteredByLoadUser && _vm.node.alteredByLoadUser.get() ? _vm.$t(\"AlteredByLoadUserMe\") : _vm.$t(\"AlteredByLoadUserAnyone\"))+\" \")])]}}],null,false,3675159697)},[_vm._v(\" \"+_vm._s(_vm.$t(\"AlteredByLoadUserFilterTooltip\"))+\" \")])],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('PickupAreas'),\"width\":\"700\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.zipCodeFilter && _vm.countyFilter)?_c('v-simple-table',{staticClass:\"medium-padding-top\"},[_c('tbody',[_vm._l((_vm.draft),function(row,index){return _c('tr',{key:index},[_c('td',[_c('Dropdown',{attrs:{\"label\":_vm.$t('FilterType'),\"items\":_vm.rowTypes},model:{value:(row.rowType),callback:function ($$v) {_vm.$set(row, \"rowType\", $$v)},expression:\"row.rowType\"}})],1),_c('td',{staticStyle:{\"width\":\"300px\"}},[(row.rowType === 'zipCode')?_c('TextSingle',{attrs:{\"label\":_vm.$t('ZipCode')},model:{value:(row.filter),callback:function ($$v) {_vm.$set(row, \"filter\", $$v)},expression:\"row.filter\"}}):_c('Autocomplete',{attrs:{\"label\":_vm.$t('PickupLocation'),\"items\":_vm.counties},model:{value:(row.filter),callback:function ($$v) {_vm.$set(row, \"filter\", $$v)},expression:\"row.filter\"}})],1),_c('td',{staticStyle:{\"width\":\"70px\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeRow(index)}}},[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)],1)])}),_c('tr',[_c('td',{attrs:{\"colspan\":\"99\"}},[_c('v-btn',{attrs:{\"tabindex\":\"0\"},on:{\"click\":_vm.addRow}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-plus-thick \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"AddRow\"))+\" \")],1)],1)])],2)]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\"},on:{\"click\":_vm.keepChangesAndClose}},[_vm._v(\" OK \")])],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsPickupFilterDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsPickupFilterDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettingsPickupFilterDialog.vue?vue&type=template&id=812287e6&\"\nimport script from \"./NotificationSettingsPickupFilterDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettingsPickupFilterDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('DeliveryAreas'),\"width\":\"850\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.filter)?_c('v-simple-table',{staticClass:\"medium-padding-top\"},[_c('tbody',[_vm._l((_vm.draft),function(row,index){return _c('tr',{key:index},[_c('td',[_c('Dropdown',{attrs:{\"label\":_vm.$t('FilterType'),\"items\":_vm.rowTypes},model:{value:(row.rowType),callback:function ($$v) {_vm.$set(row, \"rowType\", $$v)},expression:\"row.rowType\"}})],1),_c('td',{staticStyle:{\"width\":\"300px\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.countries},model:{value:(row.country),callback:function ($$v) {_vm.$set(row, \"country\", $$v)},expression:\"row.country\"}})],1),_c('td',{staticStyle:{\"width\":\"180px\"}},[(row.rowType === 'zipCode')?_c('TextSingle',{attrs:{\"label\":_vm.$t('ZipCode'),\"disabled\":!row.country},model:{value:(row.filter),callback:function ($$v) {_vm.$set(row, \"filter\", $$v)},expression:\"row.filter\"}}):_vm._e()],1),_c('td',{staticStyle:{\"width\":\"70px\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeRow(index)}}},[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)],1)])}),_c('tr',[_c('td',{attrs:{\"colspan\":\"99\"}},[_c('v-btn',{on:{\"click\":_vm.addRow}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-plus-thick \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"AddRow\"))+\" \")],1)],1)])],2)]):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\"},on:{\"click\":_vm.keepChangesAndClose}},[_vm._v(\" OK \")])],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport {\r\n ILocationFilterDto,\r\n LocationFilterDto,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nenum RowTypeDelivery {\r\n country = \"country\",\r\n zipCode = \"zipCode\"\r\n}\r\n\r\nclass LocationFilterDtoDelivery extends LocationFilterDto {\r\n rowType: RowTypeDelivery;\r\n constructor(data: ILocationFilterDto, rowType: RowTypeDelivery) {\r\n super(data);\r\n this.rowType = rowType;\r\n }\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Dropdown,\r\n Autocomplete,\r\n TextSingle\r\n },\r\n props: {\r\n dialog: Boolean,\r\n filter: Array as () => LocationFilterDto[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n rowTypes(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: RowTypeDelivery.country as any,\r\n text: t(\"CountryFilter\")\r\n }),\r\n new RepositoryDto({\r\n id: RowTypeDelivery.zipCode as any,\r\n text: t(\"ZipCodeFilter\")\r\n })\r\n ];\r\n }\r\n },\r\n methods: {\r\n addRow() {\r\n this.draft.push(\r\n new LocationFilterDtoDelivery(\r\n {\r\n country: undefined as any,\r\n filter: \"\"\r\n },\r\n RowTypeDelivery.country\r\n )\r\n );\r\n },\r\n removeRow(index: number) {\r\n this.draft.splice(index, 1);\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.draft = [\r\n ...this.filter.map(\r\n f =>\r\n new LocationFilterDtoDelivery(\r\n f,\r\n f.filter ? RowTypeDelivery.zipCode : RowTypeDelivery.country\r\n )\r\n )\r\n ];\r\n this.fetchCountries();\r\n },\r\n keepChangesAndClose() {\r\n this.filter.length = 0;\r\n for (const d of this.draft) {\r\n if (d.rowType === RowTypeDelivery.country) {\r\n d.filter = undefined;\r\n }\r\n }\r\n this.filter.push(...this.draft.filter(d => !!d.country));\r\n this.close();\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n draft: LocationFilterDtoDelivery[];\r\n countries: RepositoryDto[];\r\n } => ({\r\n draft: [],\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsDeliveryFilterDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsDeliveryFilterDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettingsDeliveryFilterDialog.vue?vue&type=template&id=5165e418&\"\nimport script from \"./NotificationSettingsDeliveryFilterDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettingsDeliveryFilterDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Clients'),\"width\":\"500\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"10\"}},[_c('DropdownMulti',{attrs:{\"label\":_vm.$t('Clients'),\"items\":_vm.clients},model:{value:(_vm.draft),callback:function ($$v) {_vm.draft=$$v},expression:\"draft\"}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\"},on:{\"click\":_vm.keepChangesAndClose}},[_vm._v(\" OK \")])],1)],1)]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport { RepositoryDto } from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DropdownMulti\r\n },\r\n props: {\r\n dialog: Boolean,\r\n filter: Array as () => number[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n fetchClients() {\r\n cached(\"clients\", [true, true, false])\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.draft = [...this.filter];\r\n this.fetchClients();\r\n },\r\n keepChangesAndClose() {\r\n this.filter.length = 0;\r\n this.filter.push(...this.draft);\r\n this.close();\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n draft: number[];\r\n clients: RepositoryDto[];\r\n } => ({\r\n draft: [],\r\n clients: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsClientFilterDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsClientFilterDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettingsClientFilterDialog.vue?vue&type=template&id=e8c2f556&\"\nimport script from \"./NotificationSettingsClientFilterDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettingsClientFilterDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Units'),\"width\":\"400\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"11\"}},[_c('DropdownMulti',{attrs:{\"label\":_vm.$t('Units'),\"items\":_vm.units,\"emptyMeansAll\":\"\"},model:{value:(_vm.draft),callback:function ($$v) {_vm.draft=$$v},expression:\"draft\"}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\"},on:{\"click\":_vm.keepChangesAndClose}},[_vm._v(\" OK \")])],1)],1)]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport {\r\n ApiConfiguration,\r\n RepositoryClient,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DropdownMulti\r\n },\r\n props: {\r\n dialog: Boolean,\r\n filter: Array as () => string[]\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n fetchUnits() {\r\n if (Auth.browsingSupportAdmin()) {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .unitsSupportAdmin(null)\r\n .then(res => {\r\n this.units = this.createUnitList(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n } else {\r\n cached(\"units\")\r\n .then(res => {\r\n this.units = this.createUnitList(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n createUnitList(units: string[]) {\r\n return [\r\n new RepositoryDto({ id: \"NULL\" as any, text: t(\"LoadsWithoutUnits\") }),\r\n ...units.map(r => new RepositoryDto({ id: r as any, text: r }))\r\n ];\r\n },\r\n init() {\r\n this.draft = [...this.filter];\r\n this.fetchUnits();\r\n },\r\n keepChangesAndClose() {\r\n this.filter.length = 0;\r\n this.filter.push(...this.draft);\r\n this.close();\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n draft: string[];\r\n units: RepositoryDto[];\r\n } => ({\r\n draft: [],\r\n units: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsUnitFilterDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsUnitFilterDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettingsUnitFilterDialog.vue?vue&type=template&id=19b1cdd2&\"\nimport script from \"./NotificationSettingsUnitFilterDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettingsUnitFilterDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport NotificationSettingsPickupFilterDialog from \"@/components/web/settings/NotificationSettingsPickupFilterDialog.vue\";\r\nimport NotificationSettingsDeliveryFilterDialog from \"@/components/web/settings/NotificationSettingsDeliveryFilterDialog.vue\";\r\nimport NotificationSettingsClientFilterDialog from \"@/components/web/settings/NotificationSettingsClientFilterDialog.vue\";\r\nimport NotificationSettingsUnitFilterDialog from \"@/components/web/settings/NotificationSettingsUnitFilterDialog.vue\";\r\nimport { NotificationNode } from \"@/components/web/settings/NotificationSettings.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n NotificationSettingsPickupFilterDialog,\r\n NotificationSettingsDeliveryFilterDialog,\r\n NotificationSettingsClientFilterDialog,\r\n NotificationSettingsUnitFilterDialog\r\n },\r\n props: {\r\n node: Object as () => NotificationNode,\r\n disabled: Boolean\r\n },\r\n computed: {\r\n pickupFilterText(): string {\r\n return `${t(\"PickupAreas\")}: ${this.valueText([\r\n ...this.node.pickupZipCodeFilter!,\r\n ...this.node.pickupCountyFilter!\r\n ])}`;\r\n },\r\n deliveryFilterText(): string {\r\n return `${t(\"DeliveryAreas\")}: ${this.valueText(\r\n this.node.deliveryZipCodeFilter!\r\n )}`;\r\n },\r\n clientFilterText(): string {\r\n return `${t(\"Clients\")}: ${this.valueText(this.node.clientFilter!)}`;\r\n },\r\n unitFilterText(): string {\r\n return `${t(\"Units\")}: ${this.valueText(this.node.unitFilter!)}`;\r\n }\r\n },\r\n methods: {\r\n valueText(values: any[]): string {\r\n if (values.length === 0) {\r\n return t(\"MobileAll\");\r\n }\r\n return values.length.toString();\r\n },\r\n toggleAlteredByLoadUser() {\r\n this.node.alteredByLoadUser!.set(!this.node.alteredByLoadUser!.get());\r\n }\r\n },\r\n data: (): {\r\n pickupFilterDialog: boolean;\r\n deliveryFilterDialog: boolean;\r\n clientFilterDialog: boolean;\r\n unitFilterDialog: boolean;\r\n } => ({\r\n pickupFilterDialog: false,\r\n deliveryFilterDialog: false,\r\n clientFilterDialog: false,\r\n unitFilterDialog: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsFilters.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsFilters.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettingsFilters.vue?vue&type=template&id=6faf0f34&scoped=true&\"\nimport script from \"./NotificationSettingsFilters.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettingsFilters.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./NotificationSettingsFilters.vue?vue&type=style&index=0&id=6faf0f34&scoped=true&lang=css&\"\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 \"6faf0f34\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VChip,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport { NotificationNode } from \"@/components/web/settings/NotificationSettings.vue\";\r\nimport NotificationSettingsNode from \"@/components/web/settings/NotificationSettingsNode.vue\";\r\nimport NotificationSettingsFilters from \"@/components/web/settings/NotificationSettingsFilters.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n NotificationSettingsFilters,\r\n CheckboxTiny\r\n },\r\n props: {\r\n node: Object as () => NotificationNode\r\n },\r\n computed: {\r\n expandable(): boolean {\r\n return this.node.children.length > 0;\r\n }\r\n },\r\n data: (): { self: any } => ({ self: NotificationSettingsNode })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsNode.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettingsNode.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettingsNode.vue?vue&type=template&id=589c2cfa&\"\nimport script from \"./NotificationSettingsNode.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettingsNode.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n CargoType,\r\n LocationFilterDto,\r\n NotificationGroup,\r\n NotificationSettingsDto,\r\n NotificationSettingsGroupDto,\r\n NotificationSettingsRowDto,\r\n NotificationUserInterfaceGroup,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport {\r\n notificationGroupName,\r\n notificationName,\r\n notificationUserInterfaceGroupName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport NotificationSettingsNode from \"@/components/web/settings/NotificationSettingsNode.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { linkWithLocale } from \"@/scripts/misc/stringUtils\";\r\nimport Config from \"@/scripts/config/config\";\r\n\r\nexport type NotificationNode = {\r\n text: string;\r\n checked: boolean | undefined;\r\n toggleChecked: { (checked: boolean): void };\r\n expanded: boolean;\r\n children: NotificationNode[];\r\n pickupCountyFilter?: LocationFilterDto[];\r\n pickupZipCodeFilter?: LocationFilterDto[];\r\n deliveryZipCodeFilter?: LocationFilterDto[];\r\n clientFilter?: number[];\r\n unitFilter?: string[];\r\n alteredByLoadUser?: { get: { (): boolean }; set: { (v: boolean): void } };\r\n};\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Dropdown,\r\n NotificationSettingsNode\r\n },\r\n props: {\r\n notificationSettings: NotificationSettingsDto\r\n },\r\n watch: {\r\n notificationSettings: {\r\n handler() {\r\n this.recreateNodes();\r\n },\r\n deep: true,\r\n immediate: true\r\n },\r\n cargoType: {\r\n handler() {\r\n this.recreateNodes();\r\n },\r\n immediate: true\r\n },\r\n cargoTypes: {\r\n handler() {\r\n this.cargoType = this.cargoTypes()[0].id;\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n treeHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 450);\r\n },\r\n loadUserId(): number {\r\n return this.$store.getters[gets.userInfo].loadUserId;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n actorCargoTypes(): CargoType[] {\r\n return this.$store.getters[gets.userInfo].actorCargoTypes;\r\n },\r\n isCustomer(): boolean {\r\n return this.actorType === ActorType.Customer;\r\n },\r\n documentLocation(): string {\r\n return linkWithLocale(\r\n Config.getDocsUrl() +\r\n \"/documentation/docs_ACTORTYPE_USERLANG/_site/ACTORTYPE_usermanual_USERLANG/installningar/index.html\"\r\n );\r\n }\r\n },\r\n methods: {\r\n cargoTypes(): RepositoryDto[] {\r\n return cargoTypes().filter(\r\n c =>\r\n this.actorType !== ActorType.Supplier ||\r\n this.actorCargoTypes.includes(c.id)\r\n );\r\n },\r\n checkedMulti(rows: NotificationSettingsRowDto[]): boolean | undefined {\r\n const numChecked = rows.filter(n => n.checked).length;\r\n return !numChecked\r\n ? false\r\n : numChecked === rows.length\r\n ? true\r\n : undefined;\r\n },\r\n expandedGroup(notificationGroup: NotificationGroup): boolean {\r\n return this.nodes.some(\r\n n => n.text === notificationGroupName(notificationGroup) && n.expanded\r\n );\r\n },\r\n expandedUserInterfaceGroup(\r\n uiGroup: NotificationUserInterfaceGroup\r\n ): boolean {\r\n return this.nodes.some(n =>\r\n n.children.some(\r\n c =>\r\n c.text === notificationUserInterfaceGroupName(uiGroup) && c.expanded\r\n )\r\n );\r\n },\r\n recreateNodes() {\r\n this.nodes = this.notificationSettings\r\n .groups!.filter(g => g.cargoType === this.cargoType)\r\n .map(group => this.createGroupNode(group))\r\n .filter(n => n.children.length > 0);\r\n },\r\n createGroupNode(group: NotificationSettingsGroupDto) {\r\n return {\r\n text: notificationGroupName(group.notificationGroup),\r\n checked: this.checkedMulti(group.rows!),\r\n toggleChecked: (checked: boolean) => {\r\n group.rows!.map(r => (r.checked = checked));\r\n },\r\n expanded: this.expandedGroup(group.notificationGroup),\r\n children: this.createGroupChildren(group.rows!),\r\n pickupCountyFilter: group.pickupCountyFilter,\r\n pickupZipCodeFilter: group.pickupZipCodeFilter,\r\n deliveryZipCodeFilter: group.deliveryZipCodeFilter,\r\n clientFilter: group.clientFilter,\r\n unitFilter: group.unitFilter,\r\n alteredByLoadUser:\r\n group.alteredByLoadUser === null\r\n ? undefined\r\n : {\r\n get() {\r\n return group.alteredByLoadUser!;\r\n },\r\n set(v: boolean) {\r\n group.alteredByLoadUser = v;\r\n }\r\n }\r\n };\r\n },\r\n createGroupChildren(\r\n rows: NotificationSettingsRowDto[]\r\n ): NotificationNode[] {\r\n const userInterfaceGroups = [\r\n ...new Set(\r\n rows\r\n .filter(r => !!r.userInterfaceGroup)\r\n .map(r => r.userInterfaceGroup!)\r\n )\r\n ];\r\n const res = rows\r\n .filter(r => !r.userInterfaceGroup)\r\n .map(row => this.createNotificationRowNode(row));\r\n res.push(\r\n ...userInterfaceGroups.map(x =>\r\n this.createNotificationUserInterfaceNode(\r\n rows.filter(r => r.userInterfaceGroup === x),\r\n x\r\n )\r\n )\r\n );\r\n return res;\r\n },\r\n createNotificationRowNode(\r\n row: NotificationSettingsRowDto\r\n ): NotificationNode {\r\n return {\r\n text: notificationName(row.notification),\r\n checked: row.checked,\r\n toggleChecked: (checked: boolean) => (row.checked = checked),\r\n expanded: false,\r\n children: []\r\n };\r\n },\r\n createNotificationUserInterfaceNode(\r\n rows: NotificationSettingsRowDto[],\r\n uiGroup: NotificationUserInterfaceGroup\r\n ): NotificationNode {\r\n return {\r\n text: notificationUserInterfaceGroupName(uiGroup),\r\n checked: this.checkedMulti(rows),\r\n toggleChecked: (checked: boolean) => {\r\n rows.map(r => (r.checked = checked));\r\n },\r\n expanded: this.expandedUserInterfaceGroup(uiGroup),\r\n children: rows.map(row => this.createNotificationRowNode(row))\r\n };\r\n }\r\n },\r\n data: (): {\r\n nodes: NotificationNode[];\r\n cargoType: CargoType;\r\n } => ({\r\n nodes: [],\r\n cargoType: CargoType.Road\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotificationSettings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NotificationSettings.vue?vue&type=template&id=4809fbb0&\"\nimport script from \"./NotificationSettings.vue?vue&type=script&lang=ts&\"\nexport * from \"./NotificationSettings.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport BasicUserSettings from \"@/components/web/settings/BasicUserSettings.vue\";\r\nimport NotificationSettings from \"@/components/web/settings/NotificationSettings.vue\";\r\nimport {\r\n BasicUserSettingsDto,\r\n NotificationSettingsDto\r\n} from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n BasicUserSettings,\r\n NotificationSettings,\r\n GreyTitle\r\n },\r\n props: {\r\n basicUserSettings: BasicUserSettingsDto,\r\n notificationSettings: NotificationSettingsDto\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserSettingsForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserSettingsForm.vue?vue&type=template&id=65e91cd4&\"\nimport script from \"./UserSettingsForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserSettingsForm.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VDivider,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport UserSettingsForm from \"@/components/web/settings/UserSettingsForm.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport {\r\n ApiConfiguration,\r\n BasicUserSettingsDto,\r\n NotificationSettingsDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n UserSettingsForm,\r\n Spinner\r\n },\r\n computed: {\r\n title(): string {\r\n let title = t(\"MySettings\");\r\n if (this.basicUserSettings) {\r\n title += \" (\" + this.basicUserSettings.username + \")\";\r\n }\r\n return title;\r\n },\r\n pendingChanges(): boolean {\r\n return (\r\n this.originalBasicUserSettings !==\r\n JSON.stringify(this.basicUserSettings) ||\r\n this.originalNotificationSettings !==\r\n JSON.stringify(this.notificationSettings)\r\n );\r\n },\r\n loading(): boolean {\r\n return (\r\n this.basicUserSettings === undefined ||\r\n this.notificationSettings === undefined\r\n );\r\n },\r\n loadUserId(): number {\r\n return this.$store.getters[gets.userInfo].loadUserId;\r\n }\r\n },\r\n methods: {\r\n fetchBasicSettings() {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .basicUserSettings(this.loadUserId)\r\n .then(res => {\r\n this.basicUserSettings = res;\r\n this.originalBasicUserSettings = JSON.stringify(\r\n this.basicUserSettings\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchNotificationSettings() {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .notificationSettings(this.loadUserId)\r\n .then(res => {\r\n this.notificationSettings = res;\r\n this.originalNotificationSettings = JSON.stringify(\r\n this.notificationSettings\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = 2;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .saveBasicUserSettings(this.basicUserSettings!)\r\n .then(() => {\r\n this.saveInProgress--;\r\n if (this.saveInProgress === 0) {\r\n this.init();\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .saveNotificationSettings(this.notificationSettings!)\r\n .then(() => {\r\n this.saveInProgress--;\r\n if (this.saveInProgress === 0) {\r\n this.init();\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.basicUserSettings = undefined;\r\n this.notificationSettings = undefined;\r\n this.fetchBasicSettings();\r\n this.fetchNotificationSettings();\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: number;\r\n basicUserSettings: BasicUserSettingsDto | undefined;\r\n originalBasicUserSettings: string;\r\n notificationSettings: NotificationSettingsDto | undefined;\r\n originalNotificationSettings: string;\r\n } => ({\r\n valid: false,\r\n saveInProgress: 0,\r\n basicUserSettings: undefined,\r\n originalBasicUserSettings: \"\",\r\n notificationSettings: undefined,\r\n originalNotificationSettings: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MySettings.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MySettings.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MySettings.vue?vue&type=template&id=059f202b&\"\nimport script from \"./MySettings.vue?vue&type=script&lang=ts&\"\nexport * from \"./MySettings.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.title},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[(_vm.documentsVisible)?_c('v-btn',{on:{\"click\":_vm.openDocuments}},[_c('v-icon',{attrs:{\"size\":\"16\",\"left\":\"\"}},[_vm._v(\" mdi-file-document-multiple-outline \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"TermsOfAgreement\") + \" & \" + _vm.$t(\"InvoicingInformation\"))+\" \")],1):_vm._e()],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exporting,\"disabled\":_vm.loading || _vm.filteredActorIds.length === 0},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)]},proxy:true}])})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('ActorTable',{attrs:{\"actors\":_vm.actors,\"actorTypeToView\":_vm.actorTypeToView,\"loading\":_vm.loading},on:{\"search\":_vm.search,\"filteredActorIds\":function (v) { return (_vm.filteredActorIds = v); }}})],1)],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('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"mobile-breakpoint\":0,\"loading\":_vm.loading,\"items\":_vm.filteredActors,\"height\":_vm.tableHeight,\"item-key\":\"actorId\",\"sort-by\":\"actorName\",\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [-1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.actorName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' }},model:{value:(_vm.actorNameFilter),callback:function ($$v) {_vm.actorNameFilter=$$v},expression:\"actorNameFilter\"}})]},proxy:true},{key:\"filter.country\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'country' }},model:{value:(_vm.countryFilter),callback:function ($$v) {_vm.countryFilter=$$v},expression:\"countryFilter\"}})]},proxy:true},{key:\"filter.orgNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' }},model:{value:(_vm.orgNoFilter),callback:function ($$v) {_vm.orgNoFilter=$$v},expression:\"orgNoFilter\"}})]},proxy:true},{key:\"filter.mainContactName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' }},model:{value:(_vm.mainContactNameFilter),callback:function ($$v) {_vm.mainContactNameFilter=$$v},expression:\"mainContactNameFilter\"}})]},proxy:true},{key:\"filter.mainContactEmail\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' }},model:{value:(_vm.mainContactEmailFilter),callback:function ($$v) {_vm.mainContactEmailFilter=$$v},expression:\"mainContactEmailFilter\"}})]},proxy:true},{key:\"filter.mainContactPhone\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' }},model:{value:(_vm.mainContactPhoneFilter),callback:function ($$v) {_vm.mainContactPhoneFilter=$$v},expression:\"mainContactPhoneFilter\"}})]},proxy:true},{key:\"filter.cargoTypes\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'cargoType' }},model:{value:(_vm.cargoTypeFilter),callback:function ($$v) {_vm.cargoTypeFilter=$$v},expression:\"cargoTypeFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.action\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-icon',{attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.viewActor(item.actorId)}}},[_vm._v(\" mdi-magnify \")])]}},{key:\"item.regDate\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.regDate.datePrint())+\" \")]}},{key:\"item.mainContactName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.mainContactName,\"width\":\"120\"}})]}},{key:\"item.country\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.isoName(item.country))+\" \")]}},{key:\"item.cargoTypes\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.cargoTypesText(item.cargoTypes))+\" \")]}}],null,true)}),_c('ActorDialog',{attrs:{\"actorIdToView\":_vm.actorId,\"actorTypeToView\":_vm.actorTypeToView},on:{\"close\":_vm.closeDialog}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ActorListDto, ActorType, CargoType, Country } from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport ActorDialog from \"@/components/web/actor/ActorDialog.vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport { cargoTypeName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n actors: Array as () => ActorListDto[],\r\n actorTypeToView: Number as () => ActorType,\r\n loading: Boolean\r\n },\r\n components: {\r\n EllipsisTableItem,\r\n CustomTableHeader,\r\n CustomFilter,\r\n ActorDialog\r\n },\r\n watch: {\r\n filteredActors: {\r\n handler() {\r\n this.$emit(\r\n \"filteredActorIds\",\r\n this.filteredActors.map(a => a.actorId)\r\n );\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 175);\r\n },\r\n actorId(): number | undefined {\r\n const id = Number(this.$route.query.actorId);\r\n if (!id || isNaN(id)) {\r\n return undefined;\r\n }\r\n return id;\r\n },\r\n filteredActors(): ActorListDto[] {\r\n return this.actors\r\n .filter(a => stringSearchHit(this.actorNameFilter, a.actorName, false))\r\n .filter(a => !this.countryFilter || a.country === this.countryFilter)\r\n .filter(a => stringSearchHit(this.orgNoFilter, a.orgNo, false))\r\n .filter(a =>\r\n stringSearchHit(this.mainContactNameFilter, a.mainContactName, false)\r\n )\r\n .filter(a =>\r\n stringSearchHit(\r\n this.mainContactEmailFilter,\r\n a.mainContactEmail,\r\n false\r\n )\r\n )\r\n .filter(a =>\r\n stringSearchHit(\r\n this.mainContactPhoneFilter,\r\n a.mainContactPhone,\r\n false\r\n )\r\n )\r\n .filter(\r\n a =>\r\n !this.cargoTypeFilter ||\r\n a.cargoTypes!.includes(this.cargoTypeFilter)\r\n );\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"action\",\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"actorName\",\r\n text: \"Actor\",\r\n sortValue: true\r\n });\r\n if (\r\n this.actorTypeToView === ActorType.Supplier ||\r\n this.actorTypeToView === ActorType.Client\r\n ) {\r\n headers.push({\r\n value: \"regDate\",\r\n text: \"EnteredLasset\",\r\n sortValue: true\r\n });\r\n }\r\n if (this.actorTypeToView === ActorType.Customer) {\r\n headers.push({\r\n value: \"orgNo\",\r\n text: \"OrgNo\",\r\n sortValue: true\r\n });\r\n }\r\n headers.push({\r\n value: \"country\",\r\n text: \"Country\",\r\n sortValue: true,\r\n width: 100\r\n });\r\n headers.push({\r\n value: \"mainContactName\",\r\n text: \"MainContact\",\r\n sortValue: true\r\n });\r\n headers.push({\r\n value: \"mainContactEmail\",\r\n text: \"MainContactEmail\",\r\n multiLine: true\r\n });\r\n headers.push({\r\n value: \"mainContactPhone\",\r\n text: \"MainContactPhone\",\r\n multiLine: true\r\n });\r\n if (this.actorTypeToView === ActorType.Supplier) {\r\n headers.push({\r\n value: \"cargoTypes\",\r\n text: \"CargoType\"\r\n });\r\n }\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n isoName: isoName,\r\n cargoTypesText(cargoTypes: CargoType[]): string {\r\n return cargoTypes.map(ct => cargoTypeName(ct).slice(0, 4)).join(\", \");\r\n },\r\n viewActor(id: number) {\r\n this.$router.push({\r\n query: { ...this.$route.query, actorId: id.toString() },\r\n path: this.$route.path\r\n });\r\n },\r\n closeDialog() {\r\n this.$router.push({\r\n query: { ...this.$route.query, actorId: undefined },\r\n path: this.$route.path\r\n });\r\n }\r\n },\r\n data: (): {\r\n actorNameFilter: string;\r\n cargoTypeFilter: CargoType | undefined;\r\n countryFilter: Country | undefined;\r\n orgNoFilter: string;\r\n mainContactNameFilter: string;\r\n mainContactEmailFilter: string;\r\n mainContactPhoneFilter: string;\r\n } => ({\r\n actorNameFilter: \"\",\r\n cargoTypeFilter: undefined,\r\n countryFilter: undefined,\r\n orgNoFilter: \"\",\r\n mainContactNameFilter: \"\",\r\n mainContactEmailFilter: \"\",\r\n mainContactPhoneFilter: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorTable.vue?vue&type=template&id=4668a01c&\"\nimport script from \"./ActorTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VIcon,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport ActorTable from \"@/components/web/actor/ActorTable.vue\";\r\n\r\nimport {\r\n ActorListDto,\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n UserLevel\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n ActorTable\r\n },\r\n watch: {\r\n actorTypeToView: {\r\n handler() {\r\n this.actors = [];\r\n this.search();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n switch (this.actorTypeToView) {\r\n case ActorType.Client:\r\n return t(\"Clients\");\r\n case ActorType.Supplier:\r\n return t(\"Suppliers\");\r\n case ActorType.Customer:\r\n return t(\"Customers\");\r\n default:\r\n return neverHappens(this.actorTypeToView);\r\n }\r\n },\r\n userLevel(): UserLevel | undefined {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n },\r\n atleastUser(): boolean {\r\n return (\r\n this.userLevel !== undefined &&\r\n [UserLevel.User, UserLevel.Admin, UserLevel.SuperAdmin].includes(\r\n this.userLevel\r\n )\r\n );\r\n },\r\n actorTypeToView():\r\n | ActorType.Client\r\n | ActorType.Supplier\r\n | ActorType.Customer {\r\n return Number(this.$route.query.actorType);\r\n },\r\n documentsVisible(): boolean {\r\n return this.actorTypeToView === ActorType.Client && this.atleastUser;\r\n }\r\n },\r\n methods: {\r\n openDocuments() {\r\n this.$router.push(\"/documents\");\r\n },\r\n search() {\r\n this.loading = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .list(this.actorTypeToView)\r\n .then(res => {\r\n this.actors = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n exportToExcel() {\r\n this.exporting = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .listExport(this.actorTypeToView, this.filteredActorIds)\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exporting = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n exporting: boolean;\r\n actors: ActorListDto[];\r\n filteredActorIds: number[];\r\n } => ({\r\n loading: true,\r\n exporting: false,\r\n actors: [],\r\n filteredActorIds: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actors.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actors.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Actors.vue?vue&type=template&id=f6d64948&\"\nimport script from \"./Actors.vue?vue&type=script&lang=ts&\"\nexport * from \"./Actors.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('AdminActor'),\"width\":900},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(!_vm.actor)?_c('Spinner',{attrs:{\"size\":180,\"top-margin\":\"\",\"bottom-margin\":\"\"}}):_vm._e(),(_vm.actor)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Name')},model:{value:(_vm.actor.name),callback:function ($$v) {_vm.$set(_vm.actor, \"name\", $$v)},expression:\"actor.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('OrgNo')},model:{value:(_vm.actor.orgNo),callback:function ($$v) {_vm.$set(_vm.actor, \"orgNo\", $$v)},expression:\"actor.orgNo\"}})],1),(_vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Address'),\"clickable\":\"\"},model:{value:(_vm.actor.contractAddress),callback:function ($$v) {_vm.$set(_vm.actor, \"contractAddress\", $$v)},expression:\"actor.contractAddress\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.countries,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.actor.country),callback:function ($$v) {_vm.$set(_vm.actor, \"country\", $$v)},expression:\"actor.country\"}})],1)],1):_vm._e(),(_vm.actor)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('MainContact'),\"rules\":[function (v) { return !!v && v.length < 100; }],\"asterisk\":\"\"},model:{value:(_vm.actor.mainContactName),callback:function ($$v) {_vm.$set(_vm.actor, \"mainContactName\", $$v)},expression:\"actor.mainContactName\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('MainContactEmail'),\"rules\":[function (v) { return !!v && v.length < 100; }],\"asterisk\":\"\"},model:{value:(_vm.actor.mainContactEmail),callback:function ($$v) {_vm.$set(_vm.actor, \"mainContactEmail\", $$v)},expression:\"actor.mainContactEmail\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('MainContactPhone'),\"rules\":[function (v) { return !!v && v.length < 100; }],\"asterisk\":\"\"},model:{value:(_vm.actor.mainContactPhone),callback:function ($$v) {_vm.$set(_vm.actor, \"mainContactPhone\", $$v)},expression:\"actor.mainContactPhone\"}})],1),(_vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ContractManagerName'),\"rules\":[function (v) { return !!v && v.length < 50; }],\"asterisk\":\"\"},model:{value:(_vm.actor.contractManagerName),callback:function ($$v) {_vm.$set(_vm.actor, \"contractManagerName\", $$v)},expression:\"actor.contractManagerName\"}})],1):_vm._e(),(_vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ContractManagerEmail'),\"rules\":[function (v) { return !!v && v.length < 50; }],\"asterisk\":\"\"},model:{value:(_vm.actor.contractManagerEmail),callback:function ($$v) {_vm.$set(_vm.actor, \"contractManagerEmail\", $$v)},expression:\"actor.contractManagerEmail\"}})],1):_vm._e(),(_vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('ContractManagerPhone'),\"rules\":[function (v) { return !!v && v.length < 50; }],\"asterisk\":\"\"},model:{value:(_vm.actor.contractManagerPhone),callback:function ($$v) {_vm.$set(_vm.actor, \"contractManagerPhone\", $$v)},expression:\"actor.contractManagerPhone\"}})],1):_vm._e(),(_vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('OtherInformation'),\"rows\":3},model:{value:(_vm.actor.actorInfo),callback:function ($$v) {_vm.$set(_vm.actor, \"actorInfo\", $$v)},expression:\"actor.actorInfo\"}})],1):_vm._e(),(_vm.isClient)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('Contact'),\"rows\":5},model:{value:(_vm.actor.actorInfo),callback:function ($$v) {_vm.$set(_vm.actor, \"actorInfo\", $$v)},expression:\"actor.actorInfo\"}})],1):_vm._e(),(_vm.isClient)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('OpeningHours'),\"rows\":5},model:{value:(_vm.actor.openingHours),callback:function ($$v) {_vm.$set(_vm.actor, \"openingHours\", $$v)},expression:\"actor.openingHours\"}})],1):_vm._e()],1):_vm._e()],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"disabled\":!_vm.actor || _vm.saveInProgress || !_vm.pendingChanges,\"depressed\":\"\"},on:{\"click\":_vm.init}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.actor || !_vm.valid || !_vm.pendingChanges,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},proxy:true}])})],1),_c('v-spacer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport {\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n PreEditActorDto,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Spinner,\r\n ReadOnlyText,\r\n Autocomplete,\r\n TextSingle,\r\n TextMulti\r\n },\r\n computed: {\r\n pendingChanges(): boolean {\r\n return this.originalActor !== JSON.stringify(this.actor);\r\n },\r\n isClient(): boolean {\r\n return this.actorType === ActorType.Client;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n }\r\n },\r\n methods: {\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchActor() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .preEdit()\r\n .then(res => {\r\n this.actor = res;\r\n this.originalActor = JSON.stringify(this.actor);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .edit(this.actor!)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.init();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.actor = undefined;\r\n this.fetchActor();\r\n this.fetchCountries();\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n actor: PreEditActorDto | undefined;\r\n originalActor: string;\r\n countries: RepositoryDto[];\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n actor: undefined,\r\n originalActor: \"\",\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministrateActor.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministrateActor.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministrateActor.vue?vue&type=template&id=80fe334c&\"\nimport script from \"./AdministrateActor.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdministrateActor.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\",\"lg\":\"10\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('Users')},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('v-switch',{attrs:{\"label\":_vm.$t('ShowInactivated'),\"hide-details\":\"\"},model:{value:(_vm.showInactivated),callback:function ($$v) {_vm.showInactivated=$$v},expression:\"showInactivated\"}})]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exporting,\"disabled\":_vm.loading},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\",\"disabled\":_vm.loading},on:{\"click\":_vm.createUser}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-account-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"AddNewUser\"))+\" \")],1)],1)],1)]},proxy:true}])})],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\",\"lg\":\"10\"}},[_c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"mobile-breakpoint\":0,\"loading\":_vm.loading,\"items\":_vm.filteredUsers,\"height\":_vm.tableHeight,\"item-key\":\"loadUserId\",\"sort-by\":\"name\",\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [-1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.action\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-icon',{attrs:{\"size\":\"20\"},on:{\"click\":function($event){_vm.selectedSettings = item}}},[_vm._v(\" mdi-pencil \")])]}},{key:\"item.enabled\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.enabled ? _vm.$t(\"Activated\") : _vm.$t(\"Inactivated\"))+\" \")]}},{key:\"item.userLevel\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.userLevelName(item.userLevel))+\" \")]}}],null,true)}),_c('AdministrateUserDialog',{attrs:{\"basicUserSettings\":_vm.selectedSettings,\"loadUsersForSettingsImport\":_vm.loadUsersForSettingsImport},on:{\"close\":_vm.close,\"reopen\":_vm.reopen}})],1)],1),_c('v-spacer')],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('DialogCard',{attrs:{\"dialog\":_vm.basicUserSettings !== undefined,\"title\":_vm.title,\"width\":1300,\"loading\":_vm.loading},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(!_vm.loading)?_c('UserSettingsForm',{attrs:{\"basicUserSettings\":_vm.basicUserSettings,\"notificationSettings\":_vm.notificationSettings}}):_vm._e()],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-spacer'),(_vm.basicUserSettings && _vm.basicUserSettings.loadUserId !== 0)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\",\"disabled\":_vm.loading || _vm.saveInProgress,\"depressed\":\"\"},on:{\"click\":function($event){_vm.importSettingsDialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-import\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ImportSettings\"))+\" \")],1)],1):_vm._e(),(_vm.basicUserSettings && _vm.basicUserSettings.loadUserId !== 0)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"disabled\":_vm.loading || _vm.saveInProgress || !_vm.pendingChanges,\"depressed\":\"\"},on:{\"click\":_vm.init}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1):_vm._e(),(\n _vm.basicUserSettings &&\n _vm.basicUserSettings.loadUserId === 0 &&\n _vm.isSupplier\n )?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AdditionalUsersCostExtra\"))+\" \")]):_vm._e(),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.loading || !_vm.valid || !_vm.pendingChanges,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},proxy:true},{key:\"dialogs\",fn:function(){return [_c('ImportSettingsDialog',{attrs:{\"dialog\":_vm.importSettingsDialog,\"loadUsersForSettingsImport\":_vm.loadUsersForSettingsImport},on:{\"close\":function($event){_vm.importSettingsDialog = false},\"notificationSettings\":_vm.importNotificationSettings}})]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('ImportSettings'),\"width\":500},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('User'),\"items\":_vm.loadUsersForSettingsImport},model:{value:(_vm.loadUserId),callback:function ($$v) {_vm.loadUserId=$$v},expression:\"loadUserId\"}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\",\"disabled\":!_vm.loadUserId,\"loading\":_vm.fetchInProgress,\"depressed\":\"\"},on:{\"click\":_vm.fetchNotificationSettings}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-import\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ImportSettings\"))+\" \")],1)],1)],1)]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport {\r\n ApiConfiguration,\r\n RepositoryDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Dropdown\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadUsersForSettingsImport: Array as () => RepositoryDto[]\r\n },\r\n methods: {\r\n fetchNotificationSettings() {\r\n this.fetchInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .notificationSettings(this.loadUserId!)\r\n .then(res => {\r\n this.$emit(\"notificationSettings\", res);\r\n this.close();\r\n this.fetchInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n loadUserId: number | undefined;\r\n fetchInProgress: boolean;\r\n } => ({\r\n loadUserId: undefined,\r\n fetchInProgress: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportSettingsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImportSettingsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ImportSettingsDialog.vue?vue&type=template&id=7670bcc6&\"\nimport script from \"./ImportSettingsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ImportSettingsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport UserSettingsForm from \"@/components/web/settings/UserSettingsForm.vue\";\r\nimport ImportSettingsDialog from \"@/components/web/settings/ImportSettingsDialog.vue\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n BasicUserSettingsDto,\r\n NotificationSettingsDto,\r\n RepositoryDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n UserSettingsForm,\r\n ImportSettingsDialog\r\n },\r\n props: {\r\n basicUserSettings: Object as () => BasicUserSettingsDto | undefined,\r\n loadUsersForSettingsImport: Array as () => RepositoryDto[]\r\n },\r\n computed: {\r\n title(): string {\r\n let title = t(\"Settings\");\r\n if (this.basicUserSettings && this.basicUserSettings.username) {\r\n title += \" (\" + this.basicUserSettings.username + \")\";\r\n }\r\n return title;\r\n },\r\n loading(): boolean {\r\n if (!this.basicUserSettings) {\r\n return true;\r\n }\r\n return (\r\n this.basicUserSettings.loadUserId !== 0 && !this.notificationSettings\r\n );\r\n },\r\n pendingChanges(): boolean {\r\n return (\r\n this.originalBasicUserSettings !==\r\n JSON.stringify(this.basicUserSettings) ||\r\n this.originalNotificationSettings !==\r\n JSON.stringify(this.notificationSettings)\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n }\r\n },\r\n watch: {\r\n basicUserSettings: {\r\n handler() {\r\n if (this.basicUserSettings) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n fetchNotificationSettings(loadUserId: number) {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .notificationSettings(loadUserId)\r\n .then(res => {\r\n this.notificationSettings = res;\r\n this.originalNotificationSettings = JSON.stringify(\r\n this.notificationSettings\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .saveBasicUserSettings(this.basicUserSettings!)\r\n .then(() => {\r\n if (this.basicUserSettings!.loadUserId === 0) {\r\n this.saveInProgress = false;\r\n this.reopen();\r\n } else {\r\n this.saveNotifications();\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n saveNotifications() {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .saveNotificationSettings(this.notificationSettings!)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.init();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n this.originalBasicUserSettings = JSON.stringify(this.basicUserSettings);\r\n this.notificationSettings = undefined;\r\n if (this.basicUserSettings!.loadUserId) {\r\n this.fetchNotificationSettings(this.basicUserSettings!.loadUserId);\r\n }\r\n },\r\n importNotificationSettings(settings: NotificationSettingsDto) {\r\n settings.loadUserId = this.notificationSettings!.loadUserId;\r\n this.notificationSettings = settings;\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n reopen() {\r\n this.$emit(\"reopen\");\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n importSettingsDialog: boolean;\r\n originalBasicUserSettings: string;\r\n notificationSettings: NotificationSettingsDto | undefined;\r\n originalNotificationSettings: string;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n importSettingsDialog: false,\r\n originalBasicUserSettings: \"\",\r\n notificationSettings: undefined,\r\n originalNotificationSettings: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministrateUserDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministrateUserDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministrateUserDialog.vue?vue&type=template&id=07f43120&\"\nimport script from \"./AdministrateUserDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdministrateUserDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport AdministrateUserDialog from \"@/components/web/settings/AdministrateUserDialog.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport {\r\n ApiConfiguration,\r\n UsersClient,\r\n BasicUserSettingsDto,\r\n UserLevel,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport { userLevelName } from \"@/scripts/misc/enumNames\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n CustomTableHeader,\r\n AdministrateUserDialog\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 175);\r\n },\r\n filteredUsers(): BasicUserSettingsDto[] {\r\n return this.users.filter(u => this.showInactivated || u.enabled);\r\n },\r\n loadUsersForSettingsImport(): RepositoryDto[] {\r\n return this.users.map(\r\n u => new RepositoryDto({ id: u.loadUserId, text: u.username })\r\n );\r\n }\r\n },\r\n methods: {\r\n userLevelName: userLevelName,\r\n close() {\r\n this.selectedSettings = undefined;\r\n this.search();\r\n },\r\n reopen() {\r\n this.selectedSettings = undefined;\r\n this.search().then(() => {\r\n this.selectedSettings = this.users.reduce((max, user) =>\r\n max.loadUserId > user.loadUserId ? max : user\r\n );\r\n });\r\n },\r\n createUser() {\r\n this.selectedSettings = new BasicUserSettingsDto({\r\n loadUserId: 0,\r\n username: undefined,\r\n name: undefined,\r\n email: undefined,\r\n mobileNo: undefined,\r\n userLevel: UserLevel.User,\r\n actorInvoiceInformationId: undefined,\r\n enabled: true\r\n });\r\n },\r\n async search() {\r\n this.loading = true;\r\n return new UsersClient(new ApiConfiguration(this.$store))\r\n .basicUserSettingsList()\r\n .then(res => {\r\n this.users = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n exportToExcel() {\r\n this.exporting = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .userListExport()\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exporting = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n showInactivated: boolean;\r\n exporting: boolean;\r\n selectedSettings: BasicUserSettingsDto | undefined;\r\n users: BasicUserSettingsDto[];\r\n headers: TableHeader[];\r\n } => ({\r\n loading: true,\r\n showInactivated: false,\r\n exporting: false,\r\n selectedSettings: undefined,\r\n users: [],\r\n headers: [\r\n {\r\n value: \"action\",\r\n text: \"\",\r\n width: 50,\r\n untranslated: true\r\n },\r\n {\r\n value: \"enabled\",\r\n text: \"Status\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"name\",\r\n text: \"Name\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"username\",\r\n text: \"UserName\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"email\",\r\n text: \"Email\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"userLevel\",\r\n text: \"UserLevel\",\r\n sortValue: true\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministrateUsers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AdministrateUsers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AdministrateUsers.vue?vue&type=template&id=2eedfd75&\"\nimport script from \"./AdministrateUsers.vue?vue&type=script&lang=ts&\"\nexport * from \"./AdministrateUsers.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VBtn,VCol,VDataTable,VIcon,VRow,VSheet,VSpacer,VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementRouteSearch',{attrs:{\"tracker\":_vm.tracker,\"routes\":_vm.routes},on:{\"createRoute\":_vm.createRoute,\"clearSelection\":_vm.clearSelection}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AgreementRouteTable',{attrs:{\"loading\":!!_vm.loading,\"routes\":_vm.routes,\"tracker\":_vm.tracker},on:{\"search\":_vm.fetchAgreementRoutes,\"clearSelection\":_vm.clearSelection}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"disabled\":!_vm.tracker.editingTab,\"loading\":_vm.saveInProgress},on:{\"click\":_vm.cancelEdit}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \"+_vm._s(_vm.changeCountText)+\" \")],1)],1),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.tracker.editingTab,\"loading\":_vm.saveInProgress},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \"+_vm._s(_vm.changeCountText)+\" \")],1)],1)],1)],1)],1),(_vm.selectedCreateAgreementCargoType !== undefined)?_c('CreateAgreementRouteDialog',{attrs:{\"dialog\":_vm.createAgreementRouteDialog,\"cargoType\":_vm.selectedCreateAgreementCargoType},on:{\"close\":_vm.closeDialog}}):_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('SearchCard',{attrs:{\"title\":_vm.$t('AgreementRoutes'),\"no-padding-sides\":\"\",\"clearable\":\"\"},on:{\"clearSelection\":function($event){return _vm.$emit('clearSelection')}},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [(_vm.atleastAdmin)?_c('MenuButton',{attrs:{\"text\":_vm.$t('CreateNewAgreementRoute'),\"options\":_vm.cargoTypes,\"disabled\":!!_vm.tracker.editingTab},on:{\"input\":_vm.createRoute}}):_vm._e()]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),(!_vm.exportVisible)?_c('v-col',{staticClass:\"no-vertical-padding medium-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"loading\":_vm.exporting,\"disabled\":!!_vm.tracker.editingTab},on:{\"click\":_vm.exportAllToExcel}},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ExportToExcel\"))+\" \")],1)]}}],null,false,3848614674)},[_vm._v(\" \"+_vm._s(_vm.$t(\"ExportAllAgreementRoutes\"))+\" \")])],1):_vm._e(),(_vm.exportVisible)?_c('v-col',{staticClass:\"no-vertical-padding no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exporting,\"disabled\":!!_vm.tracker.editingTab},on:{\"click\":_vm.exportEstimateToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(((_vm.$t(\"Export\")) + \" \" + (_vm.$t(\"Estimation\"))))+\" \")],1)],1):_vm._e(),(_vm.exportVisible)?_c('v-col',{staticClass:\"no-vertical-padding no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!!_vm.tracker.editingTab},on:{\"click\":_vm.chooseFile}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(((_vm.$t(\"Import\")) + \" \" + (_vm.$t(\"Estimation\"))))+\" \")],1),_c('input',{key:_vm.uploadKey,ref:\"fileUpload\",attrs:{\"type\":\"file\",\"hidden\":\"\"},on:{\"change\":_vm.importEstimate}})],1):_vm._e(),(_vm.exportVisible)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!!_vm.tracker.editingTab},on:{\"click\":_vm.openHistoryDialog}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-history\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"FetchHistoricalValues\"))+\" \")],1)],1):_vm._e(),(_vm.editSpecReqVisible)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[(_vm.atleastAdmin)?_c('MenuButton',{attrs:{\"text\":_vm.bulkUpdateMenuButtonText,\"options\":_vm.standardPhraseTypes,\"disabled\":!!_vm.tracker.editingTab,\"doNotShowPlus\":\"\"},on:{\"input\":_vm.editStandardPhrasesBulk}}):_vm._e()],1):_vm._e(),(_vm.editTagVisible)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{on:{\"click\":_vm.editTag}},[_c('v-icon',{staticClass:\"tiny-padding-top\",attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\" mdi-table-edit \")]),_vm._v(\" \"+_vm._s(((_vm.$t(\"BulkUpdate\")) + \" \" + (_vm.$t(\"Tag\"))))+\" \")],1)],1):_vm._e()],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom large-padding-left\"},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.actorCargoTypes,\"disabled\":!!_vm.tracker.editingTab,\"tabindex\":\"1\"},model:{value:(_vm.filter.cargoType),callback:function ($$v) {_vm.$set(_vm.filter, \"cargoType\", $$v)},expression:\"filter.cargoType\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\"},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Agreement'),\"items\":_vm.agreementEndItems,\"clearable\":\"\",\"tabindex\":\"1\"},model:{value:(_vm.filter.agreementEnd),callback:function ($$v) {_vm.$set(_vm.filter, \"agreementEnd\", $$v)},expression:\"filter.agreementEnd\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\"},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Procurement'),\"items\":_vm.withWithout,\"clearable\":\"\",\"tabindex\":\"1\"},model:{value:(_vm.filter.procurement),callback:function ($$v) {_vm.$set(_vm.filter, \"procurement\", $$v)},expression:\"filter.procurement\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom large-padding-right\"},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Estimation'),\"items\":_vm.withWithout,\"clearable\":\"\",\"tabindex\":\"1\"},model:{value:(_vm.filter.estimate),callback:function ($$v) {_vm.$set(_vm.filter, \"estimate\", $$v)},expression:\"filter.estimate\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\"},[_c('v-tabs',{attrs:{\"slider-size\":\"2.5\",\"show-arrows\":\"\"},model:{value:(_vm.tracker.tabId),callback:function ($$v) {_vm.$set(_vm.tracker, \"tabId\", $$v)},expression:\"tracker.tabId\"}},_vm._l((_vm.visibleTabs),function(tab){return _c('v-tab',{key:tab.id,attrs:{\"disabled\":!!_vm.tracker.editingTab}},[[_c('v-icon',{attrs:{\"left\":\"\",\"small\":\"\",\"color\":tab.color}},[_vm._v(_vm._s(tab.icon))]),_vm._v(\" \"+_vm._s(tab.text)+\" \")]],2)}),1)],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n actorCargoTypes,\r\n cargoTypes,\r\n standardPhraseTypes\r\n} from \"@/scripts/misc/enumLists\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport MenuButton, {\r\n MenuButtonOption\r\n} from \"@/components/shared/input/MenuButton.vue\";\r\nimport {\r\n AgreementRouteEditTracker,\r\n RouteTab\r\n} from \"@/views/client/AgreementRoutes.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport {\r\n AgreementRouteDto,\r\n AgreementRoutesClient,\r\n ApiConfiguration,\r\n CargoType,\r\n FileParameter,\r\n RepositoryDto,\r\n UserLevel,\r\n UserConfigurationType,\r\n StandardPhraseType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport {\r\n cargoTypeIcon,\r\n cargoTypeName,\r\n standardPhraseTypeIcon\r\n} from \"@/scripts/misc/enumNames\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { AgreementRouteFilter } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n routes: Array as () => AgreementRouteDto[],\r\n tracker: Object as () => AgreementRouteEditTracker\r\n },\r\n components: {\r\n SearchCard,\r\n Dropdown,\r\n MenuButton\r\n },\r\n computed: {\r\n exportVisible(): boolean {\r\n return this.tracker.tabId === RouteTab.Estimate;\r\n },\r\n editTagVisible(): boolean {\r\n return this.tracker.tabId === RouteTab.Tag;\r\n },\r\n editSpecReqVisible(): boolean {\r\n return this.tracker.tabId === RouteTab.StandardPhrases;\r\n },\r\n filter(): AgreementRouteFilter {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AgreementRoute,\r\n 1\r\n );\r\n },\r\n cargoTypes(): MenuButtonOption[] {\r\n return cargoTypes().map(x => ({ ...x, icon: cargoTypeIcon(x.id) }));\r\n },\r\n standardPhraseTypes(): MenuButtonOption[] {\r\n return standardPhraseTypes()\r\n .filter(\r\n x =>\r\n x.id === StandardPhraseType.PickupInfo ||\r\n x.id === StandardPhraseType.DestinationInfo ||\r\n x.id === StandardPhraseType.SpecialRequirement\r\n )\r\n .map(x => ({ ...x, icon: standardPhraseTypeIcon(x.id) }));\r\n },\r\n actorCargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n userLevel(): UserLevel {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n },\r\n atleastAdmin(): boolean {\r\n return (\r\n this.userLevel === UserLevel.Admin ||\r\n this.userLevel === UserLevel.SuperAdmin\r\n );\r\n },\r\n visibleTabs(): any[] {\r\n return this.tabs.filter(t => this.atleastAdmin || t.id === RouteTab.List);\r\n },\r\n withWithout(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: true as any,\r\n text: t(\"With\")\r\n }),\r\n new RepositoryDto({\r\n id: false as any,\r\n text: t(\"Without\")\r\n })\r\n ];\r\n },\r\n agreementEndItems(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: 0,\r\n text: t(\"NotOngoing\")\r\n }),\r\n ...this.routes\r\n .map(r =>\r\n r.agreementPeriods!.map(p => p.to!.startOfDay().toSeconds())\r\n )\r\n .flatMap(x => x)\r\n .map(\r\n d =>\r\n new RepositoryDto({\r\n id: d,\r\n text: `***** - ${CDate.fromSeconds(\r\n d,\r\n TimeZone.Europe_Stockholm\r\n ).datePrint()}`\r\n })\r\n )\r\n ].sort((a, b) => a.id - b.id);\r\n },\r\n bulkUpdateMenuButtonText() {\r\n return `${t(\"BulkUpdate\")} ${t(\"StandardPhrases\")}`;\r\n }\r\n },\r\n methods: {\r\n importEstimate(e: any) {\r\n const uploadedFile = e.target.files[0];\r\n if (!uploadedFile) {\r\n return;\r\n }\r\n const fileParam: FileParameter = {\r\n data: uploadedFile,\r\n fileName: uploadedFile.name\r\n };\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .importEstimateFromExcel(fileParam as any)\r\n .then(res => {\r\n if (res.cargoType !== this.filter.cargoType) {\r\n let message = t(\"ImportEstimateFailedMessage\")\r\n .replace(\"{0}\", cargoTypeName(res.cargoType).toLowerCase())\r\n .replace(\r\n \"{1}\",\r\n cargoTypeName(this.filter.cargoType).toLowerCase()\r\n );\r\n alertDialog(t(\"ImportEstimateFailed\"), message);\r\n } else {\r\n this.$root.$emit(\"import-estimate\", res.estimates);\r\n this.uploadKey++;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n exportEstimateToExcel() {\r\n this.exporting = true;\r\n this.$root.$emit(\"export-estimate\", () => {\r\n this.exporting = false;\r\n });\r\n },\r\n exportAllToExcel() {\r\n this.exporting = true;\r\n this.$root.$emit(\"export-all\", () => {\r\n this.exporting = false;\r\n });\r\n },\r\n chooseFile() {\r\n (this.$refs.fileUpload as any).click();\r\n },\r\n editTag() {\r\n this.$root.$emit(\"editTag\");\r\n },\r\n openHistoryDialog() {\r\n this.$root.$emit(\"openHistoryDialog\");\r\n },\r\n createRoute(cargoType: CargoType) {\r\n this.filter.cargoType = cargoType;\r\n this.$emit(\"createRoute\", cargoType);\r\n },\r\n editStandardPhrasesBulk(standardPhraseType: StandardPhraseType) {\r\n this.$root.$emit(\"editStandardPhrasesBulk\", standardPhraseType);\r\n }\r\n },\r\n data: (): {\r\n tabs: { id: RouteTab; text: string; icon: string; color?: string }[];\r\n exporting: Boolean;\r\n uploadKey: number;\r\n } => ({\r\n tabs: [\r\n {\r\n id: RouteTab.List,\r\n text: t(\"ListView\"),\r\n icon: \"mdi-format-list-bulleted\"\r\n },\r\n {\r\n id: RouteTab.Tag,\r\n text: t(\"Tag\"),\r\n icon: \"mdi-tag-text\"\r\n },\r\n {\r\n id: RouteTab.Visibility,\r\n text: t(\"ShowHide\"),\r\n icon: \"mdi-eye-off\"\r\n },\r\n {\r\n id: RouteTab.TruckTypes,\r\n text: t(\"TruckType\"),\r\n icon: \"mdi-connection\"\r\n },\r\n {\r\n id: RouteTab.Estimate,\r\n text: t(\"Estimation\"),\r\n icon: \"mdi-calculator-variant\"\r\n },\r\n {\r\n id: RouteTab.StandardPhrases,\r\n text: t(\"StandardPhrases\"),\r\n icon: \"mdi-note\"\r\n },\r\n {\r\n id: RouteTab.MandatoryFlags,\r\n text: t(\"AdditionalRequirements\"),\r\n icon: \"mdi-flag-variant-outline\"\r\n }\r\n ],\r\n exporting: false,\r\n uploadKey: 1\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteSearch.vue?vue&type=template&id=53316219&\"\nimport script from \"./AgreementRouteSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer,VTab,VTabs,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding-top\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-data-table',{attrs:{\"item-key\":\"id\",\"headers\":_vm.filteredHeaders,\"items\":_vm.sortedRoutes,\"custom-sort\":_vm.customSort,\"height\":_vm.tableHeight,\"loading\":_vm.loading,\"options\":_vm.tableOptions,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [100, 500, -1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"item-class\":function (i) { return _vm.tracker.editingRoutes.some(function (r) { return r.id === i.id && r.edited; })\n ? 'blue-row'\n : ''; },\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.routeId\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('RouteID')},model:{value:(_vm.filter.routeId),callback:function ($$v) {_vm.$set(_vm.filter, \"routeId\", $$v)},expression:\"filter.routeId\"}}):_vm._e()]},proxy:true},{key:\"filter.pickup\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: true,\n cargoType: _vm.filter.cargoType\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.filter.pickupCounty,\n zipCode: _vm.filter.pickupZipcode,\n countryId: _vm.filter.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.filter.pickupCounty = val.county;\n _vm.filter.pickupZipcode = val.zipCode;\n _vm.filter.pickupCountry = val.countryId;\n }}}):_vm._e()]},proxy:true},{key:\"filter.delivery\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationMulti'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.filter.deliveryCounty,\n zipCode: _vm.filter.deliveryZipcode,\n countryIds: _vm.filter.deliveryCountries\n }},on:{\"input\":function (val) {\n _vm.filter.deliveryCounty = val.county;\n _vm.filter.deliveryZipcode = val.zipCode;\n _vm.filter.deliveryCountries = val.countryIds;\n }}}):_vm._e()]},proxy:true},{key:\"filter.currency\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},model:{value:(_vm.filter.currency),callback:function ($$v) {_vm.$set(_vm.filter, \"currency\", $$v)},expression:\"filter.currency\"}}):_vm._e()]},proxy:true},{key:\"filter.tag\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'tag', cargoType: _vm.filter.cargoType },\"placeholder\":_vm.$t('Tag')},model:{value:(_vm.filter.tag),callback:function ($$v) {_vm.$set(_vm.filter, \"tag\", $$v)},expression:\"filter.tag\"}}):_vm._e()]},proxy:true},{key:\"filter.procurementPeriods\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'withWithout' },\"placeholder\":_vm.$t('Procurement')},model:{value:(_vm.filter.procurement),callback:function ($$v) {_vm.$set(_vm.filter, \"procurement\", $$v)},expression:\"filter.procurement\"}}):_vm._e()]},proxy:true},{key:\"filter.status\",fn:function(){return [_c('div',{staticClass:\"small-padding-top tiny-padding-bottom\"},[_c('CheckboxTinyAgreementRouteHidden',{attrs:{\"status\":_vm.allHidden},on:{\"input\":_vm.toggleAllHidden}})],1)]},proxy:true},{key:\"filter.estimate\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'withWithout' },\"placeholder\":_vm.$t('Estimation')},model:{value:(_vm.filter.estimate),callback:function ($$v) {_vm.$set(_vm.filter, \"estimate\", $$v)},expression:\"filter.estimate\"}}):_vm._e()]},proxy:true},{key:\"filter.estimateHistory\",fn:function(){return [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"depressed\":\"\",\"small\":\"\",\"color\":\"btn-cyan lighten-1\",\"disabled\":!_vm.routes.some(function (r) { return r.estimateFromHistoricalPeriod; })},on:{\"click\":_vm.applyAllEstimateHistory}},on),[_c('v-icon',{attrs:{\"size\":\"23\"}},[_vm._v(\"mdi-chevron-triple-left\")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"ApplyHistoricalValues\")))])])]},proxy:true},{key:\"filter.pickupInfo\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('PickupInformation')},model:{value:(_vm.filter.pickupInfo),callback:function ($$v) {_vm.$set(_vm.filter, \"pickupInfo\", $$v)},expression:\"filter.pickupInfo\"}}):_vm._e()]},proxy:true},{key:\"filter.destinationInfo\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('DestinationInformation')},model:{value:(_vm.filter.destinationInfo),callback:function ($$v) {_vm.$set(_vm.filter, \"destinationInfo\", $$v)},expression:\"filter.destinationInfo\"}}):_vm._e()]},proxy:true},{key:\"filter.specialRequirements\",fn:function(){return [(!_vm.tracker.editingTab)?_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('SpecialRequirements')},model:{value:(_vm.filter.specReq),callback:function ($$v) {_vm.$set(_vm.filter, \"specReq\", $$v)},expression:\"filter.specReq\"}}):_vm._e()]},proxy:true},{key:\"filter.customsInfoRequired\",fn:function(){return [_c('div',{staticClass:\"small-padding-top tiny-padding-bottom\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.allCustomsInfoRequired},on:{\"input\":_vm.toggleAllCustomsInfoRequired}})],1)]},proxy:true},{key:\"filter.mandatoryBookedPickupDate\",fn:function(){return [_c('div',{staticClass:\"small-padding-top tiny-padding-bottom\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.allPickupDateRequired},on:{\"input\":_vm.toggleAllPickupDateRequired}})],1)]},proxy:true},{key:\"filter.mandatoryBookedDeliveryDate\",fn:function(){return [_c('div',{staticClass:\"small-padding-top tiny-padding-bottom\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.allDeliveryDateRequired},on:{\"input\":_vm.toggleAllDeliveryDateRequired}})],1)]},proxy:true},{key:\"header.truckTypes\",fn:function(){return [_c('AgreementRouteTableTruckTypeHeader',{attrs:{\"cargoType\":_vm.filter.cargoType}})]},proxy:true},{key:\"filter.truckTypes\",fn:function(){return [_c('div',{staticClass:\"tiny-padding-top tiniest-margin-top\"},[_c('AgreementRouteTableTruckTypeItems',{attrs:{\"cargoType\":_vm.filter.cargoType,\"truckTypes\":_vm.truckTypesForHeader,\"indeterminates\":_vm.indeterminatesForHeader},on:{\"toggleTruckType\":function (tt) { return _vm.allToggleTruckType(tt); }}})],1)]},proxy:true}],null,true)})]}},{key:\"item.pickup\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickup(item),\"width\":\"165\"}})]}},{key:\"item.delivery\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.delivery(item),\"width\":\"170\"}})]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}},{key:\"item.tag\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.tagTabSelected)?_c('span',[_c('TextSingle',{attrs:{\"only-on-blur\":\"\",\"compact\":\"\",\"max-length\":10},on:{\"input\":function($event){return _vm.tagEdited([item.id])}},model:{value:(item.tag),callback:function ($$v) {_vm.$set(item, \"tag\", $$v)},expression:\"item.tag\"}})],1):_c('span',[_vm._v(\" \"+_vm._s(item.tag)+\" \")])]}},{key:\"item.procurementPeriods\",fn:function(ref){\n var item = ref.item;\nreturn [(item.procurementPeriods.length > 0)?_c('InfoTooltip',{attrs:{\"text\":_vm.procurementPeriods(item, true),\"icon\":\"mdi-calendar-month\"}}):_vm._e(),_vm._v(\" \"+_vm._s(_vm.procurementPeriods(item))+\" \")]}},{key:\"item.agreementPeriods\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.agreementPeriods(item))+\" \"),(item.agreementPeriods.length > 1)?_c('InfoTooltip',{attrs:{\"text\":_vm.agreementPeriods(item, true),\"icon\":\"mdi-calendar-month\"}}):_vm._e()]}},{key:\"item.status\",fn:function(ref){\n var item = ref.item;\nreturn [_c('CheckboxTinyAgreementRouteHidden',{attrs:{\"status\":item.status},on:{\"input\":function($event){return _vm.hiddenEdited([item.id])}},model:{value:(item.status),callback:function ($$v) {_vm.$set(item, \"status\", $$v)},expression:\"item.status\"}}),(_vm.isHidden(item.status))?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({},on),[_vm._v(\" mdi-history \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(item.statusChangedBy)+\" \"+_vm._s(item.statusChangeWhen)+\" \")]):_vm._e()]}},{key:\"item.deleteIcon\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.routeIsArchivableOrDeletable(item))?_c('v-btn',{attrs:{\"icon\":\"\",\"height\":\"24\",\"width\":\"24\",\"loading\":_vm.deleteInProgress === item.id,\"disabled\":_vm.deleteInProgress !== item.id && _vm.deleteInProgress > 0},on:{\"click\":function($event){return _vm.archiveOrDelete(item.id, item.archivableOrDeletableStatus)}}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({},on),[_vm._v(_vm._s(_vm.showArchiveOrDeleteIcon(item.archivableOrDeletableStatus)))])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.showArchiveOrDeleteTooltip(item.archivableOrDeletableStatus)))])])],1):_vm._e()]}},{key:\"item.estimatedNoOfLoads\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.estimateEditable)?_c('NumberInput',{attrs:{\"only-on-blur\":\"\",\"allow-null\":\"\",\"compact\":\"\"},on:{\"input\":function($event){return _vm.estimateEdited([item.id])}},model:{value:(item.estimatedNoOfLoads),callback:function ($$v) {_vm.$set(item, \"estimatedNoOfLoads\", $$v)},expression:\"item.estimatedNoOfLoads\"}}):_c('span',[_vm._v(\" \"+_vm._s(item.estimatedNoOfLoads)+\" \")])]}},{key:\"item.estimateHistory\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.estimateFromHistoricalPeriod)+\" \")]}},{key:\"item.pickupInfo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('Dropdown',{attrs:{\"items\":_vm.pickupInfos,\"compact\":\"\",\"clearable\":\"\",\"custom-item\":\"\"},on:{\"input\":function($event){return _vm.standardPhrasesEdited([item.id])}},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"text-truncate\",style:(\"max-width: 150px;\")},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}],null,true),model:{value:(item.pickupInfoId),callback:function ($$v) {_vm.$set(item, \"pickupInfoId\", $$v)},expression:\"item.pickupInfoId\"}})]}},{key:\"item.destinationInfo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('Dropdown',{attrs:{\"items\":_vm.destinationInfos,\"compact\":\"\",\"clearable\":\"\",\"custom-item\":\"\"},on:{\"input\":function($event){return _vm.standardPhrasesEdited([item.id])}},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"text-truncate\",style:(\"max-width: 150px;\")},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}],null,true),model:{value:(item.destinationInfoId),callback:function ($$v) {_vm.$set(item, \"destinationInfoId\", $$v)},expression:\"item.destinationInfoId\"}})]}},{key:\"item.specialRequirements\",fn:function(ref){\n var item = ref.item;\nreturn [_c('Dropdown',{attrs:{\"items\":_vm.specialRequirements,\"compact\":\"\",\"clearable\":\"\",\"custom-item\":\"\"},on:{\"input\":function($event){return _vm.standardPhrasesEdited([item.id])}},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"text-truncate\",style:(\"max-width: 150px;\")},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}],null,true),model:{value:(item.specialRequirementId),callback:function ($$v) {_vm.$set(item, \"specialRequirementId\", $$v)},expression:\"item.specialRequirementId\"}})]}},{key:\"item.customsInfoRequired\",fn:function(ref){\n var item = ref.item;\nreturn [_c('CheckboxTiny',{on:{\"input\":function($event){return _vm.customsInfoRequiredEdited([item.id])}},model:{value:(item.customsInfoRequired),callback:function ($$v) {_vm.$set(item, \"customsInfoRequired\", $$v)},expression:\"item.customsInfoRequired\"}})]}},{key:\"item.mandatoryBookedDeliveryDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('CheckboxTiny',{on:{\"input\":function($event){return _vm.deliveryDateRequiredEdited([item.id])}},model:{value:(item.mandatoryBookedDeliveryDate),callback:function ($$v) {_vm.$set(item, \"mandatoryBookedDeliveryDate\", $$v)},expression:\"item.mandatoryBookedDeliveryDate\"}})]}},{key:\"item.mandatoryBookedPickupDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('CheckboxTiny',{on:{\"input\":function($event){return _vm.pickupDateRequiredEdited([item.id])}},model:{value:(item.mandatoryBookedPickupDate),callback:function ($$v) {_vm.$set(item, \"mandatoryBookedPickupDate\", $$v)},expression:\"item.mandatoryBookedPickupDate\"}})]}},{key:\"item.truckTypes\",fn:function(ref){\n var item = ref.item;\nreturn [_c('AgreementRouteTableTruckTypeItems',{attrs:{\"cargoType\":_vm.filter.cargoType,\"truckTypes\":item.truckTypes,\"indeterminates\":[]},on:{\"toggleTruckType\":function (tt) { return _vm.toggleTruckType(item, tt); }}})]}}],null,true)}),_c('AgreementRouteEstimateHistoryDialog',{attrs:{\"dialog\":_vm.estimateHistoryDialog,\"cargoType\":_vm.filter.cargoType},on:{\"close\":function($event){_vm.estimateHistoryDialog = false},\"fetch\":_vm.fetchEstimateHistory}}),_c('AgreementRouteTagDialog',{attrs:{\"dialog\":_vm.tagDialog},on:{\"close\":function($event){_vm.tagDialog = false},\"update\":function (v) { return _vm.applyAllTag(v); }}}),_c('AgreementRouteStandardPhrasesDialog',{attrs:{\"dialog\":_vm.standardPhrasesDialog,\"dropDownItems\":_vm.selectedDropDownItems,\"selectedPhraseType\":_vm.selectedPhraseType,\"changeCount\":_vm.changeCount},on:{\"close\":function($event){_vm.standardPhrasesDialog = false},\"update\":function (selectedPhraseId, selectedPhraseType) { return _vm.applyAllStandardPhrases(selectedPhraseId, selectedPhraseType); }}})],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:\"flex-container\"},_vm._l((_vm.visibleTruckTypes),function(tt){return _c('div',{key:tt,staticClass:\"flex-1\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.state(tt)},on:{\"input\":function($event){return _vm.$emit('toggleTruckType', tt)}}})],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { CargoType, TruckType } from \"@/scripts/cld.api\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CheckboxTiny\r\n },\r\n props: {\r\n cargoType: Number as () => CargoType,\r\n truckTypes: Array as () => TruckType[],\r\n indeterminates: Array as () => TruckType[]\r\n },\r\n computed: {\r\n visibleTruckTypes(): TruckType[] {\r\n return truckTypesByCargoType(this.cargoType).map(\r\n tt => tt.id as TruckType\r\n );\r\n }\r\n },\r\n methods: {\r\n state(tt: TruckType): boolean | undefined {\r\n return this.indeterminates.includes(tt)\r\n ? undefined\r\n : this.truckTypes.includes(tt);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTableTruckTypeItems.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTableTruckTypeItems.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteTableTruckTypeItems.vue?vue&type=template&id=22800a0e&\"\nimport script from \"./AgreementRouteTableTruckTypeItems.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteTableTruckTypeItems.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('div',{staticClass:\"flex-container\"},_vm._l((_vm.truckTypes),function(tt){return _c('div',{key:tt.id,staticClass:\"flex-1 small-padding-right\"},[_vm._v(\" \"+_vm._s(tt.text)+\" \")])}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { CargoType, RepositoryDto } from \"@/scripts/cld.api\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n cargoType: Number as () => CargoType\r\n },\r\n computed: {\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(this.cargoType);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTableTruckTypeHeader.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTableTruckTypeHeader.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteTableTruckTypeHeader.vue?vue&type=template&id=787a2260&\"\nimport script from \"./AgreementRouteTableTruckTypeHeader.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteTableTruckTypeHeader.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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('FetchHistoricalValues'),\"width\":550},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"subtitle-1 small-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.dialogDescription)+\" \")]),_c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('FromWithInitialCaps'),\"zone\":_vm.actorZone},model:{value:(_vm.from),callback:function ($$v) {_vm.from=$$v},expression:\"from\"}})],1),_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('ToWithInitialCaps'),\"gteDates\":[_vm.from],\"zone\":_vm.actorZone},model:{value:(_vm.to),callback:function ($$v) {_vm.to=$$v},expression:\"to\"}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.fetchInProgress},on:{\"click\":_vm.fetch}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Fetch\"))+\" \")])]},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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { CargoType, TimeZone } from \"@/scripts/cld.api\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DatePicker\r\n },\r\n props: {\r\n dialog: Boolean,\r\n cargoType: Number as () => CargoType\r\n },\r\n watch: {\r\n dialog() {\r\n if (this.dialog) {\r\n this.fetchInProgress = false;\r\n }\r\n }\r\n },\r\n computed: {\r\n dialogDescription(): string {\r\n return this.cargoType === CargoType.Container\r\n ? t(\"FetchHistoricalValuesDescriptionContainer\")\r\n : t(\"FetchHistoricalValuesDescriptionNonContainer\");\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n fetch() {\r\n this.fetchInProgress = true;\r\n this.$emit(\"fetch\", this.from, this.to);\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n mounted() {\r\n this.from = CDate.now(this.actorZone)\r\n .startOfDay()\r\n .addYears(-1);\r\n this.to = CDate.now(this.actorZone).startOfDay();\r\n },\r\n data: (): {\r\n fetchInProgress: boolean;\r\n from: CDate;\r\n to: CDate;\r\n } => ({\r\n fetchInProgress: true,\r\n from: CDate.now(TimeZone.Europe_Stockholm)\r\n .startOfDay()\r\n .addYears(-1),\r\n to: CDate.now(TimeZone.Europe_Stockholm).startOfDay()\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteEstimateHistoryDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteEstimateHistoryDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteEstimateHistoryDialog.vue?vue&type=template&id=40d7e336&\"\nimport script from \"./AgreementRouteEstimateHistoryDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteEstimateHistoryDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Tag'),\"width\":500},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"subtitle-1 small-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"TagApplyAll\"))+\" \")]),_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Tag'),\"max-length\":10},model:{value:(_vm.spec),callback:function ($$v) {_vm.spec=$$v},expression:\"spec\"}})],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.valid},on:{\"click\":_vm.update}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Update\"))+\" \")])]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle\r\n },\r\n props: {\r\n dialog: Boolean\r\n },\r\n methods: {\r\n update() {\r\n this.$emit(\"update\", this.spec);\r\n this.close();\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n spec: string | null;\r\n valid: boolean;\r\n } => ({\r\n spec: null,\r\n valid: true\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTagDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTagDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteTagDialog.vue?vue&type=template&id=565f81b8&\"\nimport script from \"./AgreementRouteTagDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteTagDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"width\":600},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('p',{staticClass:\"medium-margin-top red-text\"},[_vm._v(\" \"+_vm._s(_vm.setDisclaimerText)+\" \")]),_c('div',{staticClass:\"subtitle-1 small-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"SpecReqApplyAll\"))+\" \")]),_c('v-row',[_c('v-col',{staticClass:\"small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.label,\"items\":_vm.dropDownItems,\"clearable\":\"\",\"customItem\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}]),model:{value:(_vm.selectedPhraseId),callback:function ($$v) {_vm.selectedPhraseId=$$v},expression:\"selectedPhraseId\"}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('p',{staticClass:\"medium-margin-top red-text\"},[_vm._v(\" \"+_vm._s(((_vm.$t(\"ChangeWillTakeEffectOn\")) + \" \" + _vm.changeCount + \" \" + (_vm.changeCount > 1 ? _vm.$t(\"AgreementRoutes\") : _vm.$t(\"AgreementRoute\"))))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.update}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Update\"))+\" \")])]},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\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport {\r\n ApiConfiguration,\r\n RepositoryDto,\r\n StandardPhraseDto,\r\n StandardPhrasesClient,\r\n StandardPhraseType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n Dropdown\r\n },\r\n props: {\r\n dialog: Boolean,\r\n dropDownItems: Array as () => StandardPhraseDto[],\r\n selectedPhraseType: Number,\r\n changeCount: Number\r\n },\r\n computed: {\r\n label(): string {\r\n if (this.selectedPhraseType === StandardPhraseType.PickupInfo) {\r\n return `${t(\"PickupInformation\")} ${t(\"InternalName\").toLowerCase()}`;\r\n } else if (\r\n this.selectedPhraseType === StandardPhraseType.DestinationInfo\r\n ) {\r\n return `${t(\"DestinationInformation\")} ${t(\r\n \"InternalName\"\r\n ).toLowerCase()}`;\r\n } else if (\r\n this.selectedPhraseType === StandardPhraseType.SpecialRequirement\r\n ) {\r\n return `${t(\"SpecialRequirements\")} ${t(\"InternalName\").toLowerCase()}`;\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n title(): string {\r\n if (this.selectedPhraseType === StandardPhraseType.PickupInfo) {\r\n return `${t(\"PickupInformation\")}`;\r\n } else if (\r\n this.selectedPhraseType === StandardPhraseType.DestinationInfo\r\n ) {\r\n return `${t(\"DestinationInformation\")}`;\r\n } else if (\r\n this.selectedPhraseType === StandardPhraseType.SpecialRequirement\r\n ) {\r\n return `${t(\"SpecialRequirements\")}`;\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n setDisclaimerText(): string {\r\n switch (this.selectedPhraseType) {\r\n case StandardPhraseType.DestinationInfo:\r\n return t(\"StandardPhraseBulkEditDisclaimer\");\r\n case StandardPhraseType.PickupInfo:\r\n return t(\"StandardPhraseBulkEditDisclaimer\");\r\n case StandardPhraseType.SpecialRequirement:\r\n return t(\"SpecialRequirementBulkEditDisclaimer\");\r\n default:\r\n return \"\"; // Ska inte hända\r\n }\r\n }\r\n },\r\n methods: {\r\n update() {\r\n const phraseId =\r\n this.selectedPhraseId === undefined ? null : this.selectedPhraseId;\r\n this.$emit(\"update\", phraseId, this.selectedPhraseType);\r\n this.close();\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n async fetchStandardPhrases(): Promise {\r\n return new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.spec = res\r\n .filter(p => p.phraseType === StandardPhraseType.SpecialRequirement)\r\n .map(\r\n s =>\r\n new RepositoryDto({\r\n id: s.id,\r\n text: s.subject\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchStandardPhrases();\r\n },\r\n data: (): {\r\n spec: RepositoryDto[];\r\n selectedPhraseId: number | undefined;\r\n } => ({\r\n spec: [],\r\n selectedPhraseId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteStandardPhrasesDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteStandardPhrasesDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteStandardPhrasesDialog.vue?vue&type=template&id=7625ef6e&\"\nimport script from \"./AgreementRouteStandardPhrasesDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteStandardPhrasesDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-btn',{class:_vm.innerClass,attrs:{\"disabled\":_vm.disabled,\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":_vm.click}},[_c('v-icon',{attrs:{\"size\":_vm.size ? _vm.size : 21}},[_vm._v(\" \"+_vm._s(_vm.icon)+\" \")])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\r\nimport { AgreementRouteStatus } from \"@/scripts/cld.api\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n status: Number,\r\n disabled: Boolean,\r\n innerClass: String,\r\n radio: Boolean,\r\n size: Number\r\n },\r\n computed: {\r\n value: {\r\n get(): boolean {\r\n return this.status === AgreementRouteStatus.Hidden;\r\n },\r\n set(newValue: boolean) {\r\n this.$emit(\"input\", newValue ? 1 : 0);\r\n }\r\n },\r\n icon(): string {\r\n return this.value ? this.iconTrue : this.iconFalse;\r\n },\r\n iconTrue(): string {\r\n return this.radio ? \"mdi-radiobox-marked\" : \"mdi-checkbox-marked\";\r\n },\r\n iconFalse(): string {\r\n return this.radio ? \"mdi-radiobox-blank\" : \"mdi-checkbox-blank-outline\";\r\n }\r\n },\r\n methods: {\r\n click() {\r\n this.value = !this.value;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTinyAgreementRouteHidden.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxTinyAgreementRouteHidden.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CheckboxTinyAgreementRouteHidden.vue?vue&type=template&id=780ccfd5&\"\nimport script from \"./CheckboxTinyAgreementRouteHidden.vue?vue&type=script&lang=ts&\"\nexport * from \"./CheckboxTinyAgreementRouteHidden.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteFilter,\r\n TableHeader,\r\n TableOptions\r\n} from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport {\r\n AgreementRouteEditTracker,\r\n RouteTab\r\n} from \"@/views/client/AgreementRoutes.vue\";\r\nimport { currencyName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport {\r\n AgreementRouteDto,\r\n AgreementRoutesClient,\r\n AgreementRouteStatus,\r\n ApiConfiguration,\r\n ArchivableOrDeletableStatus,\r\n CargoType,\r\n EstimateDto,\r\n EstimateFromHistoricalPeriodSearchCriteria,\r\n StandardPhraseDto,\r\n StandardPhrasesClient,\r\n StandardPhraseType,\r\n TimeZone,\r\n TruckType,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport AgreementRouteTableTruckTypeItems from \"@/components/web/agreements/client/AgreementRouteTableTruckTypeItems.vue\";\r\nimport AgreementRouteTableTruckTypeHeader from \"@/components/web/agreements/client/AgreementRouteTableTruckTypeHeader.vue\";\r\nimport AgreementRouteEstimateHistoryDialog from \"@/components/web/agreements/client/AgreementRouteEstimateHistoryDialog.vue\";\r\nimport AgreementRouteTagDialog from \"@/components/web/agreements/client/AgreementRouteTagDialog.vue\";\r\nimport AgreementRouteStandardPhrasesDialog from \"@/components/web/agreements/client/AgreementRouteStandardPhrasesDialog.vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport CheckboxTinyAgreementRouteHidden from \"@/components/shared/input/CheckboxTinyAgreementRouteHidden.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { truckTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n routes: Array as () => AgreementRouteDto[],\r\n tracker: Object as () => AgreementRouteEditTracker\r\n },\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n InfoTooltip,\r\n TextSingle,\r\n NumberInput,\r\n EllipsisTableItem,\r\n AgreementRouteTableTruckTypeItems,\r\n AgreementRouteTableTruckTypeHeader,\r\n AgreementRouteEstimateHistoryDialog,\r\n AgreementRouteTagDialog,\r\n AgreementRouteStandardPhrasesDialog,\r\n CheckboxTiny,\r\n CheckboxTinyAgreementRouteHidden,\r\n Dropdown\r\n },\r\n watch: {\r\n sortedRoutes: {\r\n handler() {\r\n this.deleteInProgress = 0;\r\n if (!this.tracker.editingTab) {\r\n const editingRoutes = this.sortedRoutes.map(r => ({\r\n id: r.id,\r\n edited: false,\r\n originalValue: this.valueForChangeDetection(r)\r\n }));\r\n if (this.tableOptions.itemsPerPage === -1) {\r\n this.tracker.editingRoutes = editingRoutes;\r\n } else {\r\n const start =\r\n (this.tableOptions.page - 1) * this.tableOptions.itemsPerPage;\r\n const end = start + this.tableOptions.itemsPerPage;\r\n this.tracker.editingRoutes = editingRoutes.slice(start, end);\r\n }\r\n }\r\n },\r\n immediate: true,\r\n deep: true\r\n },\r\n loading() {\r\n if (this.loading) {\r\n this.tableOptions.page = 1;\r\n }\r\n },\r\n isRoad: {\r\n handler() {\r\n this.setTableHeadersRoad();\r\n }\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 353);\r\n },\r\n isHidden() {\r\n return (status: AgreementRouteStatus) =>\r\n status === AgreementRouteStatus.Hidden;\r\n },\r\n tagTabSelected(): boolean {\r\n return this.tracker.tabId === RouteTab.Tag;\r\n },\r\n estimateEditable(): boolean {\r\n return this.tracker.tabId === RouteTab.Estimate;\r\n },\r\n filter(): AgreementRouteFilter {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AgreementRoute,\r\n 1\r\n );\r\n },\r\n filteredHeaders(): TableHeader[] {\r\n const headers = [\r\n ...this.baseHeaders,\r\n ...this.extraHeaders.filter(h => h.id === this.tracker.tabId)\r\n ];\r\n headers\r\n .filter(h => h.value === \"estimatedNoOfLoads\")\r\n .map(\r\n h =>\r\n (h.text = `${t(\"Estimation\")} (${\r\n this.filter.cargoType === CargoType.Container\r\n ? t(\"Container\")\r\n : t(\"LoadsWithUppercaseL\")\r\n })`)\r\n );\r\n this.isRoad = this.filter.cargoType === CargoType.Road;\r\n return headers;\r\n },\r\n filteredRoutes(): AgreementRouteDto[] {\r\n if (this.tracker.editingTab) {\r\n return this.routes.filter(r =>\r\n this.tracker.editingRoutes.map(e => e.id).includes(r.id)\r\n );\r\n }\r\n return this.routes\r\n .filter(\r\n r =>\r\n !this.tracker.editingTab ||\r\n this.tracker.editingRoutes.some(e => e.id === r.id)\r\n )\r\n .filter(\r\n r =>\r\n this.tracker.tabId === RouteTab.Visibility ||\r\n r.status === AgreementRouteStatus.Visible\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.routeId ||\r\n stringSearchHit(this.filter.routeId, r.routeId.toString(), true)\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.pickupCounty ||\r\n r.pickupCounty === this.filter.pickupCounty\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.deliveryCounty ||\r\n r.deliveryCounty === this.filter.deliveryCounty\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.pickupZipcode ||\r\n stringSearchHit(this.filter.pickupZipcode, r.pickupZipcode, true)\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.deliveryZipcode ||\r\n stringSearchHit(\r\n this.filter.deliveryZipcode,\r\n r.deliveryZipcode,\r\n true\r\n )\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.pickupCountry ||\r\n r.pickupCountry === this.filter.pickupCountry\r\n )\r\n .filter(\r\n r =>\r\n this.filter.deliveryCountries!.length === 0 ||\r\n this.filter.deliveryCountries!.includes(r.deliveryCountry)\r\n )\r\n .filter(\r\n r => !this.filter.currency || r.currency === this.filter.currency\r\n )\r\n .filter(\r\n r =>\r\n (this.filter.estimate !== true && !r.estimatedNoOfLoads) ||\r\n (this.filter.estimate !== false && r.estimatedNoOfLoads)\r\n )\r\n .filter(r => {\r\n const pickupInfoTextMatch =\r\n !this.filter.pickupInfo ||\r\n stringSearchHit(this.filter.pickupInfo, r.pickupInfo, false);\r\n const pickupInfoInternalNameMatch = this.pickupInfos.some(\r\n req =>\r\n req.id === r.pickupInfoId &&\r\n stringSearchHit(this.filter.pickupInfo, req.subject, false)\r\n );\r\n return pickupInfoTextMatch || pickupInfoInternalNameMatch;\r\n })\r\n .filter(r => {\r\n const destinationInfoTextMatch =\r\n !this.filter.destinationInfo ||\r\n stringSearchHit(\r\n this.filter.destinationInfo,\r\n r.destinationInfo,\r\n false\r\n );\r\n const destinationInfoInternalNameMatch = this.destinationInfos.some(\r\n req =>\r\n req.id === r.destinationInfoId &&\r\n stringSearchHit(this.filter.destinationInfo, req.subject, false)\r\n );\r\n return destinationInfoTextMatch || destinationInfoInternalNameMatch;\r\n })\r\n .filter(r => {\r\n const specReqTextMatch =\r\n !this.filter.specReq ||\r\n stringSearchHit(this.filter.specReq, r.specialRequirements, false);\r\n const specReqInternalNameMatch = this.specialRequirements.some(\r\n req =>\r\n req.id === r.specialRequirementId &&\r\n stringSearchHit(this.filter.specReq, req.subject, false)\r\n );\r\n return specReqTextMatch || specReqInternalNameMatch;\r\n })\r\n .filter(\r\n r =>\r\n !this.filter.tag ||\r\n (this.filter.tag === \"null\" && !r.tag) ||\r\n this.filter.tag.toLowerCase() === r.tag?.toLowerCase()\r\n )\r\n .filter(\r\n r =>\r\n (this.filter.procurement !== true &&\r\n this.filter.procurement !== false) ||\r\n (this.filter.procurement === true &&\r\n r.procurementPeriods!.length) ||\r\n (this.filter.procurement === false && !r.procurementPeriods!.length)\r\n )\r\n .filter(\r\n r =>\r\n this.filter.agreementEnd === undefined ||\r\n this.filter.agreementEnd === null ||\r\n (this.filter.agreementEnd === 0 &&\r\n r.agreementPeriods!.length === 0) ||\r\n r\r\n .agreementPeriods!.map(p => p.to!.startOfDay().toSeconds())\r\n .includes(this.filter.agreementEnd)\r\n );\r\n },\r\n sortedRoutes(): AgreementRouteDto[] {\r\n let res = [...this.filteredRoutes];\r\n let c: { (a: AgreementRouteDto, b: AgreementRouteDto): number };\r\n const sortBy = this.tableOptions.sortBy[0];\r\n const sortDesc = this.tableOptions.sortDesc[0];\r\n switch (sortBy) {\r\n case \"pickup\":\r\n c = (a, b) => stringCompare(this.pickup(a), this.pickup(b));\r\n break;\r\n case \"delivery\":\r\n c = (a, b) => stringCompare(this.delivery(a), this.delivery(b));\r\n break;\r\n case \"procurementPeriods\":\r\n c = (a, b) =>\r\n stringCompare(\r\n this.procurementPeriods(a),\r\n this.procurementPeriods(b)\r\n );\r\n break;\r\n case \"agreementPeriods\":\r\n c = (a, b) =>\r\n stringCompare(this.agreementPeriods(a), this.agreementPeriods(b));\r\n break;\r\n default:\r\n c = (a, b) => stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n }\r\n res = res.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) ||\r\n stringCompare(this.pickup(a), this.pickup(b)) ||\r\n stringCompare(this.delivery(a), this.delivery(b))\r\n );\r\n return res;\r\n },\r\n allHidden(): AgreementRouteStatus | undefined {\r\n const routes = this.sortedRoutes.filter(r =>\r\n this.tracker.editingRoutes.some(e => e.id === r.id)\r\n );\r\n if (routes.every(r => r.status === AgreementRouteStatus.Hidden)) {\r\n return AgreementRouteStatus.Hidden;\r\n }\r\n if (routes.some(r => r.status === AgreementRouteStatus.Hidden)) {\r\n return undefined;\r\n }\r\n return AgreementRouteStatus.Visible;\r\n },\r\n allCustomsInfoRequired(): boolean | undefined {\r\n const routes = this.sortedRoutes.filter(r =>\r\n this.tracker.editingRoutes.some(e => e.id === r.id)\r\n );\r\n if (routes.every(r => r.customsInfoRequired)) {\r\n return true;\r\n }\r\n if (routes.some(r => r.customsInfoRequired)) {\r\n return undefined;\r\n }\r\n return false;\r\n },\r\n allDeliveryDateRequired(): boolean | undefined {\r\n const routes = this.sortedRoutes.filter(r =>\r\n this.tracker.editingRoutes.some(e => e.id === r.id)\r\n );\r\n if (routes.every(r => r.mandatoryBookedDeliveryDate)) {\r\n return true;\r\n }\r\n if (routes.some(r => r.mandatoryBookedDeliveryDate)) {\r\n return undefined;\r\n }\r\n return false;\r\n },\r\n allPickupDateRequired(): boolean | undefined {\r\n const routes = this.sortedRoutes.filter(r =>\r\n this.tracker.editingRoutes.some(e => e.id === r.id)\r\n );\r\n if (routes.every(r => r.mandatoryBookedPickupDate)) {\r\n return true;\r\n }\r\n if (routes.some(r => r.mandatoryBookedPickupDate)) {\r\n return undefined;\r\n }\r\n return false;\r\n },\r\n truckTypesForHeader(): TruckType[] {\r\n return truckTypes()\r\n .map(tt => tt.id as TruckType)\r\n .filter(tt => this.sortedRoutes.every(r => r.truckTypes!.includes(tt)));\r\n },\r\n indeterminatesForHeader(): TruckType[] {\r\n return truckTypes()\r\n .map(tt => tt.id as TruckType)\r\n .filter(tt => !this.truckTypesForHeader.includes(tt))\r\n .filter(tt => this.sortedRoutes.some(r => r.truckTypes!.includes(tt)));\r\n },\r\n changeCount(): number {\r\n return this.tracker.editingRoutes.length;\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n agreementPeriods(route: AgreementRouteDto, includeAll?: boolean): string {\r\n return route\r\n .agreementPeriods!.filter((_, index) => includeAll || index === 0)\r\n .map(p => `${p.from!.datePrint()} - ${p.to!.datePrint()}`)\r\n .join(\"\\n\");\r\n },\r\n procurementPeriods(route: AgreementRouteDto, includeAll?: boolean): string {\r\n const dates = route\r\n .procurementPeriods!.filter(\r\n p =>\r\n includeAll ||\r\n p.to!.isSameOrAfter(\r\n CDate.now(this.$store.getters[gets.userInfo].zone).startOfDay()\r\n )\r\n )\r\n .filter((_, index) => includeAll || index === 0)\r\n .map(p => `${p.from!.datePrint()} - ${p.to!.datePrint()}`)\r\n .join(\"\\n\");\r\n return dates\r\n ? dates\r\n : route.procurementPeriods!.length\r\n ? t(\"RankingInProgress\")\r\n : \"\";\r\n },\r\n pickup(route: AgreementRouteDto): string {\r\n return `${route.pickupCounty}, ${route.pickupZipcode}, ${isoName(\r\n route.pickupCountry\r\n )}`;\r\n },\r\n delivery(route: AgreementRouteDto): string {\r\n return `${route.deliveryCounty}, ${route.deliveryZipcode}, ${isoName(\r\n route.deliveryCountry\r\n )}`;\r\n },\r\n valueForChangeDetection(route: AgreementRouteDto): any[] {\r\n return [\r\n route.tag,\r\n route.status,\r\n route.estimatedNoOfLoads,\r\n route.specialRequirementId,\r\n route.destinationInfoId,\r\n route.pickupInfoId,\r\n route.customsInfoRequired,\r\n route.mandatoryBookedDeliveryDate,\r\n route.mandatoryBookedPickupDate,\r\n ...route.truckTypes!\r\n ];\r\n },\r\n edited(original: any[], route: AgreementRouteDto): boolean {\r\n const newVals = this.valueForChangeDetection(route);\r\n if (original.length !== newVals.length) {\r\n return true;\r\n }\r\n for (let i = 0; i < original.length; i++) {\r\n if (original[i] !== newVals[i]) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n itemsEdited(routeIds: number[]) {\r\n const routes = this.routes.filter(r => routeIds.includes(r.id));\r\n this.tracker.editingRoutes\r\n .map(e => ({ e: e, r: routes.find(r => r.id === e.id) }))\r\n .filter(x => x.r !== undefined)\r\n .map(x => (x.e.edited = this.edited(x.e.originalValue, x.r!)));\r\n },\r\n tagEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.Tag;\r\n this.itemsEdited(routeIds);\r\n },\r\n applyAllTag(tag: string) {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n this.sortedRoutes.map(r => (r.tag = tag));\r\n this.tagEdited(routeIds);\r\n },\r\n hiddenEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.Visibility;\r\n this.itemsEdited(routeIds);\r\n },\r\n toggleAllHidden() {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n const newState =\r\n this.allHidden === AgreementRouteStatus.Hidden\r\n ? AgreementRouteStatus.Visible\r\n : AgreementRouteStatus.Hidden;\r\n this.sortedRoutes.map(r => (r.status = newState));\r\n this.hiddenEdited(routeIds);\r\n },\r\n estimateEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.Estimate;\r\n this.itemsEdited(routeIds);\r\n },\r\n applyAllEstimateHistory() {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n this.sortedRoutes.map(\r\n r =>\r\n (r.estimatedNoOfLoads = r.estimateFromHistoricalPeriod\r\n ? r.estimateFromHistoricalPeriod\r\n : (null as any))\r\n );\r\n this.estimateEdited(routeIds);\r\n },\r\n standardPhrasesEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.StandardPhrases;\r\n this.itemsEdited(routeIds);\r\n },\r\n applyAllStandardPhrases(\r\n selectedPhraseTypetandardPhraseId: number,\r\n standardPhraseType: StandardPhraseType\r\n ) {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n if (standardPhraseType === StandardPhraseType.PickupInfo) {\r\n this.sortedRoutes.forEach(r => {\r\n if (r.pickupInfoId !== selectedPhraseTypetandardPhraseId) {\r\n r.pickupInfoId = selectedPhraseTypetandardPhraseId;\r\n }\r\n });\r\n } else if (standardPhraseType === StandardPhraseType.DestinationInfo) {\r\n this.sortedRoutes.forEach(r => {\r\n if (r.destinationInfoId !== selectedPhraseTypetandardPhraseId) {\r\n r.destinationInfoId = selectedPhraseTypetandardPhraseId;\r\n }\r\n });\r\n } else if (standardPhraseType === StandardPhraseType.SpecialRequirement) {\r\n this.sortedRoutes.forEach(r => {\r\n if (r.specialRequirementId !== selectedPhraseTypetandardPhraseId) {\r\n r.specialRequirementId = selectedPhraseTypetandardPhraseId;\r\n }\r\n });\r\n }\r\n this.standardPhrasesEdited(routeIds);\r\n },\r\n customsInfoRequiredEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.MandatoryFlags;\r\n this.itemsEdited(routeIds);\r\n },\r\n toggleAllCustomsInfoRequired() {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n const newState = this.allCustomsInfoRequired === true ? false : true;\r\n this.sortedRoutes.map(r => (r.customsInfoRequired = newState));\r\n this.customsInfoRequiredEdited(routeIds);\r\n },\r\n deliveryDateRequiredEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.MandatoryFlags;\r\n this.itemsEdited(routeIds);\r\n },\r\n toggleAllDeliveryDateRequired() {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n const newState = this.allDeliveryDateRequired === true ? false : true;\r\n this.sortedRoutes.map(r => (r.mandatoryBookedDeliveryDate = newState));\r\n this.deliveryDateRequiredEdited(routeIds);\r\n },\r\n pickupDateRequiredEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.MandatoryFlags;\r\n this.itemsEdited(routeIds);\r\n },\r\n toggleAllPickupDateRequired() {\r\n const routeIds = this.sortedRoutes.map(r => r.id);\r\n const newState = this.allPickupDateRequired === true ? false : true;\r\n this.sortedRoutes.map(r => (r.mandatoryBookedPickupDate = newState));\r\n this.pickupDateRequiredEdited(routeIds);\r\n },\r\n truckTypesEdited(routeIds: number[]) {\r\n this.tracker.editingTab = RouteTab.TruckTypes;\r\n this.itemsEdited(routeIds);\r\n },\r\n allHasTruckTypeX(tt: TruckType): boolean | undefined {\r\n const routes = this.sortedRoutes.filter(r =>\r\n this.tracker.editingRoutes.some(e => e.id === r.id)\r\n );\r\n if (routes.every(r => r.truckTypes!.includes(tt))) {\r\n return true;\r\n }\r\n if (routes.some(r => r.truckTypes!.includes(tt))) {\r\n return undefined;\r\n }\r\n return false;\r\n },\r\n toggleTruckType(route: AgreementRouteDto, tt: TruckType) {\r\n if (route.truckTypes!.includes(tt)) {\r\n route.truckTypes = route.truckTypes!.filter(t => t !== tt);\r\n } else {\r\n route.truckTypes = [...route.truckTypes!, tt].sort();\r\n }\r\n this.truckTypesEdited([route.id]);\r\n },\r\n allToggleTruckType(tt: TruckType) {\r\n const remove = this.sortedRoutes.every(r => r.truckTypes!.includes(tt));\r\n this.sortedRoutes.map(r => {\r\n if (remove) {\r\n r.truckTypes = r.truckTypes!.filter(t => t !== tt);\r\n } else if (!r.truckTypes!.includes(tt)) {\r\n r.truckTypes = [...r.truckTypes!, tt].sort();\r\n }\r\n });\r\n this.truckTypesEdited(this.sortedRoutes.map(r => r.id));\r\n },\r\n fetchEstimateHistory(from: CDate, to: CDate) {\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .estimateFromHistoricalPeriod(\r\n new EstimateFromHistoricalPeriodSearchCriteria({\r\n cargoType: this.filter.cargoType,\r\n from: from,\r\n to: to\r\n })\r\n )\r\n .then(res => {\r\n res.map(x =>\r\n this.routes\r\n .filter(r => r.routeId === x.routeId)\r\n .map(r => (r.estimateFromHistoricalPeriod = x.estimate))\r\n );\r\n this.estimateHistoryDialog = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n deleteAgreementRoute(id: number) {\r\n popupDialog({\r\n title: t(\"Remove\"),\r\n body: t(\"ConfirmRemoveAgreementRoute\"),\r\n btnText1: t(\"Remove\"),\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n this.actuallyDeleteAgreementRoute(id);\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnCallback2: () => {}\r\n });\r\n },\r\n actuallyDeleteAgreementRoute(id: number) {\r\n this.deleteInProgress = id;\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .archiveOrDelete(id)\r\n .then(() => {\r\n pushNotification(t(\"Deleted\"), \"mdi-trash-can-outline\");\r\n this.$emit(\"search\");\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n archiveAgreementRoute(id: number) {\r\n popupDialog({\r\n title: t(\"Archive\"),\r\n body: t(\"ConfirmArchiveAgreementRoute\"),\r\n btnText1: t(\"Archive\"),\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n this.actuallyArchiveAgreementRoute(id);\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnCallback2: () => {}\r\n });\r\n },\r\n actuallyArchiveAgreementRoute(id: number) {\r\n this.deleteInProgress = id;\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .archiveOrDelete(id)\r\n .then(() => {\r\n pushNotification(t(\"Archived\"), \"mdi-archive-lock-outline\");\r\n this.$emit(\"search\");\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n customSort(\r\n items: AgreementRouteDto[],\r\n sortByArr: string[],\r\n sortDescArr: boolean[]\r\n ) {\r\n const sortBy = sortByArr[0];\r\n const sortDesc = sortDescArr[0];\r\n const c = (a: AgreementRouteDto, b: AgreementRouteDto) =>\r\n stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n items = items.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) ||\r\n stringCompare(this.pickup(a), this.pickup(b)) ||\r\n stringCompare(this.delivery(a), this.delivery(b))\r\n );\r\n return items;\r\n },\r\n async fetchStandardPhrases(): Promise {\r\n return new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.specialRequirements = res.filter(\r\n p => p.phraseType === StandardPhraseType.SpecialRequirement\r\n );\r\n this.destinationInfos = res.filter(\r\n p => p.phraseType === StandardPhraseType.DestinationInfo\r\n );\r\n this.pickupInfos = res.filter(\r\n p => p.phraseType === StandardPhraseType.PickupInfo\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n routeIsArchivableOrDeletable(item: AgreementRouteDto): boolean {\r\n if (\r\n item.archivableOrDeletableStatus ===\r\n ArchivableOrDeletableStatus.Archivable ||\r\n item.archivableOrDeletableStatus ===\r\n ArchivableOrDeletableStatus.Deleteable\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n archiveOrDelete(id: number, status: ArchivableOrDeletableStatus) {\r\n if (status === ArchivableOrDeletableStatus.Archivable) {\r\n this.archiveAgreementRoute(id);\r\n } else {\r\n this.deleteAgreementRoute(id);\r\n }\r\n },\r\n showArchiveOrDeleteIcon(status: ArchivableOrDeletableStatus) {\r\n if (status === ArchivableOrDeletableStatus.Archivable) {\r\n return \"mdi-archive-lock-outline\";\r\n } else {\r\n return \"mdi-trash-can-outline\";\r\n }\r\n },\r\n showArchiveOrDeleteTooltip(status: ArchivableOrDeletableStatus) {\r\n if (status === ArchivableOrDeletableStatus.Archivable) {\r\n return t(\"Archive\");\r\n } else {\r\n return t(\"Delete\");\r\n }\r\n },\r\n setTableHeadersRoad() {\r\n if (this.isRoad) {\r\n this.extraHeaders = [\r\n ...this.extraHeaders,\r\n {\r\n value: \"mandatoryBookedDeliveryDate\",\r\n text: \"RequiredDeliveryDate\",\r\n sortValue: false,\r\n id: RouteTab.MandatoryFlags,\r\n width: 80\r\n },\r\n {\r\n value: \"mandatoryBookedPickupDate\",\r\n text: \"RequiredPickupDate\",\r\n sortValue: true,\r\n id: RouteTab.MandatoryFlags,\r\n width: 80\r\n }\r\n ];\r\n } else {\r\n this.extraHeaders = this.extraHeaders.filter(\r\n item =>\r\n item.value !== \"mandatoryBookedDeliveryDate\" &&\r\n item.value !== \"mandatoryBookedPickupDate\"\r\n );\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.$root.$on(\"import-estimate\", (estimates: EstimateDto[]) => {\r\n this.tableOptions.itemsPerPage = -1;\r\n this.$emit(\"clearSelection\");\r\n this.$nextTick(() => {\r\n this.routes.map(x => {\r\n estimates\r\n .filter(y => y.agreementRouteId === x.id)\r\n .map(y => (x.estimatedNoOfLoads = y.estimate));\r\n });\r\n this.estimateEdited(this.routes.map(r => r.id));\r\n });\r\n });\r\n this.$root.$on(\"export-estimate\", (callback: Function) => {\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .exportEstimateToExcel(\r\n this.filter.cargoType,\r\n this.sortedRoutes.map(r => r.id)\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n callback();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n });\r\n this.$root.$on(\"export-all\", (callback: Function) => {\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .exportAllToExcel(this.filter.cargoType)\r\n .then(res => {\r\n excelPrompt(res);\r\n callback();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n });\r\n this.$root.$on(\r\n \"editStandardPhrasesBulk\",\r\n (standardPhraseType: StandardPhraseType) => {\r\n switch (standardPhraseType) {\r\n case StandardPhraseType.PickupInfo:\r\n this.selectedDropDownItems = this.pickupInfos;\r\n this.selectedPhraseType = standardPhraseType;\r\n this.standardPhrasesDialog = true;\r\n break;\r\n case StandardPhraseType.DestinationInfo:\r\n this.selectedDropDownItems = this.destinationInfos;\r\n this.selectedPhraseType = standardPhraseType;\r\n this.standardPhrasesDialog = true;\r\n break;\r\n case StandardPhraseType.SpecialRequirement:\r\n this.selectedDropDownItems = this.specialRequirements;\r\n this.selectedPhraseType = standardPhraseType;\r\n this.standardPhrasesDialog = true;\r\n break;\r\n default:\r\n this.selectedDropDownItems = [];\r\n }\r\n }\r\n );\r\n this.$root.$on(\"editTag\", () => {\r\n this.tagDialog = true;\r\n });\r\n this.$root.$on(\"openHistoryDialog\", () => {\r\n this.estimateHistoryDialog = true;\r\n });\r\n this.fetchStandardPhrases();\r\n },\r\n data: (): {\r\n estimateHistoryDialog: boolean;\r\n deleteInProgress: number;\r\n tagDialog: boolean;\r\n standardPhrasesDialog: boolean;\r\n baseHeaders: TableHeader[];\r\n extraHeaders: TableHeader[];\r\n tableOptions: TableOptions;\r\n pickupInfos: StandardPhraseDto[];\r\n destinationInfos: StandardPhraseDto[];\r\n specialRequirements: StandardPhraseDto[];\r\n specReqPhraseType: number;\r\n pickupInfoPhraseType: number;\r\n destinationInfoPhraseType: number;\r\n selectedDropDownItems: StandardPhraseDto[];\r\n selectedPhraseType: StandardPhraseType | undefined;\r\n isRoad: boolean;\r\n } => ({\r\n estimateHistoryDialog: false,\r\n deleteInProgress: 0,\r\n tagDialog: false,\r\n standardPhrasesDialog: false,\r\n baseHeaders: [\r\n { value: \"routeId\", text: \"RouteID\", sortValue: true, width: 75 },\r\n { value: \"pickup\", text: \"PickupLocation\", sortValue: true },\r\n { value: \"delivery\", text: \"DeliveryLocation\", sortValue: true },\r\n { value: \"currency\", text: \"Currency\", sortValue: true, width: 80 },\r\n { value: \"distance\", text: \"Distance\", sortValue: true, width: 80 },\r\n { value: \"tag\", text: \"Tag\", sortValue: true, width: 110 },\r\n {\r\n value: \"estimatedNoOfLoads\",\r\n sortValue: true,\r\n text: \"\",\r\n untranslated: true,\r\n width: 1\r\n }\r\n ],\r\n extraHeaders: [\r\n {\r\n value: \"procurementPeriods\",\r\n text: \"Procurement\",\r\n id: RouteTab.List,\r\n sortValue: true,\r\n width: 200\r\n },\r\n {\r\n value: \"agreementPeriods\",\r\n text: \"Agreement\",\r\n id: RouteTab.List,\r\n sortValue: true,\r\n width: 200\r\n },\r\n {\r\n value: \"specIcon\",\r\n text: \"\",\r\n id: RouteTab.List,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"status\",\r\n text: \"Hidden\",\r\n id: RouteTab.Visibility,\r\n sortValue: true,\r\n width: 90\r\n },\r\n {\r\n value: \"deleteIcon\",\r\n text: \"\",\r\n id: RouteTab.Visibility,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"estimateHistory\",\r\n text: \"History\",\r\n id: RouteTab.Estimate,\r\n width: 60\r\n },\r\n {\r\n value: \"pickupInfo\",\r\n text: \"PickupInformation\",\r\n sortValue: true,\r\n id: RouteTab.StandardPhrases,\r\n width: 200\r\n },\r\n {\r\n value: \"destinationInfo\",\r\n text: \"DestinationInformation\",\r\n sortValue: true,\r\n id: RouteTab.StandardPhrases,\r\n width: 200\r\n },\r\n {\r\n value: \"specialRequirements\",\r\n text: \"SpecialRequirements\",\r\n sortValue: true,\r\n id: RouteTab.StandardPhrases,\r\n width: 200\r\n },\r\n {\r\n value: \"customsInfoRequired\",\r\n text: \"Customs\",\r\n sortValue: true,\r\n id: RouteTab.MandatoryFlags,\r\n width: 80\r\n },\r\n {\r\n value: \"truckTypes\",\r\n text: \"\",\r\n customHeader: true,\r\n id: RouteTab.TruckTypes,\r\n width: 500\r\n }\r\n ],\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 100,\r\n sortBy: [\"pickup\"],\r\n sortDesc: [false]\r\n }),\r\n pickupInfos: [],\r\n destinationInfos: [],\r\n specialRequirements: [],\r\n specReqPhraseType: StandardPhraseType.SpecialRequirement,\r\n pickupInfoPhraseType: StandardPhraseType.PickupInfo,\r\n destinationInfoPhraseType: StandardPhraseType.DestinationInfo,\r\n selectedDropDownItems: [],\r\n selectedPhraseType: undefined,\r\n isRoad: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRouteTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRouteTable.vue?vue&type=template&id=445b5220&\"\nimport script from \"./AgreementRouteTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRouteTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"loading\":!_vm.saveDto,\"title\":_vm.title,\"width\":1000},on:{\"close\":_vm.closeDialog},scopedSlots:_vm._u([(_vm.saveDto)?{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('TruckType')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.truckTypes),function(tt,index){return _c('div',{key:index,staticClass:\"inline-block medium-padding-right\"},[(_vm.saveDto)?_c('v-checkbox',{attrs:{\"value\":tt.id,\"label\":tt.text},model:{value:(_vm.saveDto.truckTypes),callback:function ($$v) {_vm.$set(_vm.saveDto, \"truckTypes\", $$v)},expression:\"saveDto.truckTypes\"}}):_vm._e()],1)}),0),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Route')}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"items\":_vm.countries,\"loading\":_vm.countries.length === 0,\"label\":_vm.$t('PickupCountry'),\"asterisk\":\"\"},model:{value:(_vm.pickupCountry),callback:function ($$v) {_vm.pickupCountry=$$v},expression:\"pickupCountry\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"items\":_vm.pickupCounties,\"loading\":!!_vm.pickupCountry && _vm.pickupCounties.length === 0,\"label\":_vm.$t('PickupLocation'),\"asterisk\":\"\"},on:{\"input\":_vm.populatePickupZipcodes},model:{value:(_vm.pickupCounty),callback:function ($$v) {_vm.pickupCounty=$$v},expression:\"pickupCounty\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('PickupZipcode'),\"items\":_vm.pickupZipcodes,\"loading\":!!_vm.pickupCountry && _vm.pickupLocations.length === 0,\"asterisk\":\"\"},model:{value:(_vm.saveDto.pickupLocationId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"pickupLocationId\", $$v)},expression:\"saveDto.pickupLocationId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('DeliveryCountry'),\"items\":_vm.countries,\"loading\":_vm.countries.length === 0,\"asterisk\":\"\"},model:{value:(_vm.deliveryCountry),callback:function ($$v) {_vm.deliveryCountry=$$v},expression:\"deliveryCountry\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('DeliveryLocation'),\"items\":_vm.deliveryCounties,\"loading\":!!_vm.deliveryCountry && _vm.deliveryCounties.length === 0,\"asterisk\":\"\"},on:{\"input\":_vm.populateDeliveryZipcodes},model:{value:(_vm.deliveryCounty),callback:function ($$v) {_vm.deliveryCounty=$$v},expression:\"deliveryCounty\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('DeliveryZipcode'),\"items\":_vm.deliveryZipcodes,\"loading\":!!_vm.deliveryCountry && _vm.deliveryLocations.length === 0,\"asterisk\":\"\"},model:{value:(_vm.saveDto.deliveryLocationId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"deliveryLocationId\", $$v)},expression:\"saveDto.deliveryLocationId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('DistanceInput',{attrs:{\"label\":((_vm.$t('Distance')) + \" (km)\"),\"fromCounty\":_vm.pickupLocation.county,\"fromZipcode\":_vm.pickupLocation.zipcode,\"fromCountry\":_vm.pickupCountry,\"toCounty\":_vm.deliveryLocation.county,\"toZipcode\":_vm.deliveryLocation.zipcode,\"toCountry\":_vm.deliveryCountry},model:{value:(_vm.saveDto.distance),callback:function ($$v) {_vm.$set(_vm.saveDto, \"distance\", $$v)},expression:\"saveDto.distance\"}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Currency'),\"items\":_vm.currencies,\"asterisk\":\"\"},model:{value:(_vm.saveDto.currency),callback:function ($$v) {_vm.$set(_vm.saveDto, \"currency\", $$v)},expression:\"saveDto.currency\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('AdditionalInformation')}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('PickupInformation'),\"items\":_vm.pickupInfos,\"clearable\":\"\",\"customItem\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}],null,false,2806614097),model:{value:(_vm.saveDto.pickupInfoId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"pickupInfoId\", $$v)},expression:\"saveDto.pickupInfoId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('DestinationInformation'),\"items\":_vm.destinationInfos,\"clearable\":\"\",\"customItem\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}],null,false,2806614097),model:{value:(_vm.saveDto.destinationInfoId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"destinationInfoId\", $$v)},expression:\"saveDto.destinationInfoId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('SpecialRequirements'),\"items\":_vm.specialRequirements,\"clearable\":\"\",\"customItem\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_vm._v(\" \"+_vm._s(item.subject)+\" \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.body))])])]}}],null,false,2806614097),model:{value:(_vm.saveDto.specialRequirementId),callback:function ($$v) {_vm.$set(_vm.saveDto, \"specialRequirementId\", $$v)},expression:\"saveDto.specialRequirementId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Tag'),\"max-length\":10},model:{value:(_vm.saveDto.tag),callback:function ($$v) {_vm.$set(_vm.saveDto, \"tag\", $$v)},expression:\"saveDto.tag\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('NumberOfEstimatedLoads')},model:{value:(_vm.saveDto.estimate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"estimate\", $$v)},expression:\"saveDto.estimate\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-bottom medium-margin-top\",attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('CustomsInfoRequiredInfo')},model:{value:(_vm.saveDto.customsInfoRequired),callback:function ($$v) {_vm.$set(_vm.saveDto, \"customsInfoRequired\", $$v)},expression:\"saveDto.customsInfoRequired\"}})],1),(_vm.isRoad)?_c('v-col',{staticClass:\"no-padding-top no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('MandatoryBookedPickupDateInfo')},model:{value:(_vm.saveDto.mandatoryBookedPickupDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"mandatoryBookedPickupDate\", $$v)},expression:\"saveDto.mandatoryBookedPickupDate\"}})],1):_vm._e(),(_vm.isRoad)?_c('v-col',{staticClass:\"no-padding-top no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{attrs:{\"label\":_vm.$t('MandatoryBookedDeliveryDateInfo')},model:{value:(_vm.saveDto.mandatoryBookedDeliveryDate),callback:function ($$v) {_vm.$set(_vm.saveDto, \"mandatoryBookedDeliveryDate\", $$v)},expression:\"saveDto.mandatoryBookedDeliveryDate\"}})],1):_vm._e()],1)]},proxy:true}:null,{key:\"actions\",fn:function(){return [_c('v-spacer'),(_vm.saveDto)?_c('v-btn',{attrs:{\"disabled\":!_vm.saveEnabled,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.startSave}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1):_vm._e()]},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport DistanceInput from \"@/components/shared/input/DistanceInput.vue\";\r\nimport {\r\n ActorConfigurationType,\r\n AgreementRoutesClient,\r\n ApiConfiguration,\r\n CargoType,\r\n Country,\r\n CountyWithZipcodeDto,\r\n CreateAgreementRouteDto,\r\n Currency,\r\n RepositoryDto,\r\n StandardPhraseDto,\r\n StandardPhrasesClient,\r\n StandardPhraseType,\r\n TruckType,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { cargoTypeName, currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { alertDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport {\r\n actorCargoTypes,\r\n currencies,\r\n truckTypesByCargoType\r\n} from \"@/scripts/misc/enumLists\";\r\nimport { ActorConfigurationEntry } from \"@/scripts/store/actorConfModule\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\nimport { userInfoFromProfileDto } from \"@/scripts/types\";\r\nexport default Vue.extend({\r\n props: {\r\n dialog: Boolean,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n DialogCard,\r\n GreyTitle,\r\n Dropdown,\r\n TextSingle,\r\n Autocomplete,\r\n DistanceInput,\r\n NumberInput\r\n },\r\n watch: {\r\n pickupCountry: {\r\n handler() {\r\n this.fetchPickupLocations();\r\n },\r\n immediate: true\r\n },\r\n deliveryCountry: {\r\n handler() {\r\n this.fetchDeliveryLocations();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): String {\r\n return (\r\n t(\"CreateNewAgreementRoute\") +\r\n \" (\" +\r\n cargoTypeName(this.cargoType) +\r\n \")\"\r\n );\r\n },\r\n pickupLocation(): CountyWithZipcodeDto {\r\n const location = this.pickupLocations.find(\r\n l => l.id === this.saveDto!.pickupLocationId\r\n );\r\n if (location) {\r\n return location;\r\n }\r\n return new CountyWithZipcodeDto({ id: 0, county: \"\", zipcode: \"\" });\r\n },\r\n deliveryLocation(): CountyWithZipcodeDto {\r\n const location = this.deliveryLocations.find(\r\n l => l.id === this.saveDto!.deliveryLocationId\r\n );\r\n if (location) {\r\n return location;\r\n }\r\n return new CountyWithZipcodeDto({ id: 0, county: \"\", zipcode: \"\" });\r\n },\r\n saveEnabled() {\r\n if (\r\n this.saveDto!.currency &&\r\n this.saveDto!.pickupLocationId &&\r\n this.saveDto!.deliveryLocationId\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n },\r\n conf(): RepositoryDto[] {\r\n return this.$store.getters[gets.actorConf](\r\n ActorConfigurationType.ZipcodeByCounty,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n init() {\r\n this.resetDialog();\r\n this.truckTypes = truckTypesByCargoType(this.cargoType);\r\n this.fetchCountries();\r\n this.fetchStandardPhrases();\r\n this.isRoad = this.cargoType === CargoType.Road;\r\n },\r\n resetDialog() {\r\n this.deliveryCounty = undefined;\r\n this.deliveryZipcodes = [];\r\n this.saveDto = new CreateAgreementRouteDto({\r\n cargoType: this.cargoType,\r\n truckTypes: truckTypesByCargoType(this.cargoType).map(\r\n tt => tt.id as TruckType\r\n ),\r\n pickupLocationId: !this.saveDto\r\n ? (undefined as any)\r\n : this.saveDto.pickupLocationId,\r\n deliveryLocationId: undefined as any,\r\n currency: undefined as any,\r\n estimate: undefined,\r\n specialRequirementId: undefined,\r\n pickupInfoId: undefined,\r\n destinationInfoId: undefined,\r\n distance: undefined,\r\n tag: undefined as any,\r\n customsInfoRequired: false,\r\n mandatoryBookedDeliveryDate: false,\r\n mandatoryBookedPickupDate: false\r\n });\r\n },\r\n closeDialog() {\r\n this.$emit(\"close\");\r\n },\r\n saveActorConf() {\r\n this.$store.dispatch(actions.saveActorConf, {\r\n type: ActorConfigurationType.ZipcodeByCounty,\r\n subTypeId: 1\r\n });\r\n },\r\n setActorConf() {\r\n const entries = [\r\n new RepositoryDto({\r\n id: this.saveDto!.pickupLocationId,\r\n text: this.pickupCounty\r\n }),\r\n new RepositoryDto({\r\n id: this.saveDto!.deliveryLocationId,\r\n text: this.deliveryCounty\r\n })\r\n ];\r\n this.$store.commit(mutations.setActorConf, {\r\n type: ActorConfigurationType.ZipcodeByCounty,\r\n subTypeId: 1,\r\n conf: [\r\n ...this.conf.filter(c => !entries.some(e => e.text === c.text)),\r\n ...entries\r\n ]\r\n } as ActorConfigurationEntry);\r\n },\r\n populatePickupZipcodes() {\r\n const zipcodeByCounty = this.conf.find(x => x.text === this.pickupCounty);\r\n this.saveDto!.pickupLocationId = zipcodeByCounty\r\n ? zipcodeByCounty.id\r\n : (undefined as any);\r\n this.pickupZipcodes = this.pickupLocations\r\n .filter(l => l.county === this.pickupCounty)\r\n .map(l => new RepositoryDto({ id: l.id, text: l.zipcode }));\r\n },\r\n populateDeliveryZipcodes() {\r\n this.saveDto!.deliveryLocationId = undefined as any; //Autoselectar inte postkod på leveransort\r\n this.deliveryZipcodes = this.deliveryLocations\r\n .filter(l => l.county === this.deliveryCounty)\r\n .map(l => new RepositoryDto({ id: l.id, text: l.zipcode }));\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPickupLocations() {\r\n if (!this.pickupCountry) {\r\n return;\r\n }\r\n this.pickupCounties = [];\r\n this.pickupLocations = [];\r\n cached(\"countiesAndZipcode\", this.pickupCountry)\r\n .then(res => {\r\n this.pickupLocations = res;\r\n this.pickupCounties = [\r\n ...new Map(\r\n res.map(x => [\r\n x.county,\r\n new RepositoryDto({ id: x.county as any, text: x.county })\r\n ])\r\n ).values()\r\n ];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDeliveryLocations() {\r\n if (!this.deliveryCountry) {\r\n return;\r\n }\r\n this.deliveryCounties = [];\r\n this.deliveryLocations = [];\r\n cached(\"countiesAndZipcode\", this.deliveryCountry)\r\n .then(res => {\r\n this.deliveryLocations = res;\r\n this.deliveryCounties = [\r\n ...new Map(\r\n res.map(x => [\r\n x.county,\r\n new RepositoryDto({ id: x.county as any, text: x.county })\r\n ])\r\n ).values()\r\n ];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n async fetchStandardPhrases(): Promise {\r\n return new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.specialRequirements = res.filter(\r\n p => p.phraseType === StandardPhraseType.SpecialRequirement\r\n );\r\n this.destinationInfos = res.filter(\r\n p => p.phraseType === StandardPhraseType.DestinationInfo\r\n );\r\n this.pickupInfos = res.filter(\r\n p => p.phraseType === StandardPhraseType.PickupInfo\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n startSave() {\r\n this.saveInProgress = true;\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .agreementRouteExists(this.saveDto!)\r\n .then(res => {\r\n this.handleSave(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n handleSave(currencyOfCopy: Currency | null) {\r\n if (!currencyOfCopy) {\r\n this.saveAgreementRoute();\r\n } else if (currencyOfCopy === this.saveDto!.currency) {\r\n alertDialog(\r\n this.$t(\"TheOperationWasCancelled\").toString(),\r\n this.$t(\"BLE_AgreementRouteAlreadyExists\").toString()\r\n );\r\n this.saveInProgress = false;\r\n } else {\r\n popupDialog({\r\n title: this.$t(\"BLE_AgreementRouteAlreadyExists\").toString(),\r\n body:\r\n this.$t(\"AgreementRouteExistsWithDifferentCurrency\").toString() +\r\n \" \" +\r\n currencyName(currencyOfCopy) +\r\n \", \" +\r\n this.$t(\"DoYouWantToSaveAndHide\"),\r\n btnText1: this.$t(\"HideAndSave\").toString(),\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.saveAgreementRoute();\r\n },\r\n btnText2: this.$t(\"Cancel\").toString(),\r\n btnColor2: \"warning\",\r\n btnCallback2: () => {\r\n this.saveInProgress = false;\r\n }\r\n });\r\n }\r\n },\r\n saveAgreementRoute() {\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .createAgreementRoute(this.saveDto!)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.$store.commit(mutations.setLocationCacheOutdated, true);\r\n this.setActorConf();\r\n this.saveActorConf();\r\n this.resetDialog();\r\n pushNotification(\r\n t(\"AgreementRouteCreated\") + \"!\",\r\n \"mdi-check-circle\"\r\n );\r\n if (!actorCargoTypes().some(c => c.id === this.saveDto!.cargoType)) {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .profile()\r\n .then(profile => {\r\n this.$store.commit(\r\n mutations.setUserInfo,\r\n userInfoFromProfileDto(profile)\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n truckTypes: RepositoryDto[];\r\n currencies: RepositoryDto[];\r\n countries: RepositoryDto[];\r\n pickupCounties: RepositoryDto[];\r\n pickupZipcodes: RepositoryDto[];\r\n pickupLocations: CountyWithZipcodeDto[];\r\n deliveryCounties: RepositoryDto[];\r\n deliveryZipcodes: RepositoryDto[];\r\n deliveryLocations: CountyWithZipcodeDto[];\r\n pickupCounty?: string;\r\n pickupCountry?: Country;\r\n deliveryCounty?: string;\r\n deliveryCountry?: Country;\r\n saveDto?: CreateAgreementRouteDto;\r\n saveInProgress: boolean;\r\n specialRequirements: StandardPhraseDto[];\r\n destinationInfos: StandardPhraseDto[];\r\n pickupInfos: StandardPhraseDto[];\r\n isRoad: boolean;\r\n } => ({\r\n truckTypes: [],\r\n currencies: currencies(),\r\n countries: [],\r\n pickupCounties: [],\r\n pickupZipcodes: [],\r\n pickupLocations: [],\r\n deliveryCounties: [],\r\n deliveryZipcodes: [],\r\n deliveryLocations: [],\r\n pickupCounty: undefined,\r\n pickupCountry: undefined,\r\n deliveryCounty: undefined,\r\n deliveryCountry: undefined,\r\n saveDto: undefined,\r\n saveInProgress: false,\r\n specialRequirements: [],\r\n destinationInfos: [],\r\n pickupInfos: [],\r\n isRoad: false\r\n })\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n AgreementRouteDto,\r\n AgreementRoutesClient,\r\n AgreementRouteStandardPhraseSaveDto,\r\n ApiConfiguration,\r\n CargoType,\r\n ConnectedTruckTypesDto,\r\n DefaultMandatoryFlagsDto,\r\n EstimateDto,\r\n SaveAgreementRouteStatusHiddenDto,\r\n StatusDto,\r\n TagDto,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport AgreementRouteSearch from \"@/components/web/agreements/client/AgreementRouteSearch.vue\";\r\nimport AgreementRouteTable from \"@/components/web/agreements/client/AgreementRouteTable.vue\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport CreateAgreementRouteDialog from \"@/components/web/agreements/client/CreateAgreementRouteDialog.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { AgreementRouteFilter } from \"@/scripts/types\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport enum RouteTab {\r\n List = 0,\r\n Tag,\r\n Visibility,\r\n TruckTypes,\r\n Estimate,\r\n StandardPhrases,\r\n MandatoryFlags\r\n}\r\n\r\nexport interface AgreementRouteEditTracker {\r\n tabId: RouteTab;\r\n editingTab: RouteTab | undefined;\r\n editingRoutes: { id: number; edited: boolean; originalValue: any[] }[];\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementRouteSearch,\r\n AgreementRouteTable,\r\n CreateAgreementRouteDialog\r\n },\r\n watch: {\r\n filter: {\r\n handler() {\r\n this.saveFilter();\r\n },\r\n deep: true\r\n },\r\n cargoType: {\r\n handler(newVal: CargoType, oldVal?: CargoType) {\r\n if (newVal !== oldVal) {\r\n if (oldVal !== undefined) {\r\n this.clearSelection().then(() => {\r\n this.fetchAgreementRoutes();\r\n this.saveFilter();\r\n });\r\n } else {\r\n this.fetchAgreementRoutes();\r\n }\r\n }\r\n },\r\n immediate: true\r\n },\r\n changeCount() {\r\n if (!this.changeCount && !this.loading) {\r\n this.cancelEdit();\r\n }\r\n }\r\n },\r\n computed: {\r\n changeCountText(): string {\r\n if (this.changeCount > 0) {\r\n return ` (${this.changeCount})`;\r\n }\r\n return \"\";\r\n },\r\n changeCount(): number {\r\n return this.tracker.editingRoutes.filter(r => r.edited).length;\r\n },\r\n filter(): AgreementRouteFilter {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AgreementRoute,\r\n 1\r\n );\r\n },\r\n cargoType(): CargoType {\r\n return this.filter.cargoType;\r\n }\r\n },\r\n methods: {\r\n clearSelection(): Promise {\r\n return this.$store.dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.AgreementRoute,\r\n subTypeId: 1,\r\n actorType: ActorType.Client\r\n });\r\n },\r\n saveFilter() {\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.AgreementRoute,\r\n subTypeId: 1\r\n });\r\n },\r\n createRoute(cargoType: number) {\r\n this.selectedCreateAgreementCargoType = cargoType;\r\n this.createAgreementRouteDialog = true;\r\n },\r\n closeDialog() {\r\n this.createAgreementRouteDialog = false;\r\n this.selectedCreateAgreementCargoType = undefined;\r\n this.fetchAgreementRoutes();\r\n },\r\n fetchAgreementRoutes() {\r\n this.tracker.editingTab = undefined;\r\n this.tracker.editingRoutes = [];\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .list(this.filter.cargoType)\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.routes = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n cancelEdit() {\r\n this.fetchAgreementRoutes();\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n const actuallySave = this.getSaveFunction(this.tracker.editingTab);\r\n if (this.changeCount <= 1) {\r\n actuallySave();\r\n } else {\r\n popupDialog({\r\n title: t(\"Save\"),\r\n body: t(\"XAgreementRoutesWillBeAffected\").replace(\r\n \"{0}\",\r\n this.changeCount.toString()\r\n ),\r\n btnText1: t(\"Save\"),\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n actuallySave();\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnColor2: \"warning\",\r\n btnCallback2: () => {\r\n this.saveInProgress = false;\r\n }\r\n });\r\n }\r\n },\r\n getSaveFunction(tab: RouteTab | undefined): Function {\r\n switch (tab) {\r\n case undefined:\r\n case RouteTab.List:\r\n throw new Error(\"Unhandled tab save\"); //Kommer inte ske\r\n case RouteTab.Tag:\r\n return () => {\r\n this.saveTag();\r\n };\r\n case RouteTab.Visibility:\r\n return () => {\r\n this.saveVisibility(false);\r\n };\r\n case RouteTab.TruckTypes:\r\n return () => {\r\n this.saveTruckTypes();\r\n };\r\n case RouteTab.Estimate:\r\n return () => {\r\n this.saveEstimate();\r\n };\r\n case RouteTab.StandardPhrases:\r\n return () => {\r\n this.saveStandardPhrases();\r\n };\r\n case RouteTab.MandatoryFlags:\r\n return () => {\r\n this.saveMandatoryFlags();\r\n };\r\n default:\r\n return neverHappens(tab);\r\n }\r\n },\r\n saveVisibility(ignoreVisibilityProblems: boolean) {\r\n const idsToSave = this.tracker.editingRoutes\r\n .filter(r => r.edited)\r\n .map(r => r.id);\r\n const arrayToSave = this.routes\r\n .filter(r => idsToSave.includes(r.id))\r\n .map(\r\n r =>\r\n new StatusDto({\r\n agreementRouteId: r.id,\r\n status: r.status\r\n })\r\n );\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .saveHiddenStatus(\r\n new SaveAgreementRouteStatusHiddenDto({\r\n hideShowAgreementRoutes: arrayToSave,\r\n saveAnyway: ignoreVisibilityProblems\r\n })\r\n )\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchAgreementRoutes();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n saveTruckTypes() {\r\n const idsToSave = this.tracker.editingRoutes\r\n .filter(r => r.edited)\r\n .map(r => r.id);\r\n const arrayToSave = this.routes\r\n .filter(r => idsToSave.includes(r.id))\r\n .map(\r\n r =>\r\n new ConnectedTruckTypesDto({\r\n agreementRouteId: r.id,\r\n truckTypes: r.truckTypes\r\n })\r\n );\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .saveConnectedTrucktypes(arrayToSave)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchAgreementRoutes();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n saveEstimate() {\r\n const idsToSave = this.tracker.editingRoutes\r\n .filter(r => r.edited)\r\n .map(r => r.id);\r\n const arrayToSave = this.routes\r\n .filter(r => idsToSave.includes(r.id))\r\n .map(\r\n r =>\r\n new EstimateDto({\r\n agreementRouteId: r.id,\r\n estimate: r.estimatedNoOfLoads\r\n })\r\n );\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .saveEstimateAgreementRoutes(arrayToSave)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchAgreementRoutes();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n saveStandardPhrases() {\r\n const idsToSave = this.tracker.editingRoutes\r\n .filter(r => r.edited)\r\n .map(r => r.id);\r\n const arrayToSave = this.routes\r\n .filter(r => idsToSave.includes(r.id))\r\n .map(\r\n r =>\r\n new AgreementRouteStandardPhraseSaveDto({\r\n agreementRouteId: r.id,\r\n specialRequirementId: r.specialRequirementId,\r\n destinationInfoId: r.destinationInfoId,\r\n pickupInfoId: r.pickupInfoId\r\n })\r\n );\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .saveStandardPhrases(arrayToSave)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchAgreementRoutes();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n saveMandatoryFlags() {\r\n const idsToSave = this.tracker.editingRoutes\r\n .filter(r => r.edited)\r\n .map(r => r.id);\r\n const arrayToSave = this.routes\r\n .filter(r => idsToSave.includes(r.id))\r\n .map(\r\n r =>\r\n new DefaultMandatoryFlagsDto({\r\n agreementRouteId: r.id,\r\n mandatoryBookedDeliveryDate: r.mandatoryBookedDeliveryDate,\r\n mandatoryBookedPickupDate: r.mandatoryBookedPickupDate,\r\n customsInfoRequired: r.customsInfoRequired\r\n })\r\n );\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .saveDefaultMandatoryFlags(arrayToSave)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchAgreementRoutes();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n saveTag() {\r\n const idsToSave = this.tracker.editingRoutes\r\n .filter(r => r.edited)\r\n .map(r => r.id);\r\n const arrayToSave = this.routes\r\n .filter(r => idsToSave.includes(r.id))\r\n .map(\r\n r =>\r\n new TagDto({\r\n agreementRouteId: r.id,\r\n tag: r.tag\r\n })\r\n );\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .saveTags(arrayToSave)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.$store.commit(mutations.setLocationCacheOutdated, true);\r\n this.fetchAgreementRoutes();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n saveInProgress: boolean;\r\n routes: AgreementRouteDto[];\r\n tracker: AgreementRouteEditTracker;\r\n createAgreementRouteDialog: boolean;\r\n selectedCreateAgreementCargoType: number | undefined;\r\n } => ({\r\n loading: 0,\r\n saveInProgress: false,\r\n routes: [],\r\n tracker: {\r\n tabId: RouteTab.List,\r\n editingTab: undefined,\r\n editingRoutes: []\r\n },\r\n createAgreementRouteDialog: false,\r\n selectedCreateAgreementCargoType: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateAgreementRouteDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateAgreementRouteDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateAgreementRouteDialog.vue?vue&type=template&id=fefb3950&scoped=true&\"\nimport script from \"./CreateAgreementRouteDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateAgreementRouteDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CreateAgreementRouteDialog.vue?vue&type=style&index=0&id=fefb3950&scoped=true&lang=css&\"\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 \"fefb3950\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCheckbox,VCol,VIcon,VRow,VSpacer,VTooltip})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRoutes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRoutes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementRoutes.vue?vue&type=template&id=22b236ff&\"\nimport script from \"./AgreementRoutes.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementRoutes.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding tiny-padding-sides\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.title,\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('div',{staticClass:\"small-padding-sides\"},[_c('v-btn',{attrs:{\"disabled\":!!_vm.procurement.cargoType ||\n !!_vm.loadingSemaphore ||\n !_vm.draft.cargoType,\"loading\":_vm.saveDraftInProgress},on:{\"click\":_vm.loadDraft}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-pencil\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"LoadDraft\"))+\" \")],1)],1),_c('div',{staticClass:\"small-padding-sides\"},[_c('v-btn',{attrs:{\"disabled\":!_vm.procurement.cargoType || !!_vm.loadingSemaphore,\"loading\":_vm.saveDraftInProgress},on:{\"click\":_vm.saveDraft}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"SaveDraft\"))+\" \")],1)],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-stepper',{attrs:{\"elevation\":\"0\"},model:{value:(_vm.currentStep),callback:function ($$v) {_vm.currentStep=$$v},expression:\"currentStep\"}},[_c('v-stepper-header',_vm._l((_vm.steps),function(step){return _c('div',{key:step.id,staticClass:\"display-contents\"},[(step.id !== 1)?_c('v-divider'):_vm._e(),_c('v-stepper-step',{attrs:{\"step\":step.id,\"complete\":_vm.completed(step.id),\"rules\":[\n function () { return step.id >= _vm.currentStep || _vm.completed(step.id); }\n ],\"color\":_vm.color(step.id)}},[_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(step.name)+\" \"+_vm._s(step.info ? (\"(\" + (step.info) + \")\") : \"\")+\" \"),(step.id === 2 && step.info)?_c('v-btn',{attrs:{\"icon\":\"\",\"height\":\"24\",\"width\":\"28\"},on:{\"click\":function($event){_vm.routesDialog = true}}},[_c('v-icon',{attrs:{\"size\":\"19\",\"color\":\"icon-gold\"}},[_vm._v(\" mdi-text-box-search \")])],1):_vm._e()],1)])],1)}),0)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-sides tiny-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-tabs-items',{attrs:{\"value\":_vm.currentStep - 1}},[_c('v-tab-item',{staticClass:\"background-pale tiny-padding\"},[_c('CreateProcurementAgreementPeriod',{attrs:{\"cargoType\":_vm.procurement.cargoType,\"agreementPeriod\":_vm.procurement.agreementPeriod,\"documentGroupId\":_vm.procurement.documentGroupId,\"agreementCountryToDates\":_vm.agreementCountryToDates,\"documentGroups\":_vm.documentGroups,\"isWorkingWithDraft\":_vm.isWorkingWithDraft,\"agreementCountry\":_vm.procurement.country},on:{\"cargoType\":function (v) { return (_vm.procurement.cargoType = v); },\"documentGroupId\":function (v) { return (_vm.procurement.documentGroupId = v); },\"change\":function (c, i) { return _vm.change(1, c, i); },\"selectedCountry\":function (v) { return (_vm.procurement.country = v); },\"agreementTimeZone\":function (v) { return (_vm.procurement.timeZone = v); }}})],1),_c('v-tab-item',{staticClass:\"background-pale tiny-padding\"},[_c('CreateProcurementAgreementRoutes',{attrs:{\"loading\":_vm.loadingSemaphore > 0,\"cargoType\":_vm.procurement.cargoType,\"agreementRouteIds\":_vm.procurement.agreementRouteIds,\"agreementRoutes\":_vm.agreementRoutes,\"height\":_vm.tableHeight},on:{\"change\":function (c, i) { return _vm.change(2, c, i); }}})],1),_c('v-tab-item',{staticClass:\"background-pale tiny-padding\"},[_c('CreateProcurementProcurementPeriods',{attrs:{\"procurementPeriods\":_vm.procurement.procurementPeriods,\"baseIndexText\":_vm.baseIndexText},on:{\"change\":function (c, i) { return _vm.change(3, c, i); }}})],1),_c('v-tab-item',{staticClass:\"background-pale tiny-padding\"},[_c('CreateProcurementSuppliers',{attrs:{\"supplierIds\":_vm.procurement.supplierIds,\"suppliers\":_vm.suppliers,\"qualityPoints\":_vm.qualityPoints},on:{\"change\":function (c, i) { return _vm.change(4, c, i); }}})],1),_c('v-tab-item',{staticClass:\"background-pale tiny-padding\"},[_c('CreateProcurementReview',{attrs:{\"loading\":_vm.loadingSemaphore > 0,\"procurement\":_vm.procurement,\"agreementRoutes\":_vm.agreementRoutes,\"suppliers\":_vm.suppliers,\"documentGroups\":_vm.documentGroups,\"baseIndexText\":_vm.baseIndexText}})],1)],1)],1),_c('v-col',{staticClass:\"tiny-padding-sides no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',{staticClass:\"medium-padding-sides\"},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.procurementCreated)?_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.resetPage}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-triple-left\")]),_vm._v(\" Ny upphandling \")],1):(_vm.currentStep !== 1)?_c('v-btn',{attrs:{\"color\":\"warning\",\"disabled\":!!_vm.loadingSemaphore},on:{\"click\":function($event){_vm.currentStep--}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-chevron-left\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Previous\"))+\" \")],1):_vm._e()],1),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.currentStep !== 5)?_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.nextEnabled},on:{\"click\":function($event){_vm.currentStep++}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Next\"))+\" \"),_c('v-icon',{attrs:{\"right\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1):(!_vm.procurementCreated)?_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":!!_vm.loadingSemaphore},on:{\"click\":_vm.createProcurement}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-text-box-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"CreateProcurement\"))+\" \")],1):_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.goToProcurements}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-check-bold\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Finish\"))+\" \")],1)],1)],1)],1)],1)],1),_c('CreateProcurementAgreementRoutesDialog',{attrs:{\"dialog\":_vm.routesDialog,\"cargoType\":_vm.procurement.cargoType,\"agreementRoutes\":_vm.routesForDialog,\"height\":_vm.tableHeight},on:{\"close\":function($event){_vm.routesDialog = false}}})],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('v-sheet',{staticClass:\"medium-padding-sides\",attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.sheetHeight}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"value\":_vm.cargoType,\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes},on:{\"input\":function (v) { return _vm.$emit('cargoType', v); }}})],1),(_vm.cargoType && _vm.selectableCountries.length > 1)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.selectableCountries,\"asterisk\":\"\"},on:{\"input\":function (v) { return _vm.$emit('selectedCountry', v); }},model:{value:(_vm.selectedCountry),callback:function ($$v) {_vm.selectedCountry=$$v},expression:\"selectedCountry\"}})],1):_vm._e(),(_vm.selectedCountry && _vm.timeZones.length > 1)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('TimeZone'),\"items\":_vm.timeZones,\"asterisk\":\"\",\"custom-item\":\"\"},on:{\"input\":function (v) { return _vm.$emit('agreementTimeZone', v); }},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.name)+\" \")]}}],null,false,4286803846),model:{value:(_vm.agreementTimeZone),callback:function ($$v) {_vm.agreementTimeZone=$$v},expression:\"agreementTimeZone\"}})],1):_vm._e()],1),(_vm.selectedCountry)?_c('v-row',[_c('v-col',{staticClass:\"font-weight-medium no-padding-top\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"OngoingAgreements\"))+\" \")]),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[(_vm.agreementToDates)?_c('div',{staticStyle:{\"max-height\":\"175px\",\"overflow-y\":\"auto\"}},_vm._l((_vm.agreementToDates),function(atd,index){return _c('div',{key:index,staticClass:\"small-padding-bottom\"},[_vm._v(\" \"+_vm._s(_vm.agreementEndText(atd.toDate, atd.count))+\" \")])}),0):_vm._e()])],1):_vm._e(),(_vm.selectedCountry && _vm.agreementTimeZone)?_c('v-row',[_c('v-col',{staticClass:\"font-weight-medium no-padding-bottom small-padding-top\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"SelectAgreementPeriod\"))+\" \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('AgreementStart'),\"zone\":_vm.agreementTimeZone.timeZone},model:{value:(_vm.agreementPeriod.from),callback:function ($$v) {_vm.$set(_vm.agreementPeriod, \"from\", $$v)},expression:\"agreementPeriod.from\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('AgreementEnd'),\"gteDates\":[_vm.agreementPeriod.from],\"zone\":_vm.agreementTimeZone.timeZone},model:{value:(_vm.agreementPeriod.to),callback:function ($$v) {_vm.$set(_vm.agreementPeriod, \"to\", $$v)},expression:\"agreementPeriod.to\"}})],1)],1):_vm._e(),(_vm.cargoType && _vm.agreementPeriod.from && _vm.agreementPeriod.to)?_c('v-row',[_c('v-col',{staticClass:\"font-weight-medium no-padding-bottom small-padding-top\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"SelectTermsOfAgreement\"))+\" \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DocumentDropdown',{attrs:{\"value\":_vm.documentGroupId,\"label\":_vm.$t('TermsOfAgreement'),\"document-groups\":_vm.documentGroups,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},on:{\"input\":function (v) { return _vm.$emit('documentGroupId', v); }}})],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementCountryToDateDto,\r\n AgreementPeriodDto,\r\n ApiConfiguration,\r\n CargoType,\r\n Country,\r\n DocumentGroupDto,\r\n RepositoryClient,\r\n RepositoryDto,\r\n TimeZone,\r\n TimeZoneDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DocumentDropdown from \"@/components/shared/input/DocumentDropdown.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DatePicker,\r\n Dropdown,\r\n DocumentDropdown\r\n },\r\n props: {\r\n cargoType: Number as () => CargoType,\r\n agreementPeriod: AgreementPeriodDto,\r\n documentGroupId: Number,\r\n agreementCountryToDates: Array as () => AgreementCountryToDateDto[],\r\n documentGroups: Array as () => DocumentGroupDto[],\r\n isWorkingWithDraft: Boolean,\r\n agreementCountry: Number as () => Country\r\n },\r\n watch: {\r\n agreementPeriod: {\r\n handler() {\r\n this.emitValidity();\r\n },\r\n deep: true,\r\n immediate: true\r\n },\r\n cargoType() {\r\n if (!this.isWorkingWithDraft) {\r\n this.agreementPeriod.from = undefined;\r\n this.agreementPeriod.to = undefined;\r\n this.agreementTimeZone = undefined;\r\n }\r\n this.emitValidity();\r\n this.fetchSelectableCountries(this.cargoType);\r\n },\r\n documentGroupId: {\r\n handler() {\r\n this.emitValidity();\r\n },\r\n deep: true,\r\n immediate: true\r\n },\r\n selectedCountry() {\r\n this.agreementTimeZone = undefined;\r\n this.fetchIanaTimeZones();\r\n },\r\n isWorkingWithDraft: {\r\n handler() {\r\n if (this.isWorkingWithDraft) {\r\n this.selectedCountry = this.agreementCountry;\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n sheetHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 278);\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n agreementToDates() {\r\n return (\r\n this.agreementCountryToDates.filter(\r\n x => x.country === this.selectedCountry!\r\n )[0]?.agreementToDates ?? []\r\n );\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n agreementEndText(date: CDate, count: number): string {\r\n return t(\"AgreementEndDates\")\r\n .replace(\"{0}\", date.datePrint())\r\n .replace(\"{1}\", count.toString());\r\n },\r\n emitValidity() {\r\n if (\r\n this.cargoType &&\r\n this.agreementPeriod.from &&\r\n this.agreementPeriod.to &&\r\n this.agreementPeriod.from.isSameOrBefore(this.agreementPeriod.to) &&\r\n this.documentGroupId\r\n ) {\r\n const info = `${this.agreementPeriod.from.datePrint()} - ${this.agreementPeriod.to.datePrint()}`;\r\n this.$emit(\"change\", true, info);\r\n } else {\r\n this.$emit(\"change\", false, undefined);\r\n }\r\n },\r\n fetchSelectableCountries(cargoType: CargoType) {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .countriesOnAgreementroutes(this.cargoType)\r\n .then(res => {\r\n this.selectableCountries = res.map(\r\n c =>\r\n new RepositoryDto({\r\n id: c.id,\r\n text: t(c.text!)\r\n })\r\n );\r\n if (this.selectableCountries.length === 1) {\r\n this.selectedCountry = this.selectableCountries[0].id;\r\n this.$emit(\"selectedCountry\", this.selectedCountry);\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n\r\n this.selectedCountry = undefined;\r\n this.$emit(\"cargoType\", cargoType);\r\n },\r\n fetchIanaTimeZones() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .agreementRouteTimeZones(this.cargoType, this.selectedCountry)\r\n .then(res => {\r\n this.timeZones = res;\r\n if (this.timeZones.length === 1) {\r\n this.agreementTimeZone = this.timeZones[0];\r\n this.$emit(\"agreementTimeZone\", this.agreementTimeZone.timeZone);\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n selectedCountry: Country | undefined;\r\n selectableCountries: RepositoryDto[];\r\n timeZones: TimeZoneDto[];\r\n agreementTimeZone: TimeZoneDto | undefined;\r\n } => ({\r\n selectedCountry: undefined,\r\n selectableCountries: [],\r\n timeZones: [],\r\n agreementTimeZone: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementPeriod.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementPeriod.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementAgreementPeriod.vue?vue&type=template&id=f85a781a&\"\nimport script from \"./CreateProcurementAgreementPeriod.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementAgreementPeriod.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding-top tiniest-padding-sides\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('CreateProcurementAgreementRoutesTable',{attrs:{\"loading\":_vm.loading,\"cargoType\":_vm.cargoType,\"agreementRouteIds\":_vm.agreementRouteIds,\"agreementRoutes\":_vm.agreementRoutes,\"height\":_vm.height,\"mode\":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('v-data-table',{attrs:{\"item-key\":\"id\",\"headers\":_vm.filteredHeaders,\"items\":_vm.sortedRoutes,\"height\":_vm.height,\"loading\":_vm.loading,\"options\":_vm.tableOptions,\"item-class\":function (r) { return (_vm.agreementRouteIds.includes(r.id) ? 'green-row' : ''); },\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.checkbox\",fn:function(){return [_c('v-simple-checkbox',{attrs:{\"value\":_vm.checkAllState === true,\"indeterminate\":_vm.checkAllState === undefined},on:{\"click\":_vm.checkAll}})]},proxy:true},{key:\"filter.routeId\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('RouteID')},model:{value:(_vm.filters.routeId),callback:function ($$v) {_vm.$set(_vm.filters, \"routeId\", $$v)},expression:\"filters.routeId\"}})]},proxy:true},{key:\"filter.pickup\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: true,\n cargoType: _vm.cargoType\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.filters.pickupCounty,\n zipCode: _vm.filters.pickupZipcode,\n countryId: _vm.filters.pickupCountry\n },\"hideCountryFilter\":\"\"},on:{\"input\":function (val) {\n _vm.filters.pickupCounty = val.county;\n _vm.filters.pickupZipcode = val.zipCode;\n _vm.filters.pickupCountry = val.countryId;\n }}})]},proxy:true},{key:\"filter.delivery\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: false,\n cargoType: _vm.cargoType\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.filters.deliveryCounty,\n zipCode: _vm.filters.deliveryZipcode,\n countryId: _vm.filters.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.filters.deliveryCounty = val.county;\n _vm.filters.deliveryZipcode = val.zipCode;\n _vm.filters.deliveryCountry = val.countryId;\n }}})]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},model:{value:(_vm.filters.currency),callback:function ($$v) {_vm.$set(_vm.filters, \"currency\", $$v)},expression:\"filters.currency\"}})]},proxy:true},{key:\"filter.tag\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'tag', cargoType: _vm.cargoType },\"placeholder\":_vm.$t('Tag')},model:{value:(_vm.filters.tag),callback:function ($$v) {_vm.$set(_vm.filters, \"tag\", $$v)},expression:\"filters.tag\"}})]},proxy:true}],null,true)})]}},{key:\"item.checkbox\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-simple-checkbox',{attrs:{\"value\":_vm.agreementRouteIds.includes(item.id)},on:{\"click\":function($event){return _vm.checkOne(item.id)}}})]}},{key:\"item.pickup\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.pickup(item))+\" \")]}},{key:\"item.delivery\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.delivery(item))+\" \")]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}},{key:\"item.agreementTo\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.agreementTo ? item.agreementTo.datePrint() : \"\")+\" \")]}},{key:\"item.specialRequirements\",fn:function(ref){\n var item = ref.item;\nreturn [_c('InfoTooltip',{attrs:{\"text\":item.specialRequirements,\"icon\":\"mdi-exclamation-thick\",\"color\":\"red\"}})]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport { currencyName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport {\r\n AgreementRouteForProcurementDto,\r\n CargoType,\r\n Country,\r\n Currency\r\n} from \"@/scripts/cld.api\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n agreementRoutes: Array as () => AgreementRouteForProcurementDto[],\r\n cargoType: Number as () => CargoType,\r\n agreementRouteIds: Array as () => number[],\r\n height: Number,\r\n mode: Number\r\n },\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n InfoTooltip\r\n },\r\n computed: {\r\n filteredHeaders(): TableHeader[] {\r\n return this.headers.filter(h => (h.id as any).includes(this.mode));\r\n },\r\n filteredRoutes(): AgreementRouteForProcurementDto[] {\r\n return this.agreementRoutes\r\n .filter(\r\n r =>\r\n !this.filters.routeId ||\r\n r.routeId.toString().includes(this.filters.routeId)\r\n )\r\n .filter(\r\n r => !this.filters.currency || r.currency === this.filters.currency\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.pickupCounty ||\r\n r.pickupCounty === this.filters.pickupCounty\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.deliveryCounty ||\r\n r.deliveryCounty === this.filters.deliveryCounty\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.pickupZipcode ||\r\n stringSearchHit(this.filters.pickupZipcode, r.pickupZipcode, true)\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.deliveryZipcode ||\r\n stringSearchHit(\r\n this.filters.deliveryZipcode,\r\n r.deliveryZipcode,\r\n true\r\n )\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.pickupCountry ||\r\n r.pickupCountry === this.filters.pickupCountry\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.deliveryCountry ||\r\n r.deliveryCountry === this.filters.deliveryCountry\r\n )\r\n .filter(\r\n r =>\r\n !this.filters.tag ||\r\n (this.filters.tag === \"null\" && !r.tag) ||\r\n this.filters.tag === r.tag\r\n );\r\n },\r\n sortedRoutes(): AgreementRouteForProcurementDto[] {\r\n let res = [...this.filteredRoutes];\r\n let c: {\r\n (\r\n a: AgreementRouteForProcurementDto,\r\n b: AgreementRouteForProcurementDto\r\n ): number;\r\n };\r\n const sortBy = this.tableOptions.sortBy[0];\r\n const sortDesc = this.tableOptions.sortDesc[0];\r\n switch (sortBy) {\r\n case \"pickup\":\r\n c = (a, b) => stringCompare(this.pickup(a), this.pickup(b));\r\n break;\r\n case \"delivery\":\r\n c = (a, b) => stringCompare(this.delivery(a), this.delivery(b));\r\n break;\r\n default:\r\n c = (a, b) => stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n }\r\n res = res.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) ||\r\n stringCompare(this.pickup(a), this.pickup(b)) ||\r\n stringCompare(this.delivery(a), this.delivery(b))\r\n );\r\n return res;\r\n },\r\n checkAllState(): boolean | undefined {\r\n if (this.agreementRouteIds.length === 0) {\r\n return false;\r\n }\r\n if (this.sortedRoutes.some(r => !this.agreementRouteIds.includes(r.id))) {\r\n return undefined;\r\n }\r\n return true;\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n pickup(route: AgreementRouteForProcurementDto): string {\r\n return `${route.pickupCounty}, ${route.pickupZipcode}, ${isoName(\r\n route.pickupCountry\r\n )}`;\r\n },\r\n delivery(route: AgreementRouteForProcurementDto): string {\r\n return `${route.deliveryCounty}, ${route.deliveryZipcode}, ${isoName(\r\n route.deliveryCountry\r\n )}`;\r\n },\r\n checkOne(id: number) {\r\n if (this.agreementRouteIds.includes(id)) {\r\n this.agreementRouteIds.splice(this.agreementRouteIds.indexOf(id), 1);\r\n } else {\r\n this.agreementRouteIds.push(id);\r\n }\r\n },\r\n checkAll() {\r\n const idsVisible = this.sortedRoutes.map(r => r.id);\r\n const selectedIdsNotVisible = this.agreementRouteIds.filter(\r\n id => !idsVisible.includes(id)\r\n );\r\n const state = this.checkAllState;\r\n this.agreementRouteIds.splice(0);\r\n this.agreementRouteIds.push(...selectedIdsNotVisible);\r\n if (state !== true) {\r\n this.agreementRouteIds.push(...idsVisible);\r\n }\r\n }\r\n },\r\n data: (): {\r\n headers: TableHeader[];\r\n filters: {\r\n routeId: string;\r\n pickupCounty: string;\r\n pickupZipcode: string;\r\n pickupCountry: Country | undefined;\r\n deliveryCounty: string;\r\n deliveryZipcode: string;\r\n deliveryCountry: Country | undefined;\r\n currency: Currency | undefined;\r\n tag: string | undefined;\r\n };\r\n tableOptions: TableOptions;\r\n } => ({\r\n headers: [\r\n {\r\n value: \"checkbox\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 50,\r\n id: [1] as any\r\n },\r\n {\r\n value: \"routeId\",\r\n text: \"RouteID\",\r\n sortValue: true,\r\n width: 90,\r\n id: [1, 2] as any\r\n },\r\n {\r\n value: \"pickup\",\r\n text: \"PickupLocation\",\r\n sortValue: true,\r\n id: [1, 2, 3] as any\r\n },\r\n {\r\n value: \"delivery\",\r\n text: \"DeliveryLocation\",\r\n sortValue: true,\r\n id: [1, 2, 3] as any\r\n },\r\n {\r\n value: \"currency\",\r\n text: \"Currency\",\r\n sortValue: true,\r\n width: 90,\r\n id: [1, 2] as any\r\n },\r\n {\r\n value: \"estimatedNoOfLoads\",\r\n text: \"NumberOfEstimatedLoads\",\r\n sortValue: true,\r\n width: 1,\r\n id: [1, 2] as any\r\n },\r\n {\r\n value: \"specialRequirements\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 50,\r\n id: [1, 2] as any\r\n },\r\n { value: \"agreementTo\", text: \"AgreementEnds\", id: [1] as any },\r\n {\r\n value: \"tag\",\r\n text: \"Tag\",\r\n sortValue: true,\r\n width: 120,\r\n id: [1] as any\r\n }\r\n ],\r\n filters: {\r\n routeId: \"\",\r\n pickupCounty: \"\",\r\n pickupZipcode: \"\",\r\n pickupCountry: undefined,\r\n deliveryCounty: \"\",\r\n deliveryZipcode: \"\",\r\n deliveryCountry: undefined,\r\n currency: undefined,\r\n tag: undefined\r\n },\r\n tableOptions: new TableOptions({\r\n itemsPerPage: -1,\r\n sortBy: [\"pickup\"],\r\n sortDesc: [false]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementRoutesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementRoutesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementAgreementRoutesTable.vue?vue&type=template&id=56060602&\"\nimport script from \"./CreateProcurementAgreementRoutesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementAgreementRoutesTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\ninstallComponents(component, {VDataTable,VSimpleCheckbox})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteForProcurementDto,\r\n CargoType,\r\n Country\r\n} from \"@/scripts/cld.api\";\r\nimport CreateProcurementAgreementRoutesTable from \"@/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n cargoType: Number as () => CargoType,\r\n agreementRouteIds: Array as () => number[],\r\n agreementRoutes: Array as () => AgreementRouteForProcurementDto[],\r\n height: Number\r\n },\r\n components: {\r\n CreateProcurementAgreementRoutesTable\r\n },\r\n watch: {\r\n agreementRouteIds: {\r\n handler() {\r\n this.$emit(\r\n \"change\",\r\n this.agreementRouteIds.length > 0,\r\n this.agreementRouteIds.length\r\n );\r\n },\r\n immediate: true\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementRoutes.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementRoutes.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementAgreementRoutes.vue?vue&type=template&id=b994dc86&\"\nimport script from \"./CreateProcurementAgreementRoutes.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementAgreementRoutes.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"medium-padding-sides\",attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.sheetHeight}},[_c('v-row',[_c('v-col',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"ProcurementPeriods\"))+\" \")])],1),_vm._l((_vm.procurementPeriods),function(period){return _c('div',{key:period.number},[(_vm.pauseText(period.number))?_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-vertical-padding no-padding-right transparent\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" 1. \")]),_c('v-col',{staticClass:\"no-vertical-padding large-padding-sides\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"card-cyan rounded small-padding text-center\"},[_vm._v(\" \"+_vm._s(_vm.pauseText(period.number))+\" \")])])],1):_vm._e(),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(period.number)+\". \")]),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('FromWithInitialCaps'),\"gteDates\":[_vm.fromGte(period.number)],\"zone\":_vm.procurementTimeZone,\"asterisk\":\"\"},model:{value:(period.from),callback:function ($$v) {_vm.$set(period, \"from\", $$v)},expression:\"period.from\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('ToWithInitialCaps'),\"gteDates\":[_vm.today, period.from],\"zone\":_vm.procurementTimeZone,\"asterisk\":\"\"},model:{value:(period.to),callback:function ($$v) {_vm.$set(period, \"to\", $$v)},expression:\"period.to\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('RankingMethod'),\"items\":_vm.rankingMethods,\"rules\":[function (v) { return v !== undefined && v !== null; }],\"asterisk\":\"\"},model:{value:(period.rankingMethod),callback:function ($$v) {_vm.$set(period, \"rankingMethod\", $$v)},expression:\"period.rankingMethod\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[(_vm.qpRanking(period))?_c('div',[_c('DatePicker',{attrs:{\"label\":_vm.$t('QualityPointsFrom'),\"zone\":_vm.procurementTimeZone},model:{value:(period.qualityPointsFrom),callback:function ($$v) {_vm.$set(period, \"qualityPointsFrom\", $$v)},expression:\"period.qualityPointsFrom\"}})],1):_vm._e()]),_c('v-col',{attrs:{\"cols\":\"2\"}},[(_vm.qpRanking(period))?_c('div',[_c('DatePicker',{attrs:{\"label\":_vm.$t('QualityPointsTo'),\"gteDates\":[period.qualityPointsFrom],\"zone\":_vm.procurementTimeZone},model:{value:(period.qualityPointsTo),callback:function ($$v) {_vm.$set(period, \"qualityPointsTo\", $$v)},expression:\"period.qualityPointsTo\"}})],1):_vm._e()]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[(period === _vm.lastPeriod && period.number !== 1)?_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":_vm.removePeriod}},[_c('v-icon',[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Delete\"))+\" \")],1):_vm._e()],1)],1)],1)}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"disabled\":!_vm.valid},on:{\"click\":_vm.addPeriod}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"AdditionalProcurementPeriod\"))+\" \")],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.baseIndexText)+\" \")])],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ProcurementPeriodDto,\r\n RankingMethod,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { rankingMethods } from \"@/scripts/misc/enumLists\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n procurementPeriods: Array as () => ProcurementPeriodDto[],\r\n baseIndexText: String\r\n },\r\n components: {\r\n DatePicker,\r\n Dropdown\r\n },\r\n watch: {\r\n procurementPeriods: {\r\n handler() {\r\n this.$emit(\"change\", this.valid, this.procurementPeriods.length);\r\n this.fixDates();\r\n },\r\n deep: true,\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n sheetHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 278);\r\n },\r\n lastPeriod(): ProcurementPeriodDto {\r\n return this.procurementPeriods[this.procurementPeriods.length - 1];\r\n },\r\n valid(): boolean {\r\n return this.procurementPeriods.every(\r\n p =>\r\n p.rankingMethod !== undefined && p.from && p.to && p.to >= this.today\r\n );\r\n },\r\n today(): CDate {\r\n return CDate.now(TimeZone.Europe_Stockholm).startOfDay();\r\n }\r\n },\r\n methods: {\r\n pauseDuration(period: number): number {\r\n if (period === 1) {\r\n return 0;\r\n }\r\n const pauseStart = this.procurementPeriods[period - 2].to;\r\n const pauseEnd = this.procurementPeriods[period - 1].from;\r\n if (pauseStart && pauseEnd) {\r\n return pauseEnd.daysBetween(pauseStart) - 1;\r\n }\r\n return 0;\r\n },\r\n pauseText(period: number): string {\r\n const pauseDuration = this.pauseDuration(period);\r\n if (pauseDuration > 0) {\r\n return t(\"PauseXDays\").replace(\"{0}\", pauseDuration.toString());\r\n }\r\n return \"\";\r\n },\r\n fromGte(period: number): CDate | undefined {\r\n if (period === 1) {\r\n return undefined;\r\n }\r\n return this.procurementPeriods[period - 2].to.endOfDay();\r\n },\r\n qpRanking(period: ProcurementPeriodDto): boolean {\r\n return period.rankingMethod === RankingMethod.QualityPoints;\r\n },\r\n addPeriod() {\r\n this.procurementPeriods.push(\r\n new ProcurementPeriodDto({\r\n number: this.lastPeriod.number + 1,\r\n from: undefined as any,\r\n to: undefined as any,\r\n rankingMethod: undefined as any,\r\n qualityPointsFrom: undefined as any,\r\n qualityPointsTo: undefined as any\r\n })\r\n );\r\n },\r\n removePeriod() {\r\n this.procurementPeriods.pop();\r\n },\r\n fixDates() {\r\n this.procurementPeriods.map(p => {\r\n const prevPeriod = this.procurementPeriods[p.number - 2];\r\n if (prevPeriod && (!p.from || p.from.isSameOrBefore(prevPeriod.to))) {\r\n p.from = prevPeriod.to.addDays(1);\r\n }\r\n if (p.from) {\r\n if (!p.to || p.to.isBefore(p.from)) {\r\n p.to = p.from;\r\n }\r\n if (!p.qualityPointsFrom) {\r\n p.qualityPointsFrom = p.to.addYears(-1);\r\n }\r\n if (\r\n !p.qualityPointsTo ||\r\n p.qualityPointsTo.isBefore(p.qualityPointsFrom)\r\n ) {\r\n p.qualityPointsTo = p.qualityPointsFrom.addYears(1);\r\n }\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n rankingMethods: RepositoryDto[];\r\n procurementTimeZone: TimeZone;\r\n } => ({\r\n rankingMethods: rankingMethods(),\r\n procurementTimeZone: TimeZone.Europe_Stockholm\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementProcurementPeriods.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementProcurementPeriods.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementProcurementPeriods.vue?vue&type=template&id=3a3e6ee4&\"\nimport script from \"./CreateProcurementProcurementPeriods.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementProcurementPeriods.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('SearchCard',{attrs:{\"title\":((_vm.$t('NotInvited')) + \" (\" + (_vm.excluded.length) + \")\"),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SupplierSelectTable',{attrs:{\"suppliers\":_vm.filteredExcluded,\"qualityPoints\":_vm.qualityPoints,\"filter\":_vm.excludedFilter,\"mode\":\"excluded\"},on:{\"click\":function (id) { return _vm.include(id); },\"filter\":function (f) { return (_vm.excludedFilter = f); }}})]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":_vm.includeFiltered}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-chevron-triple-right\")])],1)],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"large\":\"\"},on:{\"click\":_vm.excludeFiltered}},[_c('v-icon',{attrs:{\"large\":\"\"}},[_vm._v(\"mdi-chevron-triple-left\")])],1)],1),_c('v-spacer')],1)],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('SearchCard',{attrs:{\"title\":((_vm.$t('Invited')) + \" (\" + (_vm.included.length) + \")\"),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SupplierSelectTable',{attrs:{\"suppliers\":_vm.filteredIncluded,\"qualityPoints\":_vm.qualityPoints,\"filter\":_vm.includedFilter,\"mode\":\"included\"},on:{\"click\":function (id) { return _vm.exclude(id); },\"filter\":function (f) { return (_vm.includedFilter = f); }}})]},proxy:true}])})],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\r\nimport Vue from \"vue\";\r\nimport { QualityPointsPastYearDto, RepositoryDto } from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport SupplierSelectTable from \"@/components/web/agreements/client/SupplierSelectTable.vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n SupplierSelectTable\r\n },\r\n props: {\r\n supplierIds: Array as () => number[],\r\n suppliers: Array as () => RepositoryDto[],\r\n qualityPoints: Array as () => QualityPointsPastYearDto[]\r\n },\r\n watch: {\r\n supplierIds: {\r\n handler() {\r\n this.$emit(\r\n \"change\",\r\n this.supplierIds.length > 0,\r\n this.supplierIds.length\r\n );\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n included(): RepositoryDto[] {\r\n return this.suppliers.filter(s => this.supplierIds.includes(s.id));\r\n },\r\n excluded(): RepositoryDto[] {\r\n return this.suppliers.filter(s => !this.supplierIds.includes(s.id));\r\n },\r\n filteredIncluded(): RepositoryDto[] {\r\n return this.included.filter(s =>\r\n stringSearchHit(this.includedFilter, s.text, false)\r\n );\r\n },\r\n filteredExcluded(): RepositoryDto[] {\r\n return this.excluded.filter(s =>\r\n stringSearchHit(this.excludedFilter, s.text, false)\r\n );\r\n }\r\n },\r\n methods: {\r\n include(id: number) {\r\n this.supplierIds.push(id);\r\n },\r\n exclude(id: number) {\r\n this.supplierIds.splice(this.supplierIds.indexOf(id), 1);\r\n },\r\n includeFiltered() {\r\n this.supplierIds.push(...this.filteredExcluded.map(s => s.id));\r\n },\r\n excludeFiltered() {\r\n const keep = this.supplierIds.filter(\r\n s => !this.filteredIncluded.map(x => x.id).includes(s)\r\n );\r\n this.supplierIds.splice(0);\r\n this.supplierIds.push(...keep);\r\n }\r\n },\r\n data: (): {\r\n includedFilter: string;\r\n excludedFilter: string;\r\n } => ({\r\n includedFilter: \"\",\r\n excludedFilter: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementSuppliers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementSuppliers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementSuppliers.vue?vue&type=template&id=107cd4f4&\"\nimport script from \"./CreateProcurementSuppliers.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementSuppliers.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"medium-padding-sides\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"small-padding-left tiny-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-margin-left\"},[_c('GreyTitle',{staticClass:\"small-margin-top\",attrs:{\"text\":_vm.$t('AgreementPeriod')}}),_c('v-data-table',{attrs:{\"headers\":[\n {\n value: 'from',\n text: 'FromWithInitialCaps',\n width: 88\n },\n {\n value: 'dash',\n text: '',\n untranslated: true,\n width: 16\n },\n { value: 'to', text: 'ToWithInitialCaps' }\n ],\"items\":[_vm.procurement.agreementPeriod],\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.from\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.from.datePrint())+\" \")]}},{key:\"item.dash\",fn:function(){return [_vm._v(\" - \")]},proxy:true},{key:\"item.to\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.to.datePrint())+\" \")]}}],null,true)}),_c('GreyTitle',{staticClass:\"small-margin-top\",attrs:{\"text\":_vm.$t('ProcurementPeriods')}}),_c('v-data-table',{attrs:{\"headers\":[\n {\n value: 'from',\n text: 'FromWithInitialCaps',\n width: 88\n },\n {\n value: 'dash',\n text: '',\n untranslated: true,\n width: 16\n },\n {\n value: 'to',\n text: 'ToWithInitialCaps',\n width: 100\n },\n { value: 'method', text: 'RankingMethod' }\n ],\"items\":_vm.procurement.procurementPeriods,\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.from\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.from.datePrint())+\" \")]}},{key:\"item.dash\",fn:function(){return [_vm._v(\" - \")]},proxy:true},{key:\"item.to\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.to.datePrint())+\" \")]}},{key:\"item.method\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.rankingMethodName(item.rankingMethod))+\" \")]}}],null,true)}),(_vm.baseIndexText)?_c('GreyTitle',{staticClass:\"small-vertical-margin\",attrs:{\"text\":_vm.$t('BaseIndex')}}):_vm._e(),(_vm.baseIndexText)?_c('div',{staticClass:\"small-padding-left\"},[_vm._v(\" \"+_vm._s(_vm.baseIndexText)+\" \")]):_vm._e(),_c('GreyTitle',{staticClass:\"small-vertical-margin\",attrs:{\"text\":_vm.$t('Tag')}}),_vm._l((_vm.tagGroups),function(g){return _c('div',{key:g.tag,staticClass:\"small-padding-left\"},[_vm._v(\" \"+_vm._s(_vm.routesWithTagText(g.count, g.tag))+\" \")])}),_c('GreyTitle',{staticClass:\"small-vertical-margin\",attrs:{\"text\":_vm.$t('Documents')}}),_c('div',{staticClass:\"small-padding-left tiny-padding-top\"},[_c('DocumentDropdown',{attrs:{\"label\":_vm.$t('TermsOfAgreement'),\"document-groups\":_vm.documentGroups,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.procurement.documentGroupId),callback:function ($$v) {_vm.$set(_vm.procurement, \"documentGroupId\", $$v)},expression:\"procurement.documentGroupId\"}})],1),_c('GreyTitle',{staticClass:\"small-margin-bottom medium-margin-top\",attrs:{\"text\":_vm.$t('MessageToSuppliers')}}),_c('TextMulti',{attrs:{\"rows\":5,\"placeholder\":((_vm.$t('MessageToSuppliers')) + \"...\"),\"rules\":[function (v) { return !v || v.length < 5000 || _vm.$t('Max') + ' 5000'; }],\"max-length\":5000,\"only-on-blur\":\"\"},model:{value:(_vm.procurement.message),callback:function ($$v) {_vm.$set(_vm.procurement, \"message\", $$v)},expression:\"procurement.message\"}})],2)]),_c('v-col',{staticClass:\"tiny-padding-top tiniest-padding-sides tiniest-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('GreyTitle',{staticClass:\"small-margin-top\",attrs:{\"text\":_vm.$t('AgreementRoutes')}}),_c('CreateProcurementAgreementRoutesTable',{attrs:{\"cargoType\":_vm.procurement.cargoType,\"agreementRouteIds\":[],\"agreementRoutes\":_vm.agreementRoutes.filter(function (r) { return _vm.agreementRouteIds.includes(r.id); }),\"height\":_vm.listHeight,\"mode\":3}}),_c('GreyTitle',{staticClass:\"small-margin-top\",attrs:{\"text\":_vm.$t('Suppliers')}}),_c('v-list',{staticClass:\"scrollable no-vertical-padding\",attrs:{\"height\":_vm.listHeight}},_vm._l((_vm.suppliers.filter(function (s) { return _vm.supplierIds.includes(s.id); })),function(s){return _c('div',{key:s.id},[_c('v-list-item',[_c('v-list-item-content',[_c('span',{staticClass:\"body-2\"},[_vm._v(_vm._s(s.text))])])],1),_c('v-divider')],1)}),0)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteForProcurementDto,\r\n DocumentGroupDto,\r\n RepositoryDto,\r\n SaveProcurementDto\r\n} from \"@/scripts/cld.api\";\r\nimport CreateProcurementAgreementRoutesTable from \"@/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport DocumentDropdown from \"@/components/shared/input/DocumentDropdown.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport { rankingMethodName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n procurement: SaveProcurementDto,\r\n agreementRoutes: Array as () => AgreementRouteForProcurementDto[],\r\n suppliers: Array as () => RepositoryDto[],\r\n documentGroups: Array as () => DocumentGroupDto[],\r\n baseIndexText: String\r\n },\r\n components: {\r\n GreyTitle,\r\n TextMulti,\r\n CreateProcurementAgreementRoutesTable,\r\n CustomTableHeader,\r\n DocumentDropdown\r\n },\r\n computed: {\r\n listHeight(): number {\r\n return Math.max(\r\n 200,\r\n (this.$store.getters[gets.dimensions].height - 353) / 2\r\n );\r\n },\r\n tagGroups(): { tag: string; count: number }[] {\r\n const agreementRoutes = this.agreementRoutes.filter(r =>\r\n this.procurement.agreementRouteIds!.includes(r.id)\r\n );\r\n const tags = [...new Set(agreementRoutes.map(r => r.tag))];\r\n return tags.map(x => ({\r\n tag: x || t(\"NoTag\"),\r\n count: agreementRoutes.filter(r => r.tag === x).length\r\n }));\r\n },\r\n supplierIds(): number[] {\r\n return this.procurement.supplierIds!;\r\n },\r\n agreementRouteIds(): number[] {\r\n return this.procurement.agreementRouteIds!;\r\n }\r\n },\r\n methods: {\r\n rankingMethodName: rankingMethodName,\r\n routesWithTagText(count: number, tag: string): string {\r\n return t(\"XRoutesWithTag\")\r\n .replace(\"{0}\", count.toString())\r\n .replace(\"{1}\", tag);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementReview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementReview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementReview.vue?vue&type=template&id=1762b697&scoped=true&\"\nimport script from \"./CreateProcurementReview.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementReview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./CreateProcurementReview.vue?vue&type=style&index=0&id=1762b697&scoped=true&lang=css&\"\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 \"1762b697\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VDataTable,VDivider,VList,VListItem,VListItemContent,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('SelectedAgreementRoutes'),\"width\":900},on:{\"close\":function($event){return _vm.$emit('close')}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('CreateProcurementAgreementRoutesTable',{attrs:{\"agreementRoutes\":_vm.agreementRoutes,\"cargoType\":_vm.cargoType,\"agreementRouteIds\":[],\"height\":_vm.height,\"mode\":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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport CreateProcurementAgreementRoutesTable from \"@/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue\";\r\nimport { AgreementRouteForProcurementDto, CargoType } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n CreateProcurementAgreementRoutesTable\r\n },\r\n props: {\r\n dialog: Boolean,\r\n cargoType: Number as () => CargoType,\r\n agreementRoutes: Array as () => AgreementRouteForProcurementDto[],\r\n height: Number\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementRoutesDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurementAgreementRoutesDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurementAgreementRoutesDialog.vue?vue&type=template&id=e9e5bbb6&\"\nimport script from \"./CreateProcurementAgreementRoutesDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurementAgreementRoutesDialog.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport CreateProcurementAgreementPeriod from \"@/components/web/agreements/client/CreateProcurementAgreementPeriod.vue\";\r\nimport CreateProcurementAgreementRoutes from \"@/components/web/agreements/client/CreateProcurementAgreementRoutes.vue\";\r\nimport CreateProcurementProcurementPeriods from \"@/components/web/agreements/client/CreateProcurementProcurementPeriods.vue\";\r\nimport CreateProcurementSuppliers from \"@/components/web/agreements/client/CreateProcurementSuppliers.vue\";\r\nimport CreateProcurementReview from \"@/components/web/agreements/client/CreateProcurementReview.vue\";\r\nimport CreateProcurementAgreementRoutesDialog from \"@/components/web/agreements/client/CreateProcurementAgreementRoutesDialog.vue\";\r\nimport {\r\n ActorType,\r\n AgreementCountryToDateDto,\r\n AgreementPeriodDto,\r\n AgreementRouteForProcurementDto,\r\n AgreementRouteForProcurementSearchCriteria,\r\n AgreementRoutesClient,\r\n AgreementsClientClient,\r\n ApiConfiguration,\r\n BaseIndexPeriodSearchCriteria,\r\n CargoType,\r\n Country,\r\n DocType,\r\n DocumentGroupDto,\r\n DocumentsClient,\r\n ProcurementPeriodDto,\r\n ProcurementsClientClient,\r\n QualityPointsClientClient,\r\n QualityPointsPastYearDto,\r\n RepositoryClient,\r\n RepositoryDto,\r\n SaveProcurementDto,\r\n UserConfigurationType,\r\n ValidateAgreementRoutesSearchCriteria\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { UserConfigurationEntry } from \"@/scripts/store/userConfModule\";\r\nimport { alertDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { isoName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n CreateProcurementAgreementPeriod,\r\n CreateProcurementAgreementRoutes,\r\n CreateProcurementProcurementPeriods,\r\n CreateProcurementAgreementRoutesDialog,\r\n CreateProcurementSuppliers,\r\n CreateProcurementReview\r\n },\r\n watch: {\r\n valuesAffectingDbFetch: {\r\n handler() {\r\n if (this.procurement.agreementPeriod!.from) {\r\n this.fetchQualityPoints();\r\n this.fetchAgreementRoutes();\r\n this.fetchSuppliers();\r\n this.fetchDocumentGroups();\r\n this.validateLists();\r\n }\r\n },\r\n immediate: true,\r\n deep: true\r\n },\r\n procurementStart: {\r\n handler() {\r\n this.fetchBaseIndexName();\r\n },\r\n immediate: true\r\n },\r\n \"procurement.cargoType\": {\r\n handler() {\r\n this.fetchAgreementToDates();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n valuesAffectingDbFetch(): any[] {\r\n return [\r\n this.procurement.cargoType,\r\n this.procurement.agreementPeriod!.from,\r\n this.procurement.timeZone,\r\n this.procurement.country\r\n ];\r\n },\r\n procurementStart(): CDate | undefined {\r\n if (!this.procurement.procurementPeriods!.length) {\r\n return undefined;\r\n }\r\n return this.procurement.procurementPeriods![0].from;\r\n },\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 278);\r\n },\r\n nextEnabled(): boolean {\r\n return this.steps.every(s => s.id > this.currentStep || s.completed);\r\n },\r\n draft(): SaveProcurementDto {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ProcurementDraft,\r\n 1\r\n );\r\n },\r\n routesForDialog(): AgreementRouteForProcurementDto[] {\r\n return this.agreementRoutes.filter(r =>\r\n this.procurement.agreementRouteIds!.includes(r.id)\r\n );\r\n },\r\n title() {\r\n return `${t(\"CreateProcurement\")} ${\r\n this.procurement.country ? `- ${isoName(this.procurement.country)}` : \"\"\r\n }`;\r\n }\r\n },\r\n methods: {\r\n loadDraft() {\r\n this.procurement = this.draft;\r\n this.isWorkingWithDraft = true;\r\n },\r\n saveDraft() {\r\n this.saveDraftInProgress = true;\r\n this.isWorkingWithDraft = true;\r\n const entry: UserConfigurationEntry = {\r\n type: UserConfigurationType.ProcurementDraft,\r\n subTypeId: 1,\r\n conf: this.procurement\r\n };\r\n this.$store.commit(mutations.setUserConf, entry);\r\n this.storeDraft();\r\n },\r\n removeDraft() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.ProcurementDraft,\r\n subTypeId: 1,\r\n actorType: ActorType.Client\r\n })\r\n .then(() => {\r\n this.storeDraft();\r\n });\r\n },\r\n storeDraft() {\r\n this.$store\r\n .dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ProcurementDraft,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.saveDraftInProgress = false;\r\n });\r\n },\r\n goToProcurements() {\r\n this.$router.push(\r\n \"/procurements?cargoType=\" + this.procurement.cargoType\r\n );\r\n },\r\n createProcurement() {\r\n popupDialog({\r\n title: t(\"CreateProcurement\"),\r\n body: t(\"CreateProcurementConfirmation\"),\r\n btnText1: t(\"CreateProcurement\"),\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.actuallyCreateProcurement();\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnColor2: \"warning\",\r\n btnCallback2: () => {}\r\n });\r\n },\r\n actuallyCreateProcurement() {\r\n this.loadingSemaphore++;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .createProcurement(this.procurement)\r\n .then(() => {\r\n this.procurementCreated = true;\r\n pushNotification(t(\"Created\") + \"!\", \"mdi-text-box\");\r\n if (this.isWorkingWithDraft) {\r\n this.removeDraft();\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n resetPage() {\r\n window.location.href = \"/create-procurement\";\r\n },\r\n completed(step: number) {\r\n return this.steps[step - 1].completed && this.currentStep > step;\r\n },\r\n color(step: number): string {\r\n return this.completed(step) ? \"success\" : \"cyan darken-1\";\r\n },\r\n change(step: number, completed: boolean, info: string | undefined) {\r\n this.steps[step - 1].completed = completed;\r\n this.steps[step - 1].info = info;\r\n },\r\n fetchAgreementRoutes() {\r\n this.loadingSemaphore++;\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .listForProcurement(\r\n new AgreementRouteForProcurementSearchCriteria({\r\n cargoType: this.procurement.cargoType,\r\n agreementStart: this.procurement.agreementPeriod!.from,\r\n country: this.procurement.country,\r\n timeZone: this.procurement.timeZone\r\n })\r\n )\r\n .then(res => {\r\n this.agreementRoutes = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSuppliers() {\r\n this.loadingSemaphore++;\r\n new AgreementRoutesClient(new ApiConfiguration(this.$store))\r\n .suppliersForProcurement(this.procurement.cargoType)\r\n .then(res => {\r\n this.suppliers = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchAgreementToDates() {\r\n if (!this.procurement.cargoType) {\r\n return;\r\n }\r\n this.loadingSemaphore++;\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .agreementToDates(this.procurement.cargoType)\r\n .then(res => {\r\n this.agreementCountryToDates = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchQualityPoints() {\r\n this.loadingSemaphore++;\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .qualityPointsPastYear(this.procurement.cargoType)\r\n .then(res => {\r\n this.qualityPoints = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDocumentGroups() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .list(DocType.TermsOfAgreement, false)\r\n .then(res => {\r\n this.documentGroups = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchBaseIndexName() {\r\n if (\r\n !this.procurementStart ||\r\n this.procurement.cargoType !== CargoType.Road\r\n ) {\r\n this.baseIndexText = undefined;\r\n return;\r\n }\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .baseIndexPeriodByValidDate(\r\n new BaseIndexPeriodSearchCriteria({\r\n validDate: this.procurementStart\r\n })\r\n )\r\n .then(res => {\r\n this.baseIndexText = t(\"IndexUsedAsBaseindex\").replace(\r\n \"{0}\",\r\n res.displayName!\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n validateLists() {\r\n if (this.procurement.supplierIds!.length > 0) {\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .validateSuppliers(\r\n this.procurement.cargoType,\r\n this.procurement.supplierIds!\r\n )\r\n .then(res => {\r\n this.procurement.supplierIds = res\r\n .filter(r => r.valid)\r\n .map(r => r.supplierId);\r\n const invalid = res.filter(r => !r.valid);\r\n if (invalid.length === 0) {\r\n return;\r\n }\r\n alertDialog(\r\n t(\"Suppliers\"),\r\n t(\"SuppliersCantBeIncluded\") +\r\n \": \\n\\n\" +\r\n invalid.map(r => r.name).join(\"\\n\")\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n if (this.procurement.agreementRouteIds!.length > 0) {\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .validateAgreementroutes(\r\n new ValidateAgreementRoutesSearchCriteria({\r\n agreementRouteIds: this.procurement.agreementRouteIds!,\r\n agreementRouteForProcurementSearchCriteria: new AgreementRouteForProcurementSearchCriteria(\r\n {\r\n cargoType: this.procurement.cargoType,\r\n agreementStart: this.procurement.agreementPeriod!.from,\r\n country: this.procurement.country,\r\n timeZone: this.procurement.timeZone\r\n }\r\n )\r\n })\r\n )\r\n .then(res => {\r\n this.procurement.agreementRouteIds = res\r\n .filter(r => r.valid)\r\n .map(r => r.agreementRouteId);\r\n const invalid = res\r\n .filter(r => !r.valid)\r\n .sort((a, b) =>\r\n stringCompare(a.reason! + a.name, b.reason! + b.name)\r\n );\r\n if (invalid.length === 0) {\r\n return;\r\n }\r\n alertDialog(\r\n t(\"AgreementRoutes\"),\r\n t(\"AgreementRoutesCantBeIncluded\") +\r\n \": \\n\\n\" +\r\n invalid.map(r => r.reason + \" : \" + r.name).join(\"\\n\"),\r\n 800\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n }\r\n },\r\n data: (): {\r\n procurementCreated: boolean;\r\n loadingSemaphore: number;\r\n saveDraftInProgress: boolean;\r\n isWorkingWithDraft: boolean;\r\n currentStep: number;\r\n routesDialog: boolean;\r\n baseIndexText: string | undefined;\r\n agreementCountryToDates: AgreementCountryToDateDto[];\r\n agreementRoutes: AgreementRouteForProcurementDto[];\r\n suppliers: RepositoryDto[];\r\n qualityPoints: QualityPointsPastYearDto[];\r\n documentGroups: DocumentGroupDto[];\r\n steps: {\r\n id: number;\r\n name: string;\r\n info: string | undefined;\r\n completed: boolean;\r\n }[];\r\n procurement: SaveProcurementDto;\r\n } => ({\r\n procurementCreated: false,\r\n loadingSemaphore: 0,\r\n saveDraftInProgress: false,\r\n isWorkingWithDraft: false,\r\n currentStep: 1,\r\n routesDialog: false,\r\n baseIndexText: undefined,\r\n agreementCountryToDates: [],\r\n agreementRoutes: [],\r\n suppliers: [],\r\n qualityPoints: [],\r\n documentGroups: [],\r\n steps: [\r\n { id: 1, name: t(\"AgreementPeriod\"), info: undefined, completed: false },\r\n { id: 2, name: t(\"AgreementRoutes\"), info: undefined, completed: false },\r\n {\r\n id: 3,\r\n name: t(\"ProcurementPeriods\"),\r\n info: undefined,\r\n completed: false\r\n },\r\n { id: 4, name: t(\"Suppliers\"), info: undefined, completed: false },\r\n {\r\n id: 5,\r\n name: t(\"Finish\"),\r\n info: undefined,\r\n completed: false\r\n }\r\n ],\r\n procurement: new SaveProcurementDto({\r\n cargoType: undefined as any,\r\n timeZone: undefined as any,\r\n country: undefined as any,\r\n message: \"\",\r\n documentGroupId: undefined as any,\r\n agreementRouteIds: [],\r\n supplierIds: [],\r\n agreementPeriod: new AgreementPeriodDto({\r\n from: undefined as any,\r\n to: undefined as any\r\n }),\r\n procurementPeriods: [\r\n new ProcurementPeriodDto({\r\n number: 1,\r\n from: undefined as any,\r\n to: undefined as any,\r\n rankingMethod: undefined as any,\r\n qualityPointsFrom: undefined as any,\r\n qualityPointsTo: undefined as any\r\n })\r\n ]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurement.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CreateProcurement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CreateProcurement.vue?vue&type=template&id=1c3adc48&\"\nimport script from \"./CreateProcurement.vue?vue&type=script&lang=ts&\"\nexport * from \"./CreateProcurement.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VStepper } from 'vuetify/lib/components/VStepper';\nimport { VStepperHeader } from 'vuetify/lib/components/VStepper';\nimport { VStepperStep } from 'vuetify/lib/components/VStepper';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCol,VDivider,VIcon,VRow,VSheet,VSpacer,VStepper,VStepperHeader,VStepperStep,VTabItem,VTabsItems})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!isNaN(_vm.cargoTypeId))?_c('div',[(!_vm.rankingDialog)?_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementSearch',{attrs:{\"type\":\"procurements\",\"cargoType\":_vm.cargoTypeId},on:{\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ProcurementTable',{attrs:{\"cargoTypeId\":_vm.cargoTypeId,\"loading\":!!_vm.loading,\"agreements\":_vm.agreements,\"loadingText\":_vm.loadingText,\"tableOptions\":_vm.tableOptions,\"expandedAgreements\":_vm.expandedAgreements,\"selectedAgreements\":_vm.selectedAgreements},on:{\"search\":_vm.search,\"tableOptionsChanged\":_vm.tableOptionsChanged,\"selectedAgreementsChanged\":_vm.selectedAgreementsChanged,\"agreementExpanded\":_vm.agreementExpanded,\"openRankingDialog\":_vm.openRankingDialog}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ProcurementActions',{attrs:{\"suppliers\":_vm.suppliers,\"selectedAgreements\":_vm.selectedAgreements},on:{\"openRankingDialog\":_vm.openRankingDialog,\"openNewProcurementPeriodDialog\":_vm.openNewProcurementPeriodDialog,\"rankByQP\":_vm.rankByQP,\"rankByPrice\":_vm.rankByPrice,\"createAgreement\":_vm.createAgreement,\"removeSupplier\":_vm.removeSupplier}})],1)],1):_vm._e(),_c('RankingDialog',{attrs:{\"type\":\"procurements\",\"dialog\":_vm.rankingDialog,\"selectedAgreementIds\":_vm.selectedAgreementIds,\"selectedAgreementIndex\":_vm.selectedAgreementIndex,\"cargoTypeId\":_vm.cargoTypeId,\"maxRanking\":_vm.maxRanking},on:{\"closeDialog\":_vm.closeRankingDialog,\"changeAgreement\":_vm.changeDialogAgreement,\"removeAgreementFromSelection\":_vm.removeAgreementFromSelection}}),_c('NewProcurementPeriodDialog',{attrs:{\"selectedAgreements\":_vm.selectedAgreements,\"dialog\":_vm.newProcurementPeriodDialog},on:{\"closeDialog\":_vm.closeNewProcurementPeriodDialog}})],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('SearchCard',{attrs:{\"title\":_vm.title,\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [(_vm.type !== _vm.types.agreements)?_c('v-switch',{attrs:{\"label\":_vm.$t('Overview'),\"hide-details\":\"\"},model:{value:(_vm.overviewSwitchValue),callback:function ($$v) {_vm.overviewSwitchValue=$$v},expression:\"overviewSwitchValue\"}}):_vm._e()]},proxy:true},{key:\"head-right\",fn:function(){return [(_vm.type !== _vm.types.procurements)?_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1):_vm._e()]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('TruckType'),\"items\":_vm.autocomplete.truckTypes,\"tabindex\":\"1\",\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})],1),(\n _vm.type === _vm.types.procurementOverview && !_vm.searchCriteria.unitBasePrice\n )?_c('v-col'):_vm._e(),(_vm.type === _vm.types.agreements)?_c('v-col',[_c('DatePicker',{attrs:{\"label\":_vm.$t('AgreementsValidDuring'),\"zone\":_vm.actorZone,\"tabindex\":\"1\",\"infoTooltip\":_vm.dateTooltip,\"asterisk\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.date),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"date\", $$v)},expression:\"searchCriteria.date\"}})],1):_vm._e(),(_vm.type === _vm.types.procurements)?_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('PriceFilter'),\"items\":_vm.autocomplete.priceFilters,\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.priceFilter),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"priceFilter\", $$v)},expression:\"searchCriteria.priceFilter\"}})],1):_vm._e(),(_vm.type === _vm.types.procurements)?_c('v-col',[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Supplier'),\"items\":_vm.autocomplete.suppliers},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.supplierId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"supplierId\", $$v)},expression:\"searchCriteria.supplierId\"}})],1):_vm._e(),(_vm.searchCriteria.unitBasePrice)?_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('AgreementListUnitPriceDate'),\"items\":_vm.baseIndexDates},on:{\"input\":_vm.search},scopedSlots:_vm._u([{key:\"append-inner\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('AgreementListUnitPriceDateTooltip'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\"}})]},proxy:true}],null,false,408913359),model:{value:(_vm.unitBasePriceDate),callback:function ($$v) {_vm.unitBasePriceDate=$$v},expression:\"unitBasePriceDate\"}})],1):_vm._e(),(_vm.isRoad)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('SwitchDouble',{attrs:{\"labelFalse\":_vm.priceLabel,\"labelTrue\":_vm.$t('UnitBasePrice')},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.unitBasePrice),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unitBasePrice\", $$v)},expression:\"searchCriteria.unitBasePrice\"}})],1):_vm._e()],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n RepositoryClient,\r\n ApiConfiguration,\r\n ClientAgreementSearchCriteria,\r\n CargoType,\r\n UserConfigurationType,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { cargoTypeName } from \"@/scripts/misc/enumNames\";\r\nimport translatedDropdown from \"@/scripts/misc/translatedDropdown\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport SwitchDouble from \"@/components/shared/input/SwitchDouble.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Autocomplete,\r\n Dropdown,\r\n SwitchDouble,\r\n InfoTooltip\r\n },\r\n props: {\r\n type: String,\r\n cargoType: Number as () => CargoType,\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean\r\n },\r\n watch: {\r\n cargoType: {\r\n handler() {\r\n this.searchCriteria.date = CDate.now(this.actorZone);\r\n this.autocomplete.truckTypes = truckTypesByCargoType(this.cargoType);\r\n cached(\"suppliers\", [this.cargoType, true, true])\r\n .then(res => {\r\n this.autocomplete.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n let title = \"\";\r\n if (this.type === this.types.agreements) {\r\n title += this.$t(\"AgreementList\").toString();\r\n } else {\r\n title += this.$t(\"ProcurementList\").toString();\r\n }\r\n title += \" - \" + cargoTypeName(this.cargoType);\r\n return title;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n let type =\r\n this.type === this.types.agreements\r\n ? UserConfigurationType.ClientAgreement\r\n : UserConfigurationType.ClientProcurement;\r\n return this.$store.getters[gets.userConf](type, this.cargoType);\r\n },\r\n priceSwitchEnabled(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n dateTooltip(): string {\r\n let text = this.$t(\"AgreementDateSearchExplanation1\").toString();\r\n if (this.isRoad) {\r\n text += \" \" + this.$t(\"AgreementDateSearchExplanation2\").toString();\r\n }\r\n return text;\r\n },\r\n overviewSwitchValue: {\r\n get(): boolean {\r\n return this.type === this.types.procurementOverview;\r\n },\r\n set() {\r\n if (this.overviewSwitchValue) {\r\n this.$router.push({\r\n path: \"/procurements\",\r\n query: { ...this.$route.query }\r\n });\r\n } else {\r\n this.$router.push({\r\n path: \"/procurement-overview\",\r\n query: { ...this.$route.query }\r\n });\r\n }\r\n }\r\n },\r\n unitBasePriceDate: {\r\n get(): string {\r\n return this.searchCriteria.unitBasePriceDate!.datePrint();\r\n },\r\n set(s: string) {\r\n this.searchCriteria.unitBasePriceDate = CDate.fromString(\r\n s,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n },\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n priceLabel(): string {\r\n if (this.type === this.types.agreements) {\r\n return t(\"AgreedPrice\");\r\n }\r\n return t(\"OfferedPrice\");\r\n }\r\n },\r\n methods: {\r\n search() {\r\n if (this.searchCriteria.date !== null) {\r\n this.$emit(\"search\");\r\n }\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n fetchIndexPeriods() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .baseIndexPeriods()\r\n .then(res => {\r\n this.baseIndexDates = res\r\n .map(\r\n i =>\r\n new RepositoryDto({\r\n id: i.indexDate.datePrint() as any,\r\n text: i.displayName\r\n })\r\n )\r\n .sort((a, b) => -stringCompare(a.id, b.id));\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPriceFilters() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .priceFilters()\r\n .then(res => {\r\n this.autocomplete.priceFilters = translatedDropdown(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchIndexPeriods();\r\n if (this.type === this.types.procurements) {\r\n this.fetchPriceFilters();\r\n }\r\n },\r\n data: (): {\r\n types: {\r\n agreements: string;\r\n procurements: string;\r\n procurementOverview: string;\r\n };\r\n baseIndexDates: RepositoryDto[];\r\n autocomplete: {\r\n priceFilters: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n truckTypes: RepositoryDto[];\r\n };\r\n } => ({\r\n types: {\r\n agreements: \"agreements\",\r\n procurements: \"procurements\",\r\n procurementOverview: \"procurement-overview\"\r\n },\r\n baseIndexDates: [],\r\n autocomplete: {\r\n priceFilters: [],\r\n suppliers: [],\r\n truckTypes: []\r\n }\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementSearch.vue?vue&type=template&id=dedb1494&\"\nimport script from \"./AgreementSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSwitch})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"value\":_vm.selectedAgreements,\"headers\":_vm.headers,\"items\":_vm.agreements,\"expanded\":_vm.expandedAgreements,\"loading\":_vm.loading,\"loading-text\":_vm.$t(_vm.loadingText) + '...',\"no-data-text\":_vm.$t('NothingToShow'),\"custom-sort\":_vm.customSort,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"options\":_vm.options,\"item-key\":\"id\",\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\",\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [100],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"selectable-key\":\"selectable\"},on:{\"update:options\":function($event){_vm.options=$event},\"item-selected\":_vm.itemSelected,\"toggle-select-all\":_vm.allItemsSelected,\"pagination\":_vm.unselectAllItems},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"header.actions\",fn:function(){return [_c('div',{staticClass:\"medium-padding-top tiny-margin-top large-padding-left tiniest-margin-left\"},[_c('CheckboxTiny',{attrs:{\"value\":props.everyItem ? true : props.someItems ? undefined : false},on:{\"input\":on['toggle-select-all']}})],1)]},proxy:true},{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: true,\n cargoType: _vm.cargoTypeId\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupLocationCounty,\n zipCode: _vm.searchCriteria.pickupLocationZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupLocationCounty = val.county;\n _vm.searchCriteria.pickupLocationZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: false,\n cargoType: _vm.cargoTypeId\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryLocationCounty,\n zipCode: _vm.searchCriteria.deliveryLocationZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryLocationCounty = val.county;\n _vm.searchCriteria.deliveryLocationZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.currencyName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currencyType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currencyType\", $$v)},expression:\"searchCriteria.currencyType\"}})]},proxy:true},{key:\"filter.tag\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'tag', cargoType: _vm.cargoTypeId },\"placeholder\":_vm.$t('Tag')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.tag),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"tag\", $$v)},expression:\"searchCriteria.tag\"}})]},proxy:true}],null,true)})]}},{key:\"item.actions\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"width\":\"25\",\"height\":\"25\"},on:{\"click\":function($event){return _vm.expand(item)}}},[_c('v-icon',{class:{ flipped: _vm.expandedAgreements.indexOf(item) !== -1 }},[_vm._v(\" mdi-chevron-down \")])],1),_c('CheckboxTiny',{attrs:{\"innerClass\":\"transparent-if-disabled\",\"disabled\":!item.selectable,\"value\":_vm.selectedAgreements.indexOf(item) !== -1},on:{\"input\":function($event){return _vm.select(item)}}}),_c('v-btn',{staticClass:\"transparent-if-disabled\",attrs:{\"disabled\":!item.selectable,\"icon\":\"\",\"width\":\"25\",\"height\":\"25\"},on:{\"click\":function($event){return _vm.openRankingDialog(item.id)}}},[_c('v-icon',{attrs:{\"size\":\"21\"}},[_vm._v(\" mdi-pencil \")])],1),(\n item.specialRequirements !== null &&\n item.specialRequirements !== ''\n )?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"red\",\"size\":\"22\"}},on),[_vm._v(\" mdi-exclamation-thick \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.specialRequirements))])]):_vm._e()],1)]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickup(item),\"width\":\"185\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.expand(item)}}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.delivery(item),\"width\":\"255\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.expand(item)}}})]}},{key:\"item.agreementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":((item.fromDate.datePrint()) + \" - \" + (item.toDate.datePrint())),\"width\":\"185\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.expand(item)}}})]}},{key:\"item.procurementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":((item.procurementFromDate.datePrint()) + \" - \" + (item.procurementToDate.datePrint())),\"width\":\"185\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.expand(item)}}})]}},{key:\"item.alteredDate\",fn:function(ref){\n var item = ref.item;\nreturn [(item.alteredDate)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines clickable\",on:{\"click\":function($event){return _vm.expand(item)}}},on),[_vm._v(\" \"+_vm._s(item.alteredDate ? _vm.formatDate(item.alteredDate) : \"-\")+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.alteredTooltip(item))+\" \")]):_vm._e()]}},{key:\"item.estimatedNoOfLoads\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"clickable\",on:{\"click\":function($event){return _vm.expand(item)}}},[_vm._v(\" \"+_vm._s(item.estimatedNoOfLoads)+\" \")])]}},(_vm.showIndexTooltip)?{key:\"item.currencyName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"clickable\",on:{\"click\":function($event){return _vm.goToIndexes(item)}}},on),[_vm._v(\" \"+_vm._s(item.currencyName)+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.indexTooltip(item))+\" \")])]}}:{key:\"item.currencyName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',[_vm._v(\" \"+_vm._s(item.currencyName)+\" \")])]}},{key:\"expanded-item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('td',{staticClass:\"inner-table\",attrs:{\"colspan\":9}},[(item.truckTypes)?_c('div',[(item.truckTypes.length === 0)?_c('v-progress-linear',{attrs:{\"height\":\"3\",\"indeterminate\":\"\"}}):_vm._e(),_vm._l((item.truckTypes),function(truckType,index){return _c('ProcurementTableExpansion',{key:index,attrs:{\"cargoTypeId\":_vm.cargoTypeId,\"truckType\":truckType}})})],2):_c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-spacer'),_vm._v(\" \"+_vm._s(_vm.$t(\"NothingToShow\"))+\" \"),_c('v-spacer')],1)],1)])]}}],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 ((_vm.truckType.agreementRows || []).length > 0)?_c('v-sheet',{staticClass:\"table-sheet\",attrs:{\"elevation\":\"3\",\"rounded\":\"\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.truckType.agreementRows,\"mobile-breakpoint\":0,\"items-per-page\":-1,\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([(!_vm.expanded)?{key:\"body\",fn:function(){return undefined},proxy:true}:null,{key:\"header.expand\",fn:function(){return [_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){_vm.expanded = !_vm.expanded}}},[_c('v-icon',{class:{ flipped: _vm.expanded }},[_vm._v(\" mdi-chevron-down \")])],1)]},proxy:true},{key:\"item.truckType\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.truckTypeName(_vm.truckType.id))+\" \")]},proxy:true},{key:\"item.ranking\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.ranking === 0 ? \"\" : item.ranking)+\" \")]}},{key:\"item.price\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.money(item.price, 0))+\" \")]}},{key:\"item.note\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.note)?_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":0},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"icon-yellow\"}},on),[_vm._v(\" mdi-note \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.note))])]):_vm._e()]}},{key:\"item.share\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.share)+\"% \")]}}],null,true)})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n RankingTruckTypesDto,\r\n CargoType,\r\n ClientAgreementSearchCriteria,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n cargoTypeId: Number,\r\n truckType: RankingTruckTypesDto\r\n },\r\n computed: {\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientProcurement,\r\n this.cargoTypeId\r\n );\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n { value: \"expand\", width: 1, sortable: false } as any,\r\n {\r\n value: \"truckType\",\r\n text: truckTypeName(this.truckType.id),\r\n sortValue: true,\r\n width: 145\r\n },\r\n {\r\n value: \"supplierName\",\r\n text: t(\"Supplier\"),\r\n sortValue: true,\r\n width: 380\r\n },\r\n { value: \"ranking\", text: t(\"Ranking\"), sortValue: true, width: 120 }\r\n ];\r\n if (this.searchCriteria.unitBasePrice) {\r\n headers.push({\r\n value: \"unitBasePrice\",\r\n text: t(\"UnitBasePrice\"),\r\n sortValue: true,\r\n width: 130\r\n });\r\n } else {\r\n headers.push({\r\n value: \"basePrice\",\r\n text: t(\"OfferedPrice\"),\r\n sortValue: true,\r\n width: 100\r\n });\r\n }\r\n switch (this.cargoTypeId) {\r\n case CargoType.Road:\r\n headers.push({\r\n value: \"freightPrice\",\r\n text: t(\"FreightPrice\"),\r\n sortValue: true,\r\n width: 100\r\n });\r\n headers.push({\r\n value: \"stopPrice\",\r\n text: t(\"StopPrice\"),\r\n sortValue: true,\r\n width: 140\r\n });\r\n break;\r\n case CargoType.Container:\r\n headers.push({\r\n value: \"serviceFee\",\r\n text: t(\"ServiceFee\"),\r\n sortValue: true,\r\n width: 140\r\n });\r\n break;\r\n case CargoType.MachineTransport:\r\n headers.push({\r\n value: \"initialFee\",\r\n text: t(\"TruckTypeFee\"),\r\n sortValue: true,\r\n width: 140\r\n });\r\n break;\r\n }\r\n headers.push({\r\n value: \"note\",\r\n text: t(\"Note\"),\r\n sortValue: true,\r\n width: 110\r\n });\r\n headers.push({\r\n value: \"share\",\r\n text: t(\"Share\"),\r\n sortValue: true,\r\n width: 100\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n truckTypeName: truckTypeName\r\n },\r\n data: function(): {\r\n expanded: boolean;\r\n } {\r\n return {\r\n expanded: false\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTableExpansion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTableExpansion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementTableExpansion.vue?vue&type=template&id=ba90b270&scoped=true&\"\nimport script from \"./ProcurementTableExpansion.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementTableExpansion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementTableExpansion.vue?vue&type=style&index=0&id=ba90b270&scoped=true&lang=css&\"\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 \"ba90b270\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { AgreementDataDtoX, TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport {\r\n CargoType,\r\n ClientAgreementSearchCriteria,\r\n TimeZone,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport ProcurementTableExpansion from \"@/components/web/agreements/client/ProcurementTableExpansion.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { indexDateTooltip } from \"@/components/web/loads/client/accordion/AccordionPrices.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { agreementHistoryTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ProcurementTableExpansion,\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n CheckboxTiny\r\n },\r\n props: {\r\n cargoTypeId: Number as () => CargoType,\r\n loading: Boolean,\r\n agreements: Array as () => AgreementDataDtoX[],\r\n loadingText: String,\r\n tableOptions: Object as () => TableOptions,\r\n selectedAgreements: Array as () => AgreementDataDtoX[],\r\n expandedAgreements: Array as () => AgreementDataDtoX[]\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 375);\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientProcurement,\r\n this.cargoTypeId\r\n );\r\n },\r\n /* updateAgreements() {\r\n this.agreements.map(a => a.agreementAltered?.date)\r\n }, */\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({ value: \"actions\", customHeader: true, width: 100 });\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"AgreementRoutePickupLocation\",\r\n sortValue: true,\r\n width: 180\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"AgreementRouteDeliveryLocation\",\r\n sortValue: true,\r\n width: 200\r\n });\r\n headers.push({\r\n value: \"tag\",\r\n text: \"Tag\",\r\n sortValue: true,\r\n width: 110\r\n });\r\n headers.push({\r\n value: \"agreementPeriod\",\r\n text: \"AgreementPeriod\",\r\n sortValue: true,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"procurementPeriod\",\r\n text: \"ProcurementPeriod\",\r\n sortValue: true,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"alteredDate\",\r\n text: \"LastAltered\",\r\n sortValue: true,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"estimatedNoOfLoads\",\r\n text: \"NumberOfEstimatedLoads\",\r\n sortValue: true,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"currencyName\",\r\n text: \"Currency\",\r\n sortValue: true,\r\n width: 80\r\n });\r\n return headers;\r\n },\r\n showIndexTooltip() {\r\n return this.cargoTypeId === CargoType.Road;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n expand(item: AgreementDataDtoX) {\r\n this.$emit(\"agreementExpanded\", item);\r\n },\r\n select(item: AgreementDataDtoX) {\r\n const index = this.selectedAgreements.indexOf(item);\r\n this.itemSelected({ item: item, value: index === -1 });\r\n },\r\n itemSelected(event: { item: AgreementDataDtoX; value: boolean }) {\r\n this.$emit(\"selectedAgreementsChanged\", event.value, [event.item]);\r\n },\r\n allItemsSelected(event: { items: AgreementDataDtoX[]; value: boolean }) {\r\n this.$emit(\"selectedAgreementsChanged\", event.value, event.items);\r\n },\r\n unselectAllItems() {\r\n this.$emit(\"selectedAgreementsChanged\", false, this.agreements);\r\n },\r\n openRankingDialog(agreementId: number) {\r\n this.$emit(\"openRankingDialog\", agreementId);\r\n },\r\n pickup(item: AgreementDataDtoX): string {\r\n return (\r\n item.pickupCounty +\r\n \", \" +\r\n item.pickupZipcode +\r\n \", \" +\r\n item.pickupCountry\r\n );\r\n },\r\n delivery(item: AgreementDataDtoX): string {\r\n return (\r\n item.deliveryCounty +\r\n \", \" +\r\n item.deliveryZipcode +\r\n \", \" +\r\n item.deliveryCountry\r\n );\r\n },\r\n customSort(\r\n items: AgreementDataDtoX[],\r\n sortByArr: string[],\r\n sortDescArr: boolean[]\r\n ) {\r\n let c: { (a: AgreementDataDtoX, b: AgreementDataDtoX): number };\r\n const sortBy = sortByArr[0];\r\n const sortDesc = sortDescArr[0];\r\n switch (sortBy) {\r\n case \"pickupLocation\":\r\n c = (a, b) => stringCompare(this.pickup(a), this.pickup(b));\r\n break;\r\n case \"deliveryLocation\":\r\n c = (a, b) => stringCompare(this.delivery(a), this.delivery(b));\r\n break;\r\n case \"procurementPeriod\":\r\n c = (a, b) =>\r\n stringCompare(\r\n a.procurementFromDate.toSeconds(),\r\n b.procurementFromDate.toSeconds()\r\n ) ||\r\n stringCompare(\r\n a.procurementToDate.toSeconds(),\r\n b.procurementToDate.toSeconds()\r\n );\r\n break;\r\n case \"agreementPeriod\":\r\n c = (a, b) =>\r\n stringCompare(a.fromDate.toSeconds(), b.fromDate.toSeconds()) ||\r\n stringCompare(a.toDate.toSeconds(), b.toDate.toSeconds());\r\n break;\r\n default:\r\n c = (a, b) => stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n }\r\n items = items.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) ||\r\n stringCompare(this.pickup(a), this.pickup(b)) ||\r\n stringCompare(this.delivery(a), this.delivery(b))\r\n );\r\n return items;\r\n },\r\n indexTooltip(item: AgreementDataDtoX): string {\r\n return indexDateTooltip(\r\n item.indexFactor,\r\n item.baseIndexName!,\r\n CDate.now(this.actorZone).startOfDay()\r\n );\r\n },\r\n alteredTooltip(item: AgreementDataDtoX): string {\r\n if (!item.alteredDate) {\r\n return \"\";\r\n }\r\n let text = `${\r\n item.alteredDate ? `${t(\"LastAltered\")}: ${item.alteredDate}` : \"\"\r\n }`;\r\n text += `\\n${\r\n item.alteredBy ? `${t(\"ModifiedBy\")}: ${item.alteredBy}` : \"\"\r\n }`;\r\n text += `\\n${t(\"AlterType\")}: ${agreementHistoryTypeName(\r\n item.alteredType!\r\n )}`;\r\n return text;\r\n },\r\n goToIndexes(item: AgreementDataDtoX) {\r\n window.open(\r\n `/indexes?from=${item.baseIndexDate.datePrint()}&to=${this.searchCriteria.date!.datePrint()}`,\r\n \"_blank\"\r\n );\r\n },\r\n formatDate(s: CDate) {\r\n return s.shortDateTimePrint().split(\" \")[0];\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementTable.vue?vue&type=template&id=a556f11a&scoped=true&\"\nimport script from \"./ProcurementTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementTable.vue?vue&type=style&index=0&id=a556f11a&scoped=true&lang=css&\"\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 \"a556f11a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VProgressLinear,VRow,VSheet,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-row',[_c('v-col',{staticClass:\"large-padding-left\",attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"block\":\"\",\"disabled\":_vm.selectedAgreements.length === 0},on:{\"click\":_vm.openNewProcurementPeriodDialog}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-open-in-new\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"NewProcurementPeriod\"))+\" \")],1)],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"block\":\"\",\"disabled\":_vm.selectedAgreements.length === 0},on:{\"click\":_vm.rankByPrice}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-currency-usd\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"PriceRanking\"))+\" \")],1)],1),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"block\":\"\",\"disabled\":_vm.selectedAgreements.length === 0},on:{\"click\":function($event){return _vm.openRankingDialog()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-pencil\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Edit\"))+\" \")],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"large-padding-left no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('v-menu',{attrs:{\"top\":\"\",\"offset-y\":\"\",\"close-on-content-click\":false,\"close-delay\":\"150\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"text-button\",attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"block\":\"\",\"disabled\":_vm.selectedAgreements.length === 0}},'v-btn',attrs,false),on),[_c('v-spacer'),_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Suppliers\"))+\" \"),_c('v-spacer'),_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-triangle\")])],1)]}}])},[_c('div',{attrs:{\"id\":\"supplier-drop-down\"}},[_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((this.suppliers),function(supplier){return _c('v-list-item',{directives:[{name:\"ripple\",rawName:\"v-ripple\",value:({ class: 'error--text' }),expression:\"{ class: 'error--text' }\"}],key:supplier.id,on:{\"click\":function($event){return _vm.removeSupplier(supplier)}}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(supplier.text)+\" \")])],1),_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\"mdi-trash-can-outline\")])],1)],1)}),1)],1)])],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"block\":\"\",\"disabled\":_vm.selectedAgreements.length === 0},on:{\"click\":_vm.rankByQP}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-flag\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"QualityRanking\"))+\" \")],1)],1),_c('v-col',{staticClass:\"large-padding-right no-padding-top\",attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"block\":\"\",\"disabled\":_vm.selectedAgreements.length === 0},on:{\"click\":_vm.createAgreement}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-text-box-check-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"CreateAgreement\"))+\" \")],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\r\nimport Vue from \"vue\";\r\nimport { RepositoryDto } from \"@/scripts/cld.api\";\r\nimport { AgreementDataDtoX } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n suppliers: Array as () => RepositoryDto[],\r\n selectedAgreements: Array as () => AgreementDataDtoX[]\r\n },\r\n methods: {\r\n openRankingDialog() {\r\n this.$emit(\"openRankingDialog\");\r\n },\r\n openNewProcurementPeriodDialog() {\r\n this.$emit(\"openNewProcurementPeriodDialog\");\r\n },\r\n rankByQP() {\r\n this.$emit(\"rankByQP\");\r\n },\r\n rankByPrice() {\r\n this.$emit(\"rankByPrice\");\r\n },\r\n createAgreement() {\r\n this.$emit(\"createAgreement\");\r\n },\r\n removeSupplier(supplier: RepositoryDto) {\r\n this.$emit(\"removeSupplier\", supplier);\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementActions.vue?vue&type=template&id=4e660199&scoped=true&\"\nimport script from \"./ProcurementActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementActions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementActions.vue?vue&type=style&index=0&id=4e660199&scoped=true&lang=css&\"\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 \"4e660199\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VMenu,VRow,VSheet,VSpacer})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Ripple from 'vuetify/lib/directives/ripple'\ninstallDirectives(component, {Ripple})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"loading\":_vm.loading,\"title\":_vm.agreement.agreementRouteName,\"full-height\":\"\"},on:{\"close\":_vm.closeDialog},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"large\":\"\",\"text\":\"\",\"disabled\":_vm.selectedAgreementIndex <= 0 || _vm.loading},on:{\"click\":function($event){return _vm.changeAgreement(false)}}},on),[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Previous\")))])]),_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"large\":\"\",\"text\":\"\",\"disabled\":_vm.selectedAgreementIndex >= _vm.selectedAgreementIds.length - 1 ||\n _vm.loading},on:{\"click\":function($event){return _vm.changeAgreement(true)}}},on),[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-chevron-right\")])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Next\")))])])]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('Chip',{attrs:{\"text\":_vm.agreement.currencyName}})],1),_c('v-col',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('Chip',{attrs:{\"text\":_vm.$t('ProcurementPeriodText'),\"tooltip\":_vm.procurementPeriods,\"icon\":\"mdi-calendar-blank\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('Chip',{attrs:{\"text\":((_vm.$t('BaseIndex')) + \": \" + (_vm.agreement.baseIndexName)),\"icon\":\"mdi-calendar-blank\"}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('v-form',{ref:\"form\",model:{value:(_vm.datesValid),callback:function ($$v) {_vm.datesValid=$$v},expression:\"datesValid\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('NumberInput',{attrs:{\"value\":_vm.agreement.estimatedNoOfLoads,\"label\":_vm.$t('EstimatedNoOfLoads'),\"rules\":[function (v) { return v === undefined || v >= 0; }],\"placeholder\":_vm.$t('NotAvailable'),\"allow-null\":\"\"},on:{\"input\":function (v) {\n _vm.beforeModification();\n _vm.agreement.estimatedNoOfLoads = v;\n }}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('DatePicker',{attrs:{\"value\":_vm.agreement.agreementFrom,\"label\":_vm.$t('AgreementStart'),\"gteDates\":[_vm.limitingDates.prevAgreementEnd],\"gteText\":_vm.$t('DateOverlapsOtherAgreement'),\"zone\":_vm.agreement.agreementTimeZone,\"compact\":\"\"},on:{\"input\":function (date) {\n _vm.beforeModification();\n _vm.agreement.agreementFrom = date;\n _vm.validateDateForm();\n }}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('DatePicker',{attrs:{\"value\":_vm.agreement.agreementTo,\"label\":_vm.$t('AgreementEnd'),\"gteDates\":[_vm.agreement.agreementFrom],\"gteText\":_vm.$t('DatePeriodGreaterThanEqual'),\"lteDate\":_vm.limitingDates.nextAgreementStart,\"lteText\":_vm.$t('DateOverlapsOtherAgreement'),\"zone\":_vm.agreement.agreementTimeZone,\"compact\":\"\"},on:{\"input\":function (date) {\n _vm.beforeModification();\n _vm.agreement.agreementTo = date;\n _vm.validateDateForm();\n }}})],1)],1)],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\"},[_c('RankingDialogPrevAgreement',{attrs:{\"cargoTypeId\":_vm.cargoTypeId,\"agreement\":_vm.prevAgreement,\"loading\":_vm.prevAgreementLoading,\"secondaryValue\":_vm.secondaryValue}})],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.agreement.truckTypes || []),function(truckType){return _c('v-col',{key:truckType.id,staticClass:\"ranking-column\"},[_c('v-sheet',{staticClass:\"tiny-padding-sides small-padding-bottom\",attrs:{\"elevation\":\"1\",\"color\":\"background-pale\"}},[_c('div',[_c('v-card-actions',{staticClass:\"subtitle-2\"},[_vm._v(\" \"+_vm._s(_vm.truckTypeName(truckType.id))+\" \"),_c('v-spacer'),_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.rankByPrice(truckType.id)}}},on),[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\" mdi-currency-usd \")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"RankSuppliersByPriceAndTruckType\")))])]),_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"small\":\"\",\"disabled\":_vm.qualityPointsLoading},on:{\"click\":function($event){return _vm.rankByQP(truckType.id)}}},on),[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\" mdi-flag \")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"RankSuppliersByQualityPointsAndTruckType\")))])]),_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeAllAgreementRows(truckType.id)}}},on),[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"DeleteAllPriceByTruckType\"))+\" \")])])],1)],1),_c('div',[_c('drop',{attrs:{\"get-child-payload\":function () { return truckType.id; },\"drag-handle-selector\":\".draggable\",\"non-drag-area-selector\":\".not-draggable\",\"drag\":\"\",\"drag-class\":\"supplier-card-dragging\",\"drop-class\":\"supplier-card-dropping\"},on:{\"drop\":_vm.handleDrop}},_vm._l((truckType.agreementRows || []),function(agreementRow,agreementRowIndex){return _c('drag',{key:agreementRow.supplierName},[_c('RankingDialogCard',{attrs:{\"agreementRow\":agreementRow,\"agreementRowIndex\":agreementRowIndex,\"truckTypeId\":truckType.id,\"cargoTypeId\":_vm.cargoTypeId,\"secondaryValue\":_vm.secondaryValue,\"removeAgreementRow\":_vm.removeAgreementRow,\"restoreAgreementRow\":_vm.restoreAgreementRow,\"explode\":_vm.explode,\"implode\":_vm.implode}})],1)}),1)],1)])],1)}),1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('RankingDialogActions',{attrs:{\"type\":_vm.type,\"loading\":_vm.loading,\"pendingChanges\":_vm.pendingChanges,\"qualityPointsLoading\":_vm.qualityPointsLoading,\"datesValid\":_vm.datesValid,\"supplierList\":_vm.supplierList},on:{\"removeAgreement\":_vm.removeAgreement,\"removeSupplier\":_vm.removeSupplier,\"rankByPrice\":_vm.rankByPrice,\"rankByQP\":_vm.rankByQP,\"undo\":_vm.undo,\"finishProcurement\":_vm.finishProcurement,\"saveAgreement\":_vm.saveAgreement}})]},proxy:true}])})}\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('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"font-weight-medium\"},[_vm._v(_vm._s(_vm.description))])]),_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticClass:\"font-weight-bold\",attrs:{\"small\":\"\",\"text\":\"\"},on:{\"click\":_vm.showHidePrevAgreementRow}},[_vm._v(\" \"+_vm._s(_vm.showHideText)+\" \")])],1)],1),(_vm.showPrevAgreementRow)?_c('v-expansion-panels',[_c('v-expansion-panel',[_c('v-expansion-panel-header',{attrs:{\"color\":\"background-pale\"}},[(!_vm.loading)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.agreement.truckTypes || []),function(truckType){return _c('v-col',{key:truckType.id},[_c('v-list',{staticClass:\"no-padding\",attrs:{\"color\":\"background-pale\"}},_vm._l(((truckType.agreementRows || []).slice(\n 0,\n 3\n )),function(agreementRow){return _c('v-list-item',{key:agreementRow.supplierName,staticClass:\"extra-dense-list-item\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":0},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-row',_vm._g(_vm._b({},'v-row',attrs,false),on),[_c('v-col',{staticClass:\"caption no-padding d-inline-block text-truncate\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(agreementRow.ranking)+\". \"+_vm._s(agreementRow.supplierName)+\" \")]),_c('v-col',{staticClass:\"caption no-padding\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.money(agreementRow.freightPrice, 0))+\" \"+_vm._s(_vm.secondaryValue(agreementRow))+\" \")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.prevAgreementRowTooltip(agreementRow)))])])],1)}),1)],1)}),1):_vm._e()],1),_c('v-expansion-panel-content',{attrs:{\"color\":\"background-pale\"}},[(!_vm.loading)?_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.agreement.truckTypes || []),function(truckType){return _c('v-col',{key:truckType.id},[_c('v-list',{staticClass:\"no-padding\",attrs:{\"color\":\"background-pale\"}},_vm._l(((truckType.agreementRows || []).slice(\n 3\n )),function(agreementRow){return _c('v-list-item',{key:agreementRow.supplierName,staticClass:\"extra-dense-list-item\"},[_c('v-tooltip',{attrs:{\"bottom\":\"\",\"open-delay\":0},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-row',_vm._g(_vm._b({},'v-row',attrs,false),on),[_c('v-col',{staticClass:\"caption no-padding d-inline-block text-truncate\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(agreementRow.ranking)+\". \"+_vm._s(agreementRow.supplierName)+\" \")]),_c('v-col',{staticClass:\"caption no-padding\",attrs:{\"cols\":\"5\"}},[_vm._v(\" \"+_vm._s(_vm.money(agreementRow.basePrice, 0))+\" \"+_vm._s(_vm.secondaryValue(agreementRow))+\" \")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.prevAgreementRowTooltip(agreementRow)))])])],1)}),1)],1)}),1):_vm._e()],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n RankingAgreementDto,\r\n RankingAgreementRowDto,\r\n CargoType\r\n} from \"@/scripts/cld.api\";\r\nimport money from \"@/scripts/misc/money\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n cargoTypeId: Number,\r\n agreement: RankingAgreementDto,\r\n loading: Boolean,\r\n secondaryValue: Function\r\n },\r\n computed: {\r\n description(): string {\r\n let text = this.$t(\"PreviousAgreementRanking\").toString();\r\n try {\r\n let from = this.agreement.agreementFrom.datePrint();\r\n let to = this.agreement.agreementTo.datePrint();\r\n return `${text} (${from} - ${to})`;\r\n } catch {\r\n return text;\r\n }\r\n },\r\n showHideText(): string {\r\n if (this.showPrevAgreementRow) {\r\n return this.$t(\"Hidden\").toString();\r\n } else {\r\n return this.$t(\"Show\").toString();\r\n }\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n prevAgreementRowTooltip(agreementRow: RankingAgreementRowDto) {\r\n let tooltip = \"\";\r\n tooltip += agreementRow.supplierName;\r\n tooltip += [\r\n CargoType.Road,\r\n CargoType.Railroad,\r\n CargoType.Container\r\n ].includes(this.cargoTypeId)\r\n ? `\\n${this.$t(\"OfferedPrice\")}: ${\r\n agreementRow.basePrice ? agreementRow.basePrice : 0\r\n }`\r\n : \"\";\r\n tooltip += [CargoType.MachineTransport].includes(this.cargoTypeId)\r\n ? `\\n${this.$t(\"PricePerKm\")}: ${\r\n agreementRow.basePrice ? agreementRow.basePrice : 0\r\n }`\r\n : \"\";\r\n tooltip += [CargoType.MachineTransport].includes(this.cargoTypeId)\r\n ? `\\n${this.$t(\"TruckTypeFee\")}: ${\r\n agreementRow.initialFee ? agreementRow.initialFee : 0\r\n }`\r\n : \"\";\r\n tooltip += [CargoType.Road, CargoType.MachineTransport].includes(\r\n this.cargoTypeId\r\n )\r\n ? `\\n${this.$t(\"StopPrice\")}: ${\r\n agreementRow.stopPrice ? agreementRow.stopPrice : 0\r\n }`\r\n : \"\";\r\n tooltip += [CargoType.Container].includes(this.cargoTypeId)\r\n ? `\\n${this.$t(\"ServiceFee\")}: ${\r\n agreementRow.serviceFee ? agreementRow.serviceFee : 0\r\n }`\r\n : \"\";\r\n tooltip += agreementRow.note\r\n ? `\\n${this.$t(\"Note\")}: ${agreementRow.note}`\r\n : \"\";\r\n return tooltip;\r\n },\r\n showHidePrevAgreementRow() {\r\n this.showPrevAgreementRow = !this.showPrevAgreementRow;\r\n }\r\n },\r\n data(): {\r\n showPrevAgreementRow: boolean;\r\n } {\r\n return {\r\n showPrevAgreementRow: true\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogPrevAgreement.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogPrevAgreement.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RankingDialogPrevAgreement.vue?vue&type=template&id=53a542ef&\"\nimport script from \"./RankingDialogPrevAgreement.vue?vue&type=script&lang=ts&\"\nexport * from \"./RankingDialogPrevAgreement.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VList,VListItem,VRow,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.agreementRowIndex !== 0)?_c('div',{staticClass:\"ranking-column-margins\"},[_c('v-hover',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar hover = ref.hover;\nreturn [_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"no-padding-top no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({class:{ transparent: _vm.agreementRow.ranking <= 0 },attrs:{\"block\":\"\",\"depressed\":\"\",\"height\":\"12\",\"disabled\":_vm.agreementRow.ranking <= 0},on:{\"click\":function($event){return _vm.explode(_vm.truckTypeId, _vm.agreementRowIndex)}}},false || on),[(hover)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-unfold-more-horizontal \")]):_vm._e()],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"ExplodeRanking\")))])])],1),_c('v-col',{staticClass:\"no-padding-top no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({class:{ transparent: _vm.agreementRow.ranking <= 0 },attrs:{\"block\":\"\",\"depressed\":\"\",\"height\":\"12\",\"disabled\":_vm.agreementRow.ranking <= 0},on:{\"click\":function($event){return _vm.implode(_vm.truckTypeId, _vm.agreementRowIndex)}}},on),[(hover)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-unfold-less-horizontal \")]):_vm._e()],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"ImplodeRanking\")))])])],1)],1)]}}],null,false,3092719794)})],1):_vm._e(),_c('v-sheet',{staticClass:\"supplier-card ranking-column-margins draggable\",attrs:{\"elevation\":\"3\",\"color\":_vm.agreementRow.ranking === -1 ? 'background-red' : '',\"rounded\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top no-padding-bottom no-padding-right\",attrs:{\"cols\":\"6\",\"lg\":\"7\",\"xl\":\"8\"}},[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":_vm.agreementRow.supplierId !== -1 ? 250 : 99999},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"text-truncate draggable font-weight-medium\",class:{\n transparent: _vm.agreementRow.supplierId === -1\n }},on),[_vm._v(\" \"+_vm._s(_vm.agreementRow.supplierName)+\" \")])]}}])},[_c('span',[_vm._v(_vm._s(_vm.agreementRow.supplierName))])])],1),_c('v-spacer'),_c('v-col',{staticClass:\"share-text no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-badge',{attrs:{\"color\":_vm.rankingColor,\"content\":_vm.agreementRow.ranking > 0 ? _vm.agreementRow.ranking : '',\"offset-x\":\"-3\",\"offset-y\":\"12\"}},[_c('span',{class:{\n transparent:\n _vm.agreementRow.supplierId === -1 || !_vm.agreementRow.share\n }},[_vm._v(\" \"+_vm._s(_vm.agreementRow.share)+\"% \")])])],1)],1)],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"price-text text-no-wrap font-weight-bold\",class:{\n transparent: _vm.agreementRow.supplierId === -1\n },attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.money(_vm.agreementRow.freightPrice, 0))+\" \")]),_c('v-col',{staticClass:\"price-text text-no-wrap\",class:{\n transparent: _vm.agreementRow.supplierId === -1\n },attrs:{\"cols\":\"auto\"}},[_vm._v(\"   \"+_vm._s(_vm.secondaryValue(_vm.agreementRow))+\" \")]),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[(_vm.agreementRow.note)?_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"color\":\"icon-yellow\"}},'v-icon',attrs,false),on),[_vm._v(\" mdi-note \")])]}}],null,false,4149076731)},[_c('span',[_vm._v(_vm._s(_vm.agreementRow.note))])]):_vm._e(),(\n _vm.agreementRow.ranking > 0 &&\n _vm.agreementRow.supplierId !== -1 &&\n _vm.agreementRow.currentRankingType === _vm.rankingType.Manual\n )?_c('v-icon',[_vm._v(\" mdi-altimeter \")]):_vm._e(),(\n _vm.agreementRow.ranking > 0 &&\n _vm.agreementRow.supplierId !== -1 &&\n _vm.agreementRow.currentRankingType === _vm.rankingType.Price\n )?_c('v-icon',[_vm._v(\" mdi-currency-usd \")]):_vm._e(),(\n _vm.agreementRow.ranking > 0 &&\n _vm.agreementRow.supplierId !== -1 &&\n _vm.agreementRow.currentRankingType !== _vm.rankingType.Manual &&\n _vm.agreementRow.currentRankingType !== _vm.rankingType.Price\n )?_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"color\":_vm.flagColor}},'v-icon',attrs,false),on),[_vm._v(\" mdi-flag \")])]}}],null,false,1437592884)},[_c('span',[_vm._v(_vm._s(_vm.qualityPointsTooltip))])]):_vm._e(),(_vm.agreementRow.ranking === -1)?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.restoreAgreementRow(_vm.truckTypeId, _vm.agreementRowIndex)}}},[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\" mdi-undo \")])],1):_c('v-tooltip',{staticClass:\"not-draggable\",attrs:{\"top\":\"\",\"open-delay\":\"250\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"not-draggable\",attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeAgreementRow(_vm.truckTypeId, _vm.agreementRowIndex)}}},on),[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)]}}])},[_c('span',[_vm._v(_vm._s(_vm.agreementRow.supplierId === -1 ? _vm.$t(\"DeleteRankingposition\") : _vm.$t(\"DeletePrice\")))])])],1)],1)],1),(_vm.cargoTypeId === 4)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"text-truncate\"},[_vm._v(\" Stop price: \")])]),_c('v-col',{staticClass:\"text-no-wrap no-padding-top\",attrs:{\"cols\":\"auto\"}},[_vm._v(\"  \"+_vm._s(_vm.money(_vm.agreementRow.stopPrice, 0))+\" \")])],1)],1):_vm._e()],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { RankingAgreementRowDto, RankingType } from \"@/scripts/cld.api\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { rankingTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n agreementRow: RankingAgreementRowDto,\r\n agreementRowIndex: Number,\r\n truckTypeId: Number,\r\n cargoTypeId: Number,\r\n secondaryValue: Function,\r\n removeAgreementRow: Function,\r\n restoreAgreementRow: Function,\r\n explode: Function,\r\n implode: Function\r\n },\r\n computed: {\r\n rankingColor(): string {\r\n if (this.agreementRow.ranking === -1) {\r\n return \"icon-red\";\r\n } else if (this.agreementRow.ranking === 0) {\r\n return \"icon-yellow\";\r\n } else if (this.agreementRow.ranking % 2 === 0) {\r\n return \"icon-cyan\";\r\n } else {\r\n return \"icon-gold\";\r\n }\r\n },\r\n flagColor(): string {\r\n switch (this.agreementRow.currentRankingType) {\r\n case RankingType.Route:\r\n return \"icon-green\";\r\n case RankingType.Client:\r\n return \"icon-yellow\";\r\n case RankingType.System:\r\n return \"warning\";\r\n case RankingType.NoLoads:\r\n return \"icon-red\";\r\n default:\r\n return \"\";\r\n }\r\n },\r\n qualityPointsTooltip(): string {\r\n let tooltip = `${t(\"SourceForStatistics\")}: ${rankingTypeName(\r\n this.agreementRow.currentRankingType\r\n )}`;\r\n tooltip += `\\n${t(\"NumberOfOfferedLoads\")}: ${\r\n this.agreementRow.numLoadsOffered\r\n }`;\r\n tooltip += `\\n${t(\"BookedLoads\")}: ${this.agreementRow.numLoadsLoaded}`;\r\n tooltip += `\\n${t(\"MeasuredQualityPoints\")} (${this.agreementRow\r\n .parameterFactor! * 100}% ${t(\"Of\")} ${\r\n this.agreementRow.baseParameterPoints\r\n }): ${this.agreementRow.factoredParameterPoints}`;\r\n tooltip += `\\n${t(\"PricePoints\")}: ${this.agreementRow.pricePoints}`;\r\n tooltip += `\\n${t(\"BusinessQualitypoints\")}: ${\r\n this.agreementRow.subjectivePoints\r\n }`;\r\n tooltip += `\\n${t(\"TotalPoints\")}: ${this.agreementRow.totalPoints}`;\r\n return tooltip;\r\n }\r\n },\r\n methods: {\r\n money: money\r\n },\r\n data: () => ({\r\n rankingType: RankingType\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RankingDialogCard.vue?vue&type=template&id=146b911c&scoped=true&\"\nimport script from \"./RankingDialogCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./RankingDialogCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RankingDialogCard.vue?vue&type=style&index=0&id=146b911c&scoped=true&lang=css&\"\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 \"146b911c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VHover } from 'vuetify/lib/components/VHover';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBadge,VBtn,VCol,VHover,VIcon,VRow,VSheet,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[(_vm.type === _vm.types.procurements)?_c('v-btn',{staticClass:\"medium-margin-right\",attrs:{\"color\":\"error\",\"depressed\":\"\",\"disabled\":_vm.pendingChanges || _vm.loading},on:{\"click\":_vm.removeAgreement}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"DeleteProcurement\"))+\" \")],1):_vm._e()],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-menu',{attrs:{\"top\":\"\",\"offset-y\":\"\",\"close-on-content-click\":false,\"close-delay\":\"150\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"medium-margin-right\",attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"disabled\":_vm.loading}},on),[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-trash-can-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Suppliers\"))+\" \"),_c('v-icon',{attrs:{\"right\":\"\",\"x-small\":\"\"}},[_vm._v(\"mdi-triangle\")])],1)]}}])},[_c('div',{staticClass:\"supplier-drop-down\"},[_c('v-list',{staticClass:\"no-padding\",attrs:{\"dense\":\"\"}},_vm._l((_vm.supplierList),function(supplier){return _c('v-list-item',{directives:[{name:\"ripple\",rawName:\"v-ripple\",value:({ class: 'error--text' }),expression:\"{ class: 'error--text' }\"}],key:supplier.id,on:{\"click\":function($event){return _vm.removeSupplier(supplier.id)}}},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(supplier.name)+\" \")])],1),_c('v-list-item-icon',[_c('v-icon',{class:{ transparent: supplier.deleted },attrs:{\"color\":\"icon-red\"}},[_vm._v(\"mdi-trash-can-outline\")])],1)],1)}),1)],1)]),_c('v-btn',{staticClass:\"medium-margin-right\",attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"disabled\":_vm.loading},on:{\"click\":_vm.rankByPrice}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-currency-usd\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"PriceRanking\"))+\" \")],1),_c('v-btn',{staticClass:\"medium-margin-right\",attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"disabled\":_vm.qualityPointsLoading || _vm.loading},on:{\"click\":_vm.rankByQP}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-flag\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"QualityRanking\"))+\" \")],1),_c('v-btn',{staticClass:\"medium-margin-right\",attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"disabled\":!_vm.pendingChanges},on:{\"click\":_vm.undo}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-undo\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Undo\"))+\" \")],1),(_vm.type === _vm.types.procurements)?_c('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":!_vm.pendingChanges},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-btn',{staticClass:\"medium-margin-right\",attrs:{\"color\":\"btn-outlined\",\"outlined\":\"\",\"disabled\":_vm.pendingChanges || _vm.loading},on:{\"click\":_vm.finishProcurement}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-text-box-check-outline\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"CreateAgreementSingular\"))+\" \")],1)],1)]}}],null,false,254609593)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"YouMustSaveYourChanges\")))])]):_vm._e(),_c('v-btn',{attrs:{\"color\":\"success\",\"depressed\":\"\",\"disabled\":!_vm.datesValid || !_vm.pendingChanges || _vm.loading},on:{\"click\":_vm.saveAgreement}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],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\n\n\n\r\nimport { SupplierDeleted } from \"@/scripts/types\";\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n type: String,\r\n loading: Boolean,\r\n pendingChanges: Boolean,\r\n qualityPointsLoading: Boolean,\r\n datesValid: Boolean,\r\n supplierList: Array as () => SupplierDeleted[]\r\n },\r\n methods: {\r\n removeAgreement() {\r\n this.$emit(\"removeAgreement\");\r\n },\r\n removeSupplier(supplierId: number) {\r\n this.$emit(\"removeSupplier\", supplierId);\r\n },\r\n rankByPrice() {\r\n this.$emit(\"rankByPrice\");\r\n },\r\n rankByQP() {\r\n this.$emit(\"rankByQP\");\r\n },\r\n undo() {\r\n this.$emit(\"undo\");\r\n },\r\n finishProcurement() {\r\n this.$emit(\"finishProcurement\");\r\n },\r\n saveAgreement() {\r\n this.$emit(\"saveAgreement\");\r\n }\r\n },\r\n data: (): { types: { agreements: string; procurements: string } } => ({\r\n types: {\r\n agreements: \"agreements\",\r\n procurements: \"procurements\"\r\n }\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialogActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RankingDialogActions.vue?vue&type=template&id=1e2e9937&scoped=true&\"\nimport script from \"./RankingDialogActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./RankingDialogActions.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RankingDialogActions.vue?vue&type=style&index=0&id=1e2e9937&scoped=true&lang=css&\"\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 \"1e2e9937\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VListItemTitle,VMenu,VRow,VSpacer,VTooltip})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Ripple from 'vuetify/lib/directives/ripple'\ninstallDirectives(component, {Ripple})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n Container as drop,\r\n Draggable as drag,\r\n DropResult\r\n} from \"vue-smooth-dnd\";\r\nimport {\r\n ApiConfiguration,\r\n RankingAgreementDto,\r\n RankingAgreementRowDto,\r\n RankingTruckTypesDto,\r\n CargoType,\r\n RankingType,\r\n RankingAgreementSaveDto,\r\n RankingAgreementRowSaveDto,\r\n TruckType,\r\n ProcurementsClientClient,\r\n AgreementsClientClient,\r\n AgreementLimitingDatesDto,\r\n QualityPointsClientClient,\r\n ClientGetTruckTypesSearchCriteria,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n popupDialog,\r\n saveBeforeContinueDialog,\r\n errorDialog\r\n} from \"@/scripts/misc/popupDialogs\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport Chip from \"@/components/shared/ui/Chip.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport RankingDialogPrevAgreement from \"@/components/web/agreements/client/RankingDialogPrevAgreement.vue\";\r\nimport RankingDialogCard from \"@/components/web/agreements/client/RankingDialogCard.vue\";\r\nimport RankingDialogActions from \"@/components/web/agreements/client/RankingDialogActions.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { SupplierDeleted } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n drag,\r\n drop,\r\n DialogCard,\r\n Chip,\r\n DatePicker,\r\n NumberInput,\r\n RankingDialogPrevAgreement,\r\n RankingDialogCard,\r\n RankingDialogActions\r\n },\r\n props: {\r\n type: String,\r\n dialog: Boolean,\r\n selectedAgreementIds: Array as () => number[],\r\n selectedAgreementIndex: Number,\r\n cargoTypeId: Number,\r\n maxRanking: Number\r\n },\r\n watch: {\r\n selectedAgreementIndex: {\r\n async handler() {\r\n this.populate();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n agreementId(): number {\r\n return this.selectedAgreementIds[this.selectedAgreementIndex];\r\n },\r\n procurementPeriods(): string {\r\n if (!this.agreement.procurementPeriods) {\r\n return \"\";\r\n }\r\n return this.agreement.procurementPeriods\r\n .map(p => `${p.from.datePrint()} - ${p.to.datePrint()}`)\r\n .join(\"\\n\");\r\n },\r\n supplierList(): SupplierDeleted[] {\r\n const suppliers: SupplierDeleted[] = [];\r\n if (this.agreement.truckTypes === undefined) {\r\n return suppliers;\r\n }\r\n\r\n let agreementRows: RankingAgreementRowDto[] = [];\r\n for (let truckType of this.agreement.truckTypes) {\r\n agreementRows = agreementRows.concat(truckType.agreementRows!);\r\n }\r\n for (let agreementRow of agreementRows) {\r\n if (\r\n agreementRow.supplierId !== -1 &&\r\n !suppliers.filter(e => e.id === agreementRow.supplierId).length\r\n ) {\r\n suppliers.push({\r\n id: agreementRow.supplierId,\r\n name: agreementRow.supplierName!,\r\n deleted:\r\n agreementRows.filter(\r\n e =>\r\n e.supplierId === agreementRow.supplierId && e.ranking !== -1\r\n ).length === 0\r\n });\r\n }\r\n }\r\n suppliers.sort((e1, e2) => e1.name.localeCompare(e2.name));\r\n return suppliers;\r\n },\r\n pendingChanges(): boolean {\r\n return this.rankingState.length > 0;\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n closeDialog() {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.saveAgreement(() => {\r\n this.$emit(\"closeDialog\");\r\n });\r\n },\r\n () => {\r\n this.$emit(\"closeDialog\");\r\n }\r\n );\r\n } else {\r\n this.$emit(\"closeDialog\");\r\n }\r\n },\r\n changeAgreement(forward: boolean) {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.saveAgreement(() => {\r\n this.$emit(\"changeAgreement\", forward);\r\n });\r\n },\r\n () => {\r\n this.$emit(\"changeAgreement\", forward);\r\n }\r\n );\r\n } else {\r\n this.$emit(\"changeAgreement\", forward);\r\n }\r\n },\r\n beforeModification() {\r\n let agreementCopy: RankingAgreementDto = new RankingAgreementDto(\r\n this.agreement\r\n );\r\n agreementCopy.truckTypes = [];\r\n for (let truckType of this.agreement.truckTypes!) {\r\n let truckTypeCopy = new RankingTruckTypesDto(truckType);\r\n agreementCopy.truckTypes.push(truckTypeCopy);\r\n truckTypeCopy.agreementRows = [];\r\n for (let agreementRow of truckType.agreementRows!) {\r\n truckTypeCopy.agreementRows.push(\r\n new RankingAgreementRowDto(agreementRow)\r\n );\r\n }\r\n }\r\n this.rankingState.push(agreementCopy);\r\n },\r\n afterModification(markManualRankings: boolean) {\r\n this.respectMaxRanking();\r\n if (markManualRankings) {\r\n this.markManualRankings();\r\n }\r\n },\r\n respectMaxRanking() {\r\n for (let truckType of this.agreement.truckTypes!) {\r\n for (let agreementRow of truckType.agreementRows!) {\r\n agreementRow.ranking = Math.min(\r\n agreementRow.ranking,\r\n this.maxRanking\r\n );\r\n }\r\n }\r\n },\r\n markManualRankings() {\r\n let prevState = this.rankingState[this.rankingState.length - 1];\r\n for (let truckType of this.agreement.truckTypes!) {\r\n let prevTruckType = prevState.truckTypes!.filter(\r\n tt => tt.id === truckType.id\r\n )[0];\r\n for (let agreementRow of truckType.agreementRows!) {\r\n if (agreementRow.supplierId === -1) {\r\n continue;\r\n }\r\n let prevAgreementRow = prevTruckType.agreementRows!.filter(\r\n ar => ar.supplierId === agreementRow.supplierId\r\n )[0];\r\n if (agreementRow.ranking !== prevAgreementRow.ranking) {\r\n agreementRow.currentRankingType = RankingType.Manual;\r\n }\r\n }\r\n }\r\n },\r\n undo() {\r\n let agreement = this.rankingState.pop();\r\n if (agreement !== undefined) {\r\n this.agreement = agreement;\r\n }\r\n },\r\n removeAgreement() {\r\n popupDialog({\r\n title: this.$t(\"DeleteProcurement\").toString(),\r\n body: this.$t(\"DeleteProcurementDialogText\").toString(),\r\n btnText1: this.$t(\"Delete\").toString(),\r\n btnColor1: \"error\",\r\n btnCallback1: this.removeAgreementCallback\r\n });\r\n },\r\n removeAgreementCallback() {\r\n this.loading = true;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .removeProcurement(this.agreementId)\r\n .then(res => {\r\n this.$emit(\"removeAgreementFromSelection\");\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n finishProcurement() {\r\n popupDialog({\r\n title: this.$t(\"CreateAgreementSingular\").toString(),\r\n body: this.$t(\"CreateAgreementDialogText\").toString(),\r\n btnCallback1: this.finishProcurementCallback\r\n });\r\n },\r\n finishProcurementCallback() {\r\n this.loading = true;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .finishProcurement([this.agreementId])\r\n .then(res => {\r\n this.$emit(\"removeAgreementFromSelection\");\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.populate();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n saveAgreement(callback?: Function) {\r\n let agreementRows = this.getAllAgreementRows();\r\n agreementRows = agreementRows.filter(ar => ar.supplierId !== -1); //Ta inte med tomma kort\r\n if (agreementRows.some(ar => ar.ranking === -1)) {\r\n popupDialog({\r\n title: this.$t(\"Save\").toString(),\r\n body: this.$t(\"SaveProcurementText\").toString(),\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n return this.saveAgreementCallback(agreementRows).then(() => {\r\n if (callback !== undefined) {\r\n callback();\r\n }\r\n });\r\n }\r\n });\r\n } else {\r\n this.saveAgreementCallback(agreementRows).then(() => {\r\n if (callback !== undefined) {\r\n callback();\r\n }\r\n });\r\n }\r\n },\r\n async saveAgreementCallback(agreementRows: RankingAgreementRowSaveDto[]) {\r\n this.loading = true;\r\n return new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .saveRanking(\r\n new RankingAgreementSaveDto({\r\n agreementId: this.agreement.id,\r\n agreementFrom: this.agreement.agreementFrom,\r\n agreementTo: this.agreement.agreementTo,\r\n estimatedNoOfLoads: this.agreement.estimatedNoOfLoads,\r\n agreementRows: agreementRows\r\n })\r\n )\r\n .then(() => {\r\n this.populate();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n async populate() {\r\n this.resetDialog();\r\n if (this.selectedAgreementIndex === -1) {\r\n return;\r\n }\r\n let truckTypesFetched = this.fetchAgreement();\r\n this.fetchQP(truckTypesFetched);\r\n this.fetchLimitingDates();\r\n this.fetchPrevAgreement();\r\n },\r\n resetDialog() {\r\n this.loading = true;\r\n this.prevAgreementLoading = true;\r\n this.qualityPointsLoading = true;\r\n this.agreement = new RankingAgreementDto();\r\n this.prevAgreement = new RankingAgreementDto();\r\n this.prevAgreement.truckTypes = [];\r\n this.rankingState = [];\r\n },\r\n async fetchAgreement() {\r\n return new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .byAgreementId(this.agreementId)\r\n .then(res => {\r\n this.agreement = res;\r\n return this.fetchTruckTypes(false);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPrevAgreement() {\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .byPreviousAgreementId(this.agreementId)\r\n .then(res => {\r\n this.prevAgreement = res;\r\n if (res === null) {\r\n this.prevAgreement = new RankingAgreementDto();\r\n } else {\r\n this.fetchTruckTypes(true);\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n async fetchTruckTypes(previous: boolean) {\r\n return new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .trucktypesByAgreementId(\r\n new ClientGetTruckTypesSearchCriteria({\r\n agreementId: previous ? this.prevAgreement.id : this.agreement.id,\r\n truckTypeId: undefined,\r\n baseIndexDate: undefined\r\n })\r\n )\r\n .then(res => {\r\n if (previous) {\r\n this.prevAgreement.truckTypes = res;\r\n this.prevAgreementLoading = false;\r\n } else {\r\n this.agreement.truckTypes = res;\r\n for (let truckType of this.agreement.truckTypes) {\r\n this._fillRanking(truckType.id, \"cards\");\r\n }\r\n this.loading = false;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchQP(truckTypesFetched: Promise) {\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .byAgreementid(this.agreementId)\r\n .then(res => {\r\n truckTypesFetched.then(() => {\r\n if (this.agreement.truckTypes === undefined) {\r\n //Kan ske om man är snabb att stänga dialogen\r\n return;\r\n }\r\n for (let truckType of this.agreement.truckTypes!) {\r\n for (let agreementRow of truckType.agreementRows!) {\r\n let qp = res.find(\r\n r =>\r\n r.supplierId === agreementRow.supplierId &&\r\n r.truckType === truckType.id\r\n );\r\n if (qp !== undefined) {\r\n agreementRow.numLoadsOffered = qp.numLoadsOffered;\r\n agreementRow.numLoadsLoaded = qp.numLoadsLoaded;\r\n agreementRow.qualityPointsRankingType = qp.rankingType;\r\n agreementRow.baseParameterPoints = qp.baseParameterPoints;\r\n agreementRow.parameterFactor = qp.factor;\r\n agreementRow.subjectivePoints = qp.subjectivePoints;\r\n agreementRow.pricePoints = qp.pricePoints;\r\n agreementRow.factoredParameterPoints =\r\n qp.factoredParameterPoints;\r\n agreementRow.totalPoints = qp.totalPoints;\r\n }\r\n }\r\n }\r\n this.qualityPointsLoading = false;\r\n });\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchLimitingDates() {\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .agreementLimitingDates(this.agreementId)\r\n .then(res => {\r\n this.limitingDates = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n handleDrop(drop: DropResult) {\r\n if (drop === null) {\r\n return; //Kan ske ibland om man är för snabb.\r\n }\r\n this.beforeModification();\r\n let truckTypeId = drop.payload;\r\n let fromIndex = drop.removedIndex;\r\n let toIndex = drop.addedIndex;\r\n let movedRow = this.getAgreementRowByIndex(truckTypeId, fromIndex);\r\n this._moveAgreementRow(truckTypeId, fromIndex, toIndex);\r\n\r\n let aboveRow = this.getAgreementRowByIndex(truckTypeId, toIndex - 1);\r\n let belowRow = this.getAgreementRowByIndex(truckTypeId, toIndex + 1);\r\n let newRanking = -1;\r\n let cascadeDown = true;\r\n if (aboveRow === undefined) {\r\n newRanking = 1;\r\n } else if (aboveRow.ranking === -1) {\r\n newRanking = -1;\r\n cascadeDown = false;\r\n } else if (\r\n belowRow === undefined ||\r\n aboveRow.ranking !== belowRow.ranking\r\n ) {\r\n newRanking = aboveRow.ranking + 1;\r\n } else {\r\n //Insatt mellan två kort med samma ranking. Även denna får du samma ranking och nedanstående puttas inte ned.\r\n newRanking = aboveRow.ranking;\r\n cascadeDown = false;\r\n }\r\n\r\n if (cascadeDown) {\r\n let agreementRowsToDown = this.getAgreementRowsByRankingAndBelow(\r\n truckTypeId,\r\n newRanking\r\n );\r\n this._downRankingCascade(agreementRowsToDown);\r\n }\r\n movedRow.ranking = newRanking;\r\n this._fillRanking(truckTypeId, \"compact\");\r\n this.afterModification(true);\r\n },\r\n getTruckType(truckTypeId: number) {\r\n let truckType = this.agreement.truckTypes!.filter(\r\n tt => tt.id === truckTypeId\r\n )[0];\r\n if (truckType === undefined) {\r\n throw new Error(\"Could not find trucktype with id \" + truckTypeId);\r\n }\r\n return truckType;\r\n },\r\n getAllAgreementRows() {\r\n let agreementRows: RankingAgreementRowSaveDto[] = [];\r\n for (let truckType of this.agreement!.truckTypes!) {\r\n agreementRows = agreementRows.concat(\r\n truckType.agreementRows!.map(\r\n ar =>\r\n new RankingAgreementRowSaveDto({\r\n truckTypeId: truckType.id,\r\n supplierId: ar.supplierId,\r\n ranking: ar.ranking,\r\n rankingType: ar.currentRankingType\r\n })\r\n )\r\n );\r\n }\r\n return agreementRows;\r\n },\r\n getAgreementRowByIndex(truckTypeId: number, index: number) {\r\n let truckType = this.getTruckType(truckTypeId);\r\n let agreementRow = truckType.agreementRows![index];\r\n return agreementRow;\r\n },\r\n getAgreementRowByIndexAndBelow(truckTypeId: number, index: number) {\r\n let truckType = this.getTruckType(truckTypeId);\r\n let agreementRows = truckType\r\n .agreementRows!.slice(index)\r\n .filter(ar => ar.ranking > 0);\r\n return agreementRows;\r\n },\r\n getAgreementRowsByRankingAndBelow(truckTypeId: number, ranking: number) {\r\n let truckType = this.getTruckType(truckTypeId);\r\n return truckType.agreementRows!.filter(ar => ar.ranking >= ranking);\r\n },\r\n _moveAgreementRow(truckTypeId: number, from: number, to: number) {\r\n let truckType = this.getTruckType(truckTypeId);\r\n truckType.agreementRows!.splice(\r\n to,\r\n 0,\r\n truckType.agreementRows!.splice(from, 1)[0]\r\n );\r\n },\r\n removeAgreementRow(\r\n truckTypeId: number,\r\n index: number,\r\n compact: boolean = true\r\n ) {\r\n this.beforeModification();\r\n this._removeAgreementRow(truckTypeId, index, compact);\r\n this.afterModification(true);\r\n },\r\n _removeAgreementRow(\r\n truckTypeId: number,\r\n index: number,\r\n compact: boolean = true\r\n ) {\r\n let agreementRow = this.getAgreementRowByIndex(truckTypeId, index);\r\n agreementRow.ranking = -1;\r\n let truckType = this.getTruckType(truckTypeId);\r\n let lastIndex = truckType.agreementRows!.length - 1;\r\n this._moveAgreementRow(truckTypeId, index, lastIndex);\r\n\r\n if (truckType.agreementRows![lastIndex].supplierId === -1) {\r\n //Om kortet va tomt tar vi bort det helt.\r\n truckType.agreementRows!.pop();\r\n }\r\n if (compact) {\r\n this._fillRanking(truckTypeId, \"compact\"); //Tryck ihop om det blev hål.\r\n }\r\n },\r\n removeAllAgreementRows(truckTypeId: number) {\r\n this.beforeModification();\r\n if (this.getTruckType(truckTypeId).agreementRows!.length === 0) {\r\n return;\r\n }\r\n while (this.getTruckType(truckTypeId).agreementRows![0].ranking >= 0) {\r\n this._removeAgreementRow(truckTypeId, 0);\r\n }\r\n this.afterModification(true);\r\n },\r\n removeSupplier(supplierId: number) {\r\n this.beforeModification();\r\n for (let truckType of this.agreement.truckTypes!) {\r\n let agreementRow = truckType.agreementRows!.find(\r\n ar => ar.supplierId === supplierId\r\n );\r\n if (agreementRow !== undefined) {\r\n let index = truckType.agreementRows!.indexOf(agreementRow);\r\n this._removeAgreementRow(truckType.id, index);\r\n }\r\n }\r\n this.afterModification(true);\r\n },\r\n restoreAgreementRow(truckTypeId: number, fromIndex: number) {\r\n this.beforeModification();\r\n let truckType = this.getTruckType(truckTypeId);\r\n for (\r\n let toIndex = truckType.agreementRows!.length - 1;\r\n toIndex >= 0;\r\n toIndex--\r\n ) {\r\n let ranking = truckType.agreementRows![toIndex].ranking;\r\n if (ranking > 0 || toIndex === 0) {\r\n if (toIndex === 0 && ranking <= 0) {\r\n //Specialare om ingen är rankad.\r\n ranking = 0;\r\n toIndex = -1;\r\n }\r\n let newRanking = ranking + 1;\r\n let restoredAgreementRow = this.getAgreementRowByIndex(\r\n truckTypeId,\r\n fromIndex\r\n );\r\n restoredAgreementRow.ranking = newRanking;\r\n this._moveAgreementRow(truckTypeId, fromIndex, toIndex + 1);\r\n break;\r\n }\r\n }\r\n this.afterModification(true);\r\n },\r\n rankByPrice(truckTypeId: number | undefined) {\r\n this.beforeModification();\r\n let truckTypeIds: number[] = [];\r\n if (truckTypeId !== undefined) {\r\n truckTypeIds.push(truckTypeId);\r\n } else {\r\n truckTypeIds = truckTypeIds.concat(\r\n this.agreement.truckTypes!.map(t => t.id)\r\n );\r\n }\r\n for (let id of truckTypeIds) {\r\n this._rank(id, \"price\");\r\n }\r\n this.afterModification(false);\r\n },\r\n rankByQP(truckTypeId: number | undefined) {\r\n this.beforeModification();\r\n let truckTypeIds: number[] = [];\r\n if (truckTypeId !== undefined) {\r\n truckTypeIds.push(truckTypeId);\r\n } else {\r\n truckTypeIds = truckTypeIds.concat(\r\n this.agreement.truckTypes!.map(t => t.id)\r\n );\r\n }\r\n for (let id of truckTypeIds) {\r\n this._rank(id, \"qp\");\r\n }\r\n this.afterModification(false);\r\n },\r\n _rank(truckTypeId: number, method: string) {\r\n let truckType = this.getTruckType(truckTypeId);\r\n let removed = truckType.agreementRows!.filter(ar => ar.ranking === -1);\r\n let rankable = truckType.agreementRows!.filter(\r\n ar => ar.ranking >= 0 && ar.supplierId !== -1\r\n );\r\n let rowsAndWeight = rankable.map(ar => {\r\n return {\r\n ar: ar,\r\n priceWeight: this.priceWeight(this.cargoTypeId, ar),\r\n qpWeight: -ar.totalPoints!,\r\n rankingType:\r\n method === \"qp\" ? ar.qualityPointsRankingType : RankingType.Price\r\n };\r\n });\r\n rowsAndWeight.sort((ar1, ar2) => {\r\n let weight1 = ar1.priceWeight - ar2.priceWeight;\r\n let weight2 = ar1.qpWeight - ar2.qpWeight;\r\n let weight3 = Math.random();\r\n if (method === \"qp\") {\r\n [weight1, weight2] = [weight2, weight1];\r\n }\r\n return weight1 || weight2 || weight3;\r\n });\r\n let ranking = 1;\r\n for (let raw of rowsAndWeight) {\r\n raw.ar.ranking = ranking++;\r\n raw.ar.currentRankingType = raw.rankingType;\r\n }\r\n truckType.agreementRows = [\r\n ...rowsAndWeight.map(raw => raw.ar),\r\n ...removed\r\n ];\r\n },\r\n priceWeight(cargoTypeId: number, agreementRow: RankingAgreementRowDto) {\r\n //Viktigt att denna alltid stämmer överäns exakt med backends version av prisranking\r\n let price = this.ensureGoodValue(agreementRow.freightPrice);\r\n let serviceFee = this.ensureGoodValue(agreementRow.serviceFee);\r\n let initialFee = this.ensureGoodValue(agreementRow.initialFee);\r\n switch (cargoTypeId) {\r\n case CargoType.Road:\r\n return price;\r\n case CargoType.Railroad:\r\n return price;\r\n case CargoType.Container:\r\n return price + serviceFee / 10;\r\n case CargoType.MachineTransport:\r\n return price + initialFee / 100;\r\n default:\r\n return 0;\r\n }\r\n },\r\n ensureGoodValue(value: number | undefined) {\r\n if (value === undefined || value === null) {\r\n return 0;\r\n } else if (value < 0) {\r\n this.$store.dispatch(\r\n actions.handleBasicError,\r\n \"Agreement \" +\r\n this.agreement.id +\r\n \" contained negative value \" +\r\n value\r\n );\r\n return 0;\r\n } else {\r\n return value;\r\n }\r\n },\r\n _createEmptyRankingCard(ranking: number) {\r\n return new RankingAgreementRowDto({\r\n truckType: TruckType.TruckAndWagon,\r\n supplierId: -1,\r\n supplierName: Math.random()\r\n .toString(36)\r\n .substring(2, 12),\r\n basePrice: -1,\r\n unitBasePrice: -1,\r\n freightPrice: -1,\r\n stopPrice: undefined,\r\n serviceFee: undefined,\r\n initialFee: undefined,\r\n share: 0,\r\n note: undefined,\r\n ranking: ranking,\r\n totalPoints: undefined,\r\n currentRankingType: RankingType.Manual,\r\n qualityPointsRankingType: RankingType.Manual,\r\n numLoadsLoaded: 0,\r\n numLoadsOffered: 0,\r\n baseParameterPoints: undefined,\r\n parameterFactor: undefined,\r\n factoredParameterPoints: undefined,\r\n subjectivePoints: undefined,\r\n pricePoints: undefined,\r\n indexFactor: 0,\r\n baseIndexName: undefined\r\n });\r\n },\r\n _removeUnnecessaryEmptyCards(truckTypeId: number) {\r\n let truckType = this.getTruckType(truckTypeId);\r\n for (let i = 0; i < truckType.agreementRows!.length; i++) {\r\n let agreementRow = truckType.agreementRows![i];\r\n if (\r\n agreementRow.supplierId === -1 &&\r\n truckType.agreementRows!.filter(\r\n ar => ar.ranking === agreementRow.ranking\r\n ).length > 1\r\n ) {\r\n this._removeAgreementRow(truckTypeId, i, false);\r\n this._removeUnnecessaryEmptyCards(truckTypeId);\r\n break;\r\n }\r\n }\r\n },\r\n _fillRanking(truckTypeId: number, strategy: string) {\r\n this._removeUnnecessaryEmptyCards(truckTypeId);\r\n let truckType = this.getTruckType(truckTypeId);\r\n let prevRanking = 0;\r\n for (let i = 0; i < truckType.agreementRows!.length; i++) {\r\n let ranking = truckType.agreementRows![i].ranking;\r\n if (ranking > prevRanking + 1) {\r\n if (strategy === \"cards\") {\r\n truckType.agreementRows!.splice(\r\n i,\r\n 0,\r\n this._createEmptyRankingCard(prevRanking + 1)\r\n );\r\n } else if (strategy === \"compact\") {\r\n let agreementRowsToUp = this.getAgreementRowsByRankingAndBelow(\r\n truckTypeId,\r\n ranking\r\n );\r\n this._upRankingCascade(agreementRowsToUp);\r\n }\r\n this._fillRanking(truckTypeId, strategy);\r\n break;\r\n } else {\r\n prevRanking = ranking;\r\n }\r\n }\r\n },\r\n _upRankingCascade(agreementRows: RankingAgreementRowDto[]) {\r\n for (let agreementRow of agreementRows) {\r\n if (agreementRow.ranking > 1) {\r\n agreementRow.ranking--;\r\n }\r\n }\r\n },\r\n _downRankingCascade(agreementRows: RankingAgreementRowDto[]) {\r\n for (let agreementRow of agreementRows) {\r\n agreementRow.ranking++;\r\n }\r\n },\r\n explode(truckTypeId: number, index: number) {\r\n this.beforeModification();\r\n let agreementRows = this.getAgreementRowByIndexAndBelow(\r\n truckTypeId,\r\n index\r\n );\r\n this._downRankingCascade(agreementRows);\r\n this._fillRanking(truckTypeId, \"cards\");\r\n this.afterModification(true);\r\n },\r\n implode(truckTypeId: number, index: number) {\r\n this.beforeModification();\r\n if (index > 0) {\r\n let cardRanking = this.getAgreementRowByIndex(truckTypeId, index)\r\n .ranking;\r\n let aboveRanking = this.getAgreementRowByIndex(truckTypeId, index - 1)\r\n .ranking;\r\n if (cardRanking === aboveRanking && cardRanking !== -1) {\r\n //Inget ska ske om de redan har samma ranking\r\n return;\r\n }\r\n }\r\n let agreementRows = this.getAgreementRowByIndexAndBelow(\r\n truckTypeId,\r\n index\r\n );\r\n this._upRankingCascade(agreementRows);\r\n this._fillRanking(truckTypeId, \"cards\");\r\n this.afterModification(true);\r\n },\r\n secondaryValue(agreementRow: RankingAgreementRowDto) {\r\n let value: number | undefined;\r\n switch (this.cargoTypeId) {\r\n case CargoType.Road:\r\n value = agreementRow.stopPrice;\r\n break;\r\n case CargoType.Railroad:\r\n value = undefined;\r\n break;\r\n case CargoType.Container:\r\n value = agreementRow.serviceFee;\r\n break;\r\n case CargoType.MachineTransport:\r\n value = agreementRow.initialFee;\r\n break;\r\n }\r\n if (value) {\r\n return \"(\" + value + \")\";\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n validateDateForm() {\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.form;\r\n form.validate();\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n prevAgreementLoading: boolean;\r\n qualityPointsLoading: boolean;\r\n datesValid: boolean;\r\n agreement: RankingAgreementDto;\r\n prevAgreement: RankingAgreementDto;\r\n limitingDates: AgreementLimitingDatesDto;\r\n rankingState: RankingAgreementDto[];\r\n } => ({\r\n loading: true,\r\n prevAgreementLoading: true,\r\n qualityPointsLoading: true,\r\n datesValid: true,\r\n agreement: new RankingAgreementDto(),\r\n prevAgreement: new RankingAgreementDto(),\r\n limitingDates: new AgreementLimitingDatesDto({\r\n prevAgreementEnd: CDate.minDate(),\r\n nextAgreementStart: CDate.maxDate()\r\n }),\r\n rankingState: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RankingDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./RankingDialog.vue?vue&type=template&id=77db94f2&scoped=true&\"\nimport script from \"./RankingDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./RankingDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./RankingDialog.vue?vue&type=style&index=0&id=77db94f2&scoped=true&lang=css&\"\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 \"77db94f2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCardActions,VCol,VForm,VIcon,VRow,VSheet,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('NewProcurementPeriod'),\"width\":700},on:{\"close\":function($event){return _vm.closeDialog(false)}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('FromWithInitialCaps'),\"gteToday\":\"\",\"zone\":_vm.procurementZone},model:{value:(_vm.newPeriod.fromDate),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"fromDate\", $$v)},expression:\"newPeriod.fromDate\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('ToWithInitialCaps'),\"gteDates\":[_vm.newPeriod.fromDate],\"gteText\":_vm.$t('DatePeriodGreaterThanEqual'),\"zone\":_vm.procurementZone},model:{value:(_vm.newPeriod.toDate),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"toDate\", $$v)},expression:\"newPeriod.toDate\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('RankingMethod'),\"items\":_vm.rankingMethods},model:{value:(_vm.newPeriod.rankingMethod),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"rankingMethod\", $$v)},expression:\"newPeriod.rankingMethod\"}})],1)],1),(_vm.qualityPointsMethodSelected)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('p',{staticClass:\"body-1 small-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"QualityPointsCalculationPeriod\"))+\": \")])]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('FromWithInitialCaps'),\"zone\":_vm.procurementZone},model:{value:(_vm.newPeriod.qualityPointsFromDate),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"qualityPointsFromDate\", $$v)},expression:\"newPeriod.qualityPointsFromDate\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('ToWithInitialCaps'),\"gteDates\":[_vm.newPeriod.qualityPointsFromDate],\"gteText\":_vm.$t('DatePeriodGreaterThanEqual'),\"zone\":_vm.procurementZone},model:{value:(_vm.newPeriod.qualityPointsToDate),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"qualityPointsToDate\", $$v)},expression:\"newPeriod.qualityPointsToDate\"}})],1)],1):_vm._e(),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\"},[_c('TextMulti',{attrs:{\"label\":_vm.$t('MessageToSupplier'),\"rows\":6,\"max-length\":5000},model:{value:(_vm.newPeriod.messageToSupplier),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"messageToSupplier\", $$v)},expression:\"newPeriod.messageToSupplier\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom small-padding-top\"},[_c('Checkbox',{attrs:{\"label\":_vm.$t('NotifyViaEmail')},model:{value:(_vm.newPeriod.sendEmails),callback:function ($$v) {_vm.$set(_vm.newPeriod, \"sendEmails\", $$v)},expression:\"newPeriod.sendEmails\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom small-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"ExtendProcurementWarningText\"))+\" \")])],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.valid,\"loading\":_vm.loading},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport {\r\n ProcurementsClientClient,\r\n ApiConfiguration,\r\n RankingMethod,\r\n AddProcurementPeriodDto,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { AgreementDataDtoX } from \"@/scripts/types\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport { rankingMethods } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DatePicker,\r\n Checkbox,\r\n TextMulti,\r\n Dropdown\r\n },\r\n props: {\r\n dialog: Boolean,\r\n selectedAgreements: Array\r\n },\r\n watch: {\r\n selectedAgreements: {\r\n handler() {\r\n let selectedAgreements = this.selectedAgreements as AgreementDataDtoX[];\r\n this.newPeriod.agreementIds = selectedAgreements.map(a => a.id);\r\n this.newPeriod.fromDate = CDate.now(this.procurementZone).startOfDay();\r\n this.newPeriod.toDate = CDate.now(this.procurementZone).startOfDay();\r\n this.newPeriod.qualityPointsFromDate = CDate.now(this.procurementZone)\r\n .addYears(-1)\r\n .startOfDay();\r\n this.newPeriod.qualityPointsToDate = CDate.now(\r\n this.procurementZone\r\n ).startOfDay();\r\n this.newPeriod.rankingMethod = RankingMethod.NoAutomaticRanking;\r\n this.newPeriod.messageToSupplier = \"\";\r\n },\r\n immediate: true\r\n },\r\n newPeriod: {\r\n handler() {\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.form;\r\n if (form !== undefined) {\r\n form.validate();\r\n }\r\n });\r\n },\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n qualityPointsMethodSelected(): boolean {\r\n return this.newPeriod.rankingMethod === RankingMethod.QualityPoints;\r\n }\r\n },\r\n methods: {\r\n save() {\r\n this.loading = true;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .addProcurementPeriod(this.newPeriod)\r\n .then(() => {\r\n this.loading = false;\r\n this.closeDialog(true);\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.loading = false;\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n closeDialog(reload: boolean) {\r\n this.$emit(\"closeDialog\", reload);\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n valid: boolean;\r\n rankingMethods: RepositoryDto[];\r\n newPeriod: AddProcurementPeriodDto;\r\n procurementZone: TimeZone;\r\n } => ({\r\n loading: false,\r\n valid: true,\r\n rankingMethods: rankingMethods(),\r\n newPeriod: new AddProcurementPeriodDto({\r\n agreementIds: [],\r\n fromDate: CDate.now(TimeZone.Europe_Stockholm),\r\n toDate: CDate.now(TimeZone.Europe_Stockholm),\r\n qualityPointsFromDate: CDate.now(TimeZone.Europe_Stockholm),\r\n qualityPointsToDate: CDate.now(TimeZone.Europe_Stockholm),\r\n rankingMethod: RankingMethod.NoAutomaticRanking,\r\n messageToSupplier: \"\",\r\n sendEmails: true\r\n }),\r\n procurementZone: TimeZone.Europe_Stockholm\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewProcurementPeriodDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewProcurementPeriodDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewProcurementPeriodDialog.vue?vue&type=template&id=bd878d48&\"\nimport script from \"./NewProcurementPeriodDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewProcurementPeriodDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n ProcurementsClientClient,\r\n AgreementsClientClient,\r\n ClientAgreementSearchCriteria,\r\n RankRequest,\r\n RepositoryDto,\r\n ProcurementSupplierRemoveDto,\r\n UserConfigurationType,\r\n ActorType,\r\n ClientGetTruckTypesSearchCriteria\r\n} from \"@/scripts/cld.api\";\r\nimport { AgreementDataDtoX, TableOptions } from \"@/scripts/types\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { popupDialog, errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport AgreementSearch from \"@/components/web/agreements/client/AgreementSearch.vue\";\r\nimport ProcurementTable from \"@/components/web/agreements/client/ProcurementTable.vue\";\r\nimport ProcurementActions from \"@/components/web/agreements/client/ProcurementActions.vue\";\r\nimport RankingDialog from \"@/components/web/agreements/client/RankingDialog.vue\";\r\nimport NewProcurementPeriodDialog from \"@/components/web/agreements/client/NewProcurementPeriodDialog.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementSearch,\r\n ProcurementTable,\r\n ProcurementActions,\r\n RankingDialog,\r\n NewProcurementPeriodDialog\r\n },\r\n watch: {\r\n \"$route.query.cargoType\": {\r\n handler(newVal) {\r\n this.cargoTypeId = Number(newVal);\r\n this.search();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n selectedAgreementIds() {\r\n return this.selectedAgreements.map(a => a.id);\r\n },\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientProcurement,\r\n this.cargoTypeId\r\n );\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.loadingText = \"PleaseWait\";\r\n this.dirtyTable = false;\r\n this.agreements = [];\r\n this.expandedAgreements = [];\r\n this.selectedAgreements = [];\r\n this.selectedAgreementIndex = -1;\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .bySearchCriteria(\r\n new ClientAgreementSearchCriteria(\r\n this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientProcurement,\r\n this.cargoTypeId\r\n )\r\n )\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.agreements = res.map(r => new AgreementDataDtoX(r));\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ClientProcurement,\r\n subTypeId: this.cargoTypeId\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n scrollTableToTop(this);\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.ClientProcurement,\r\n subTypeId: this.cargoTypeId,\r\n actorType: ActorType.Client\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [\"pickupLocation\"];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n agreementExpanded(agreement: AgreementDataDtoX) {\r\n let index = this.expandedAgreements.indexOf(agreement);\r\n if (index === -1) {\r\n this.expandedAgreements.push(agreement);\r\n } else {\r\n this.expandedAgreements.splice(index, 1);\r\n }\r\n if (\r\n index === 1 ||\r\n agreement.truckTypes === undefined ||\r\n agreement.truckTypes.length > 0\r\n ) {\r\n return;\r\n }\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .trucktypesByAgreementId(\r\n new ClientGetTruckTypesSearchCriteria({\r\n agreementId: agreement.id,\r\n truckTypeId: this.searchCriteria.truckType || undefined,\r\n baseIndexDate: this.searchCriteria.unitBasePriceDate\r\n })\r\n )\r\n .then(res => {\r\n if (res.length > 0) {\r\n agreement.truckTypes = res;\r\n } else {\r\n agreement.truckTypes = undefined;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n selectedAgreementsChanged(\r\n selected: boolean,\r\n agreements: AgreementDataDtoX[]\r\n ) {\r\n if (selected) {\r\n this.selectedAgreements = this.selectedAgreements.concat(agreements);\r\n } else {\r\n this.selectedAgreements = this.selectedAgreements.filter(\r\n a => !agreements.find(x => x === a)\r\n );\r\n }\r\n this.selectedAgreements = this.selectedAgreements.filter(\r\n a => a.selectable\r\n );\r\n },\r\n changeDialogAgreement(forward: boolean) {\r\n if (\r\n forward &&\r\n this.selectedAgreementIndex < this.selectedAgreements.length - 1\r\n ) {\r\n this.selectedAgreementIndex++;\r\n } else if (!forward && this.selectedAgreementIndex > 0) {\r\n this.selectedAgreementIndex--;\r\n }\r\n },\r\n removeAgreementFromSelection() {\r\n this.dirtyTable = true;\r\n this.selectedAgreements.splice(this.selectedAgreementIndex, 1);\r\n let newIndex = Math.min(\r\n this.selectedAgreementIndex,\r\n this.selectedAgreements.length - 1\r\n );\r\n this.selectedAgreementIndex = -1;\r\n this.$nextTick(() => {\r\n this.selectedAgreementIndex = newIndex;\r\n if (this.selectedAgreementIndex === -1) {\r\n this.closeRankingDialog();\r\n }\r\n });\r\n },\r\n openRankingDialog(agreementId?: number) {\r\n if (agreementId !== undefined) {\r\n this.selectedAgreements = this.agreements.filter(\r\n a => a.id === agreementId\r\n );\r\n }\r\n this.selectedAgreementIndex = 0;\r\n this.rankingDialog = true;\r\n },\r\n closeRankingDialog() {\r\n this.rankingDialog = false;\r\n this.selectedAgreements = [];\r\n this.selectedAgreementIndex = -1;\r\n if (this.dirtyTable) {\r\n this.search();\r\n }\r\n },\r\n openNewProcurementPeriodDialog() {\r\n this.newProcurementPeriodDialog = true;\r\n },\r\n closeNewProcurementPeriodDialog(reload: boolean) {\r\n this.newProcurementPeriodDialog = false;\r\n if (reload) {\r\n this.search();\r\n }\r\n },\r\n rankByQP() {\r\n this.loading = 1;\r\n this.agreements = [];\r\n this.loadingText = \"QualityRanking\";\r\n let agreementIds = this.selectedAgreementIds;\r\n this.selectedAgreements = [];\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .rankByQualitypoints(\r\n new RankRequest({\r\n agreementIds: agreementIds\r\n })\r\n )\r\n .then(() => {\r\n this.search();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n rankByPrice() {\r\n this.loading = 1;\r\n this.agreements = [];\r\n this.loadingText = \"PriceRanking\";\r\n let agreementIds = this.selectedAgreementIds;\r\n this.selectedAgreements = [];\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .rankByPrice(\r\n new RankRequest({\r\n agreementIds: agreementIds\r\n })\r\n )\r\n .then(() => {\r\n this.search();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n createAgreement() {\r\n popupDialog({\r\n title: this.$t(\"CreateAgreement\").toString(),\r\n body: this.$t(\"CreateAgreementDialogText\").toString(),\r\n btnCallback1: this.createAgreementCallback\r\n });\r\n },\r\n createAgreementCallback() {\r\n this.loading = 1;\r\n this.agreements = [];\r\n this.loadingText = \"CreateAgreement\";\r\n let agreementIds = this.selectedAgreementIds;\r\n this.selectedAgreements = [];\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .finishProcurement(agreementIds)\r\n .then(res => {\r\n this.search();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.search();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n removeSupplier(supplier: RepositoryDto) {\r\n popupDialog({\r\n title: this.$t(\"DeleteSupplier\").toString(),\r\n body: `${this.$t(\"DeleteSupplierDialogText\").toString()} ${\r\n supplier.text\r\n }?`,\r\n btnText1: this.$t(\"Delete\").toString(),\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n this.removeSupplierCallback(supplier.id);\r\n }\r\n });\r\n },\r\n removeSupplierCallback(supplierId: number) {\r\n this.loading = 1;\r\n this.agreements = [];\r\n this.loadingText = \"DeleteSupplier\";\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .removeSupplier(\r\n new ProcurementSupplierRemoveDto({\r\n supplierId: supplierId,\r\n agreementId: this.selectedAgreementIds\r\n })\r\n )\r\n .then(res => {\r\n this.search();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .highestRank()\r\n .then(res => {\r\n this.maxRanking = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .suppliersInProcurements()\r\n .then(res => {\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n this.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n cargoTypeId: number;\r\n rankingDialog: boolean;\r\n newProcurementPeriodDialog: boolean;\r\n dirtyTable: boolean;\r\n loading: number;\r\n loadingText: string;\r\n expandedAgreements: AgreementDataDtoX[];\r\n selectedAgreements: AgreementDataDtoX[];\r\n selectedAgreementIndex: number;\r\n maxRanking: number;\r\n suppliers: RepositoryDto[];\r\n agreements: AgreementDataDtoX[];\r\n tableOptions: TableOptions;\r\n } => ({\r\n cargoTypeId: NaN,\r\n rankingDialog: false,\r\n newProcurementPeriodDialog: false,\r\n dirtyTable: false,\r\n loading: 0,\r\n loadingText: \"\",\r\n expandedAgreements: [],\r\n selectedAgreements: [],\r\n selectedAgreementIndex: 0,\r\n maxRanking: 99,\r\n suppliers: [],\r\n agreements: [],\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 100,\r\n sortBy: [\"pickupLocation\"],\r\n sortDesc: [false]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Procurements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Procurements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Procurements.vue?vue&type=template&id=d4b746b8&\"\nimport script from \"./Procurements.vue?vue&type=script&lang=ts&\"\nexport * from \"./Procurements.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!isNaN(_vm.cargoTypeId))?_c('div',[(!_vm.rankingDialog)?_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementSearch',{attrs:{\"type\":\"procurement-overview\",\"cargoType\":_vm.cargoTypeId,\"exportDisabled\":_vm.exportDisabled,\"exportLoading\":_vm.exportLoading},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AgreementOverviewTable',{attrs:{\"type\":\"procurement-overview\",\"cargoTypeId\":_vm.cargoTypeId,\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"agreementContainer\":_vm.agreementContainer,\"hideAveragePrice\":\"\"},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"openRankingDialog\":_vm.openRankingDialog,\"search\":_vm.search}})],1)],1):_vm._e(),_c('RankingDialog',{attrs:{\"type\":\"procurement-overview\",\"dialog\":_vm.rankingDialog,\"selectedAgreementIds\":_vm.selectedAgreementIds,\"selectedAgreementIndex\":_vm.selectedAgreementIndex,\"cargoTypeId\":_vm.cargoTypeId,\"maxRanking\":_vm.maxRanking},on:{\"closeDialog\":_vm.closeRankingDialog,\"removeAgreementFromSelection\":_vm.closeRankingDialog}})],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('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.agreementContainer.agreementRows,\"item-key\":\"id\",\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"custom-group\":_vm.customGroup,\"server-items-length\":_vm.agreementContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.supplierName\",fn:function(){return [_c('v-row',{staticClass:\"no-margin-sides\"},[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"4\"}},[_c('CustomFilter',{attrs:{\"config\":{ subtype: 'supplier', cargoType: _vm.cargoTypeId },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.supplierId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"supplierId\", $$v)},expression:\"searchCriteria.supplierId\"}})],1),_c('v-col',{staticClass:\"no-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: true,\n cargoType: _vm.cargoTypeId\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupLocationCounty,\n zipCode: _vm.searchCriteria.pickupLocationZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupLocationCounty = val.county;\n _vm.searchCriteria.pickupLocationZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: false,\n cargoType: _vm.cargoTypeId\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryLocationCounty,\n zipCode: _vm.searchCriteria.deliveryLocationZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryLocationCounty = val.county;\n _vm.searchCriteria.deliveryLocationZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})],1)],1)]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currencyType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currencyType\", $$v)},expression:\"searchCriteria.currencyType\"}})]},proxy:true},{key:\"filter.tag\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'tag', cargoType: _vm.cargoTypeId },\"placeholder\":_vm.$t('Tag')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.tag),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"tag\", $$v)},expression:\"searchCriteria.tag\"}})]},proxy:true},{key:\"filter.baseIndexName\",fn:function(){return [_c('CustomFilter',{attrs:{\"value\":_vm.searchCriteria.baseIndexDate\n ? _vm.searchCriteria.baseIndexDate.dateTimePrint()\n : undefined,\"config\":{ subtype: 'baseIndexDate' },\"placeholder\":_vm.$t('BaseIndex')},on:{\"input\":function (v) { return (_vm.searchCriteria.baseIndexDate = _vm.baseIndexDateFromString(v)); },\"search\":_vm.search}})]},proxy:true}],null,true)})]}},{key:\"group.header\",fn:function(ref){\n var items = ref.items;\nreturn [_c('td',{staticClass:\"group-header\",attrs:{\"colspan\":\"2\"}},[_c('span',[_vm._v(_vm._s(_vm.agreementRouteDescription(items[0])))]),(_vm.atleastAdmin)?_c('v-btn',{staticClass:\"group-header-icon transparent-if-disabled\",attrs:{\"disabled\":!_vm.editable(items[0]),\"icon\":\"\",\"x-small\":\"\"}},[_c('v-icon',{on:{\"click\":function($event){return _vm.openRankingDialog(items[0].agreementId)}}},[_vm._v(\" mdi-pencil \")])],1):_vm._e(),(!!items[0].specialRequirements)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"group-header-icon\",attrs:{\"color\":\"red\",\"size\":\"18\"}},on),[_vm._v(\" mdi-exclamation-thick \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(items[0].specialRequirements))])]):_vm._e(),_c('div',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\" . \")])],1),_c('td',{attrs:{\"colspan\":_vm.truckTypeNameColspan}},[_c('span',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(items[0].truckTypeName))+\" \")]),(!_vm.hideAveragePrice)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({},on),[_vm._v(\" \"+_vm._s(((_vm.$t(\"AveragePrice\")) + \" (\" + (_vm.$t(\"Top\")) + \" 5 / \" + (_vm.$t(\"MobileAll\")) + \"):\"))+\" \"),_c('span',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(items[0].averageFreigtPriceTop)+\" / \"+_vm._s(items[0].averageFreigtPriceAll)+\" \")])])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.averagePriceTooltip)+\" \")]):_vm._e()],1),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('span',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(items[0].estimatedNoOfLoads)+\" \")]),_c('div',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\" . \")])]),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('span',{staticClass:\"font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.currencyName(items[0].currency))+\" \")]),_c('div',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\" . \")])]),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('span',[_vm._v(\" \"+_vm._s(items[0].tag)+\" \")]),_c('div',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\" . \")])]),_c('td',{attrs:{\"colspan\":\"1\"}},[_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(items[0].agreementFromDate.datePrint())+\" - \"+_vm._s(items[0].agreementToDate.datePrint())+\" \")]),_c('div',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\" . \")])]),(_vm.isRoad)?_c('td',{attrs:{\"colspan\":\"1\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines clickable\",on:{\"click\":function($event){return _vm.goToIndexes(items[0])}}},on),[_vm._v(\" \"+_vm._s(items[0].baseIndexName)+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.indexTooltip(items[0]))+\" \")]),_c('div',{staticStyle:{\"opacity\":\"0\"}},[_vm._v(\" . \")])],1):_vm._e()]}},{key:\"item.ranking\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.ranking || \"\")+\" \")]}},{key:\"item.basePrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.basePrice, 0))+\" \")])]}},{key:\"item.unitBasePrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.unitBasePrice, 0))+\" \")])]}},{key:\"item.freightPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines clickable\",on:{\"click\":function($event){return _vm.goToIndexes(item)}}},on),[_vm._v(\" \"+_vm._s(_vm.money(item.freightPrice, 0))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.indexTooltip(item))+\" \")])]}},{key:\"item.stopPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.stopPrice, 0))+\" \")])]}},{key:\"item.share\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.share)+\"% \")]}},{key:\"item.note\",fn:function(ref){\n var item = ref.item;\nreturn [(item.note)?_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":0},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"icon-yellow\"}},on),[_vm._v(\" mdi-note \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.note))])]):_vm._e()]}},{key:\"item.estimatedNoOfLoads\",fn:function(){return undefined},proxy:true},{key:\"item.currency\",fn:function(){return undefined},proxy:true},{key:\"item.tag\",fn:function(){return undefined},proxy:true},{key:\"item.agreementPeriod\",fn:function(){return undefined},proxy:true},{key:\"item.baseIndexName\",fn:function(){return undefined},proxy:true}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport {\r\n ClientAgreementContainerDto,\r\n ClientAgreementRowDto,\r\n ClientAgreementSearchCriteria,\r\n CargoType,\r\n UserConfigurationType,\r\n AgreementClientOrderBy,\r\n UserLevel,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n TableHeader,\r\n procurementEditable,\r\n TableOptions\r\n} from \"@/scripts/types\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { indexDateTooltip } from \"@/components/web/loads/client/accordion/AccordionPrices.vue\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n props: {\r\n type: String,\r\n cargoTypeId: Number as () => CargoType,\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n agreementContainer: ClientAgreementContainerDto,\r\n hideAveragePrice: Boolean\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 255);\r\n },\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n let type =\r\n this.type === this.types.agreements\r\n ? UserConfigurationType.ClientAgreement\r\n : UserConfigurationType.ClientProcurement;\r\n return this.$store.getters[gets.userConf](type, this.cargoTypeId);\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n truckTypeNameColspan() {\r\n switch (this.cargoTypeId) {\r\n case CargoType.Road:\r\n return 6;\r\n case CargoType.Container:\r\n return 5;\r\n case CargoType.Railroad:\r\n return 4;\r\n case CargoType.MachineTransport:\r\n return 6;\r\n default:\r\n return neverHappens(this.cargoTypeId);\r\n }\r\n },\r\n averagePriceTooltip(): string {\r\n return t(\"AveragePriceTooltip\").replace(\r\n \"{0}\",\r\n this.cargoTypeId === CargoType.Road\r\n ? t(\"FreightPrice\")\r\n : t(\"AgreedPrice\")\r\n );\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n { value: \"empty\", width: 1 },\r\n {\r\n value: \"supplierName\",\r\n text: \"Supplier\",\r\n sortValue: AgreementClientOrderBy.SupplierName\r\n },\r\n {\r\n value: \"ranking\",\r\n text: \"Ranking\",\r\n sortValue: AgreementClientOrderBy.Ranking,\r\n width: 1\r\n }\r\n ];\r\n if (this.searchCriteria.unitBasePrice) {\r\n headers.push({\r\n value: \"unitBasePrice\",\r\n text: \"UnitBasePrice\",\r\n sortValue: AgreementClientOrderBy.Price,\r\n width: 1\r\n });\r\n } else {\r\n headers.push({\r\n value: \"basePrice\",\r\n text:\r\n this.type === this.types.agreements\r\n ? \"AgreedPrice\"\r\n : \"OfferedPrice\",\r\n sortValue: AgreementClientOrderBy.Price,\r\n width: 1\r\n });\r\n }\r\n switch (this.cargoTypeId) {\r\n case CargoType.Road:\r\n headers.push({\r\n value: \"freightPrice\",\r\n text: \"FreightPrice\",\r\n sortValue: AgreementClientOrderBy.Price,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"stopPrice\",\r\n text: \"StopPrice\",\r\n sortValue: AgreementClientOrderBy.StopPrice,\r\n width: 1\r\n });\r\n break;\r\n case CargoType.Container:\r\n headers.push({\r\n value: \"serviceFee\",\r\n text: \"ServiceFee\",\r\n sortValue: AgreementClientOrderBy.ServiceFee,\r\n width: 1\r\n });\r\n break;\r\n case CargoType.MachineTransport:\r\n headers.push({\r\n value: \"initialFee\",\r\n text: \"TruckTypeFee\",\r\n sortValue: AgreementClientOrderBy.InitialFee,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"stopPrice\",\r\n text: \"StopPrice\",\r\n sortValue: AgreementClientOrderBy.StopPrice,\r\n width: 1\r\n });\r\n break;\r\n }\r\n headers.push({\r\n value: \"share\",\r\n text: \"Share\",\r\n sortValue: AgreementClientOrderBy.Share,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"note\",\r\n text: \"Note\",\r\n sortValue: AgreementClientOrderBy.Note,\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"estimatedNoOfLoads\",\r\n text: \"NumberOfEstimatedLoads\",\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"currency\",\r\n text: \"Currency\",\r\n width: 70\r\n });\r\n headers.push({\r\n value: \"tag\",\r\n text: \"Tag\",\r\n width: 110\r\n });\r\n headers.push({\r\n value: \"agreementPeriod\",\r\n text: \"AgreementPeriod\",\r\n width: 1\r\n });\r\n if (this.cargoTypeId === CargoType.Road) {\r\n headers.push({\r\n value: \"baseIndexName\",\r\n text: \"BaseIndex\",\r\n width: 115\r\n });\r\n }\r\n return headers;\r\n },\r\n isRoad(): boolean {\r\n return this.cargoTypeId === CargoType.Road;\r\n },\r\n atleastAdmin(): boolean {\r\n return [UserLevel.Admin, UserLevel.SuperAdmin].includes(this.userLevel);\r\n },\r\n userLevel(): UserLevel {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n percentage: percentage,\r\n baseIndexDateFromString(dateString: string | undefined): CDate | undefined {\r\n return dateString\r\n ? CDate.fromString(dateString, TimeZone.Europe_Stockholm)\r\n : undefined;\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n agreementRouteDescription(item: ClientAgreementRowDto): string {\r\n return (\r\n `${item.pickupCounty}, ${item.pickupZipcode}, ${item.pickupCountryISO} - ` +\r\n `${item.deliveryCounty}, ${item.deliveryZipcode}, ${item.deliveryCountryISO}`\r\n );\r\n },\r\n openRankingDialog(agreementId: number) {\r\n this.$emit(\"openRankingDialog\", agreementId);\r\n },\r\n editable(item: ClientAgreementRowDto): boolean {\r\n return procurementEditable(\r\n item.procurementFromDate,\r\n item.procurementToDate\r\n );\r\n },\r\n customGroup(\r\n items: ClientAgreementRowDto[]\r\n ): { name: string; sortVal: string; items: ClientAgreementRowDto[] }[] {\r\n let res: {\r\n name: string;\r\n sortVal: string;\r\n items: ClientAgreementRowDto[];\r\n }[] = [];\r\n for (let ar of items) {\r\n const matchingGroup = res.find(\r\n x => x.name === ar.agreementId.toString() + ar.truckTypeName\r\n );\r\n if (matchingGroup) {\r\n matchingGroup.items.push(ar);\r\n } else {\r\n res.push({\r\n name: ar.agreementId.toString() + ar.truckTypeName,\r\n sortVal: this.agreementRouteDescription(ar),\r\n items: [ar]\r\n });\r\n }\r\n }\r\n res.sort((a, b) => {\r\n return stringCompare(a.sortVal, b.sortVal);\r\n });\r\n return res;\r\n },\r\n indexTooltip(item: ClientAgreementRowDto): string {\r\n return indexDateTooltip(\r\n item.indexFactor,\r\n item.baseIndexName!,\r\n this.searchCriteria.date\r\n );\r\n },\r\n goToIndexes(item: ClientAgreementRowDto) {\r\n window.open(\r\n `/indexes?from=${item.baseIndexDate.datePrint()}&to=${this.searchCriteria.date!.datePrint()}`,\r\n \"_blank\"\r\n );\r\n }\r\n },\r\n data: (): { types: { agreements: string; procurementOverview: string } } => ({\r\n types: {\r\n agreements: \"agreements\",\r\n procurementOverview: \"procurement-overview\"\r\n }\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementOverviewTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementOverviewTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementOverviewTable.vue?vue&type=template&id=61555620&\"\nimport script from \"./AgreementOverviewTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementOverviewTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VDataTable,VIcon,VRow,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport {\r\n ApiConfiguration,\r\n ClientAgreementContainerDto,\r\n ClientAgreementSearchCriteriaContainer,\r\n ClientAgreementSearchCriteria,\r\n AgreementClientOrderBy,\r\n ProcurementsClientClient,\r\n AgreementsClientClient,\r\n UserConfigurationType,\r\n ActorType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport AgreementSearch from \"@/components/web/agreements/client/AgreementSearch.vue\";\r\nimport AgreementOverviewTable from \"@/components/web/agreements/client/AgreementOverviewTable.vue\";\r\nimport RankingDialog from \"@/components/web/agreements/client/RankingDialog.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementSearch,\r\n AgreementOverviewTable,\r\n RankingDialog\r\n },\r\n watch: {\r\n \"$route.query.cargoType\": {\r\n handler(newVal, oldVal) {\r\n this.cargoTypeId = Number(newVal);\r\n if (isNaN(this.cargoTypeId)) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: { ...this.$route.query, cargoType: \"1\" }\r\n });\r\n return;\r\n }\r\n if (oldVal !== undefined) {\r\n this.agreementContainer.agreementRows = [];\r\n this.search();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n sorting(): { orderBy: AgreementClientOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as AgreementClientOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientProcurement,\r\n this.cargoTypeId\r\n );\r\n }\r\n },\r\n methods: {\r\n search(tableOptionsTriggered?: boolean) {\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .overviewBySearchCriteria(\r\n new ClientAgreementSearchCriteriaContainer({\r\n agreementSearchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.agreementContainer = res;\r\n this.exportDisabled =\r\n this.agreementContainer.agreementRows!.length === 0;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ClientProcurement,\r\n subTypeId: this.cargoTypeId\r\n });\r\n },\r\n openRankingDialog(agreementId: number) {\r\n this.selectedAgreementIds = [agreementId];\r\n this.selectedAgreementIndex = 0;\r\n this.rankingDialog = true;\r\n },\r\n closeRankingDialog() {\r\n this.rankingDialog = false;\r\n this.selectedAgreementIds = [];\r\n this.selectedAgreementIndex = -1;\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.ClientProcurement,\r\n subTypeId: this.cargoTypeId,\r\n actorType: ActorType.Client\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [AgreementClientOrderBy.Ranking];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ProcurementsClientClient(new ApiConfiguration(this.$store))\r\n .exportToExcel(\r\n new ClientAgreementSearchCriteriaContainer({\r\n agreementSearchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n mounted() {\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .highestRank()\r\n .then(res => {\r\n this.maxRanking = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n cargoTypeId: number;\r\n loading: number;\r\n rankingDialog: boolean;\r\n exportDisabled: boolean;\r\n exportLoading: boolean;\r\n selectedAgreementIds: number[];\r\n selectedAgreementIndex: number;\r\n maxRanking: number;\r\n tableOptions: TableOptions;\r\n agreementContainer: ClientAgreementContainerDto;\r\n } => ({\r\n cargoTypeId: NaN,\r\n loading: 0,\r\n rankingDialog: false,\r\n exportDisabled: true,\r\n exportLoading: false,\r\n selectedAgreementIds: [],\r\n selectedAgreementIndex: -1,\r\n maxRanking: 99,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [AgreementClientOrderBy.Ranking],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n }),\r\n agreementContainer: new ClientAgreementContainerDto({\r\n count: 0,\r\n agreementRows: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementOverview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementOverview.vue?vue&type=template&id=cc3eb6fc&\"\nimport script from \"./ProcurementOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementOverview.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!isNaN(_vm.cargoTypeId))?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementSearch',{attrs:{\"type\":\"agreements\",\"cargoType\":_vm.cargoTypeId,\"exportDisabled\":_vm.exportDisabled,\"exportLoading\":_vm.exportLoading},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),(!_vm.rankingDialog)?_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AgreementOverviewTable',{attrs:{\"type\":\"agreements\",\"cargoTypeId\":_vm.cargoTypeId,\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"agreementContainer\":_vm.agreementContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"openRankingDialog\":_vm.openRankingDialog,\"search\":_vm.search}})],1):_vm._e()],1),_c('RankingDialog',{attrs:{\"type\":\"agreements\",\"dialog\":_vm.rankingDialog,\"selectedAgreementIds\":_vm.selectedAgreementIds,\"selectedAgreementIndex\":_vm.selectedAgreementIndex,\"cargoTypeId\":_vm.cargoTypeId,\"maxRanking\":_vm.maxRanking},on:{\"closeDialog\":_vm.closeRankingDialog,\"removeAgreementFromSelection\":_vm.closeRankingDialog}})],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\r\nimport Vue from \"vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n AgreementClientOrderBy,\r\n ClientAgreementSearchCriteriaContainer,\r\n ClientAgreementSearchCriteria,\r\n AgreementsClientClient,\r\n ApiConfiguration,\r\n ClientAgreementContainerDto,\r\n UserConfigurationType,\r\n ActorType,\r\n UserLevel,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport AgreementSearch from \"@/components/web/agreements/client/AgreementSearch.vue\";\r\nimport AgreementOverviewTable from \"@/components/web/agreements/client/AgreementOverviewTable.vue\";\r\nimport RankingDialog from \"@/components/web/agreements/client/RankingDialog.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementSearch,\r\n AgreementOverviewTable,\r\n RankingDialog\r\n },\r\n watch: {\r\n \"$route.query.cargoType\": {\r\n handler(newVal, oldVal) {\r\n this.cargoTypeId = Number(newVal);\r\n this.searchCriteria.date = CDate.now(this.actorZone);\r\n if (oldVal !== undefined) {\r\n this.agreementContainer.agreementRows = [];\r\n this.search();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n sorting(): { orderBy: AgreementClientOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as AgreementClientOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n searchCriteria(): ClientAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientAgreement,\r\n this.cargoTypeId\r\n );\r\n },\r\n atleastAdmin(): boolean {\r\n return [UserLevel.Admin, UserLevel.SuperAdmin].includes(this.userLevel);\r\n },\r\n userLevel(): UserLevel {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n }\r\n },\r\n methods: {\r\n search(tableOptionsTriggered?: boolean) {\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .bySearchCriteria(\r\n new ClientAgreementSearchCriteriaContainer({\r\n agreementSearchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.agreementContainer = res;\r\n this.exportDisabled =\r\n this.agreementContainer.agreementRows!.length === 0;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ClientAgreement,\r\n subTypeId: this.cargoTypeId\r\n });\r\n },\r\n openRankingDialog(agreementId: number) {\r\n this.selectedAgreementIds = [agreementId];\r\n this.selectedAgreementIndex = 0;\r\n this.rankingDialog = true;\r\n },\r\n closeRankingDialog() {\r\n this.rankingDialog = false;\r\n this.selectedAgreementIds = [];\r\n this.selectedAgreementIndex = -1;\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.ClientAgreement,\r\n subTypeId: this.cargoTypeId,\r\n actorType: ActorType.Client\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [AgreementClientOrderBy.Ranking];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .exportToExcel(\r\n new ClientAgreementSearchCriteriaContainer({\r\n agreementSearchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n if (this.atleastAdmin) {\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .highestRank()\r\n .then(res => {\r\n this.maxRanking = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n cargoTypeId: number;\r\n loading: number;\r\n rankingDialog: boolean;\r\n exportDisabled: boolean;\r\n exportLoading: boolean;\r\n selectedAgreementIds: number[];\r\n selectedAgreementIndex: number;\r\n maxRanking: number;\r\n tableOptions: TableOptions;\r\n agreementContainer: ClientAgreementContainerDto;\r\n } => ({\r\n cargoTypeId: NaN,\r\n loading: 0,\r\n rankingDialog: false,\r\n exportDisabled: true,\r\n exportLoading: false,\r\n selectedAgreementIds: [],\r\n selectedAgreementIndex: -1,\r\n maxRanking: 99,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [AgreementClientOrderBy.Ranking],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n }),\r\n agreementContainer: new ClientAgreementContainerDto({\r\n count: 0,\r\n agreementRows: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Agreements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Agreements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Agreements.vue?vue&type=template&id=574be7a2&\"\nimport script from \"./Agreements.vue?vue&type=script&lang=ts&\"\nexport * from \"./Agreements.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.title,\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.suppliers,\"height\":_vm.tableHeight,\"loading\":_vm.loading,\"mobile-breakpoint\":\"0\",\"sort-by\":\"percentage\",\"sort-desc\":\"\",\"must-sort\":\"\",\"disable-pagination\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Survey_Supplier')},model:{value:(_vm.supplierFilter),callback:function ($$v) {_vm.supplierFilter=$$v},expression:\"supplierFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.leaf\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.fairTransportCertified)?_c('div',{staticClass:\"small-padding-left\"},[_c('v-img',{attrs:{\"src\":_vm.ftLogo,\"height\":\"24\",\"width\":\"24\"}})],1):(item.answerDate)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.selectedSupplierId = item.actorId}}},[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\" mdi-leaf \")])],1):_vm._e()]}},{key:\"item.percentage\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.fairTransportCertified ? \"-\" : item.percentage || \"-\")+\" \")]}},{key:\"item.answerDate\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.fairTransportCertified ? item.fairTransportCertifiedDate.datePrint() : item.answerDate ? item.answerDate.datePrint() : undefined)+\" \")]}},{key:\"item.respondentName\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.fairTransportCertified ? _vm.$t(\"FairTransport\") : item.respondentName)+\" \")]}},{key:\"item.respondentRole\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.fairTransportCertified ? _vm.$t(\"FairTransport\") : item.respondentRole)+\" \")]}},{key:\"item.iteration\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.fairTransportCertified ? \"-\" : item.iteration)+\" \")]}}],null,true)})]},proxy:true}])})],1)],1),_c('SurveyDialog',{attrs:{\"supplierId\":_vm.selectedSupplierId},on:{\"close\":function($event){_vm.selectedSupplierId = undefined}}})],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('DialogCard',{attrs:{\"dialog\":_vm.supplierId !== undefined,\"title\":_vm.title,\"width\":1100,\"loading\":_vm.loading,\"full-height\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('SurveyContent',{attrs:{\"readonly\":true,\"answerGroups\":_vm.answerGroups}})]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.submission !== undefined)?_c('v-row',{staticClass:\"background-pale\"},[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AuthorizedSignatory\"))+\": \"+_vm._s(_vm.submission.respondentName)+\" (\"+_vm._s(_vm.submission.respondentRole)+\") \")]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ResponseDate\"))+\": \"+_vm._s(_vm.submission.answerDate.datePrint())+\" \")]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ResultPercentage\"))+\": \"+_vm._s(_vm.submission.pointsPercentage)+\"% \")])],1):_vm._e()]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import {\r\n Question,\r\n QuestionGroupDto,\r\n SurveyAnswerRowDto\r\n} from \"@/scripts/cld.api\";\r\n\r\nexport interface SurveyQuestion {\r\n id: number;\r\n question: string;\r\n options?: Record;\r\n freetext?: boolean;\r\n}\r\n\r\nexport class SurveyAnswerRowDtoX extends SurveyAnswerRowDto {\r\n valid: boolean;\r\n constructor(data: SurveyAnswerRowDto) {\r\n super(data);\r\n this.valid = false;\r\n }\r\n}\r\n\r\nexport interface SurveyAnswerRowDtoXGroup {\r\n name: string;\r\n answers: SurveyAnswerRowDtoX[];\r\n}\r\n\r\nexport const getAnswerGroups = (\r\n answerRows: SurveyAnswerRowDto[],\r\n questionGroups: QuestionGroupDto[]\r\n) => {\r\n return questionGroups.map(g => {\r\n return {\r\n name: g.name,\r\n answers: g.questions!.map(q => {\r\n const row = new SurveyAnswerRowDtoX(\r\n new SurveyAnswerRowDto({\r\n questionId: q,\r\n selectedOption: undefined,\r\n text: undefined\r\n })\r\n );\r\n const matches = answerRows.filter(r => r.questionId === q);\r\n if (matches.length > 0) {\r\n row.selectedOption = matches[0].selectedOption!;\r\n row.text = matches[0].text;\r\n }\r\n return row;\r\n })\r\n } as SurveyAnswerRowDtoXGroup;\r\n });\r\n};\r\n\r\nexport default (questionId: number): SurveyQuestion => {\r\n return questions.filter(q => q.id === questionId)[0];\r\n};\r\n\r\nconst questions: SurveyQuestion[] = [\r\n {\r\n id: Question.Question1,\r\n question: \"Survey_Q1\",\r\n options: {\r\n 0: \"\",\r\n 1: \"\",\r\n 2: \"\",\r\n 3: \"\"\r\n }\r\n },\r\n {\r\n id: Question.Question2,\r\n question: \"Survey_Q2\",\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question3,\r\n question: \"Survey_Q3\",\r\n options: {\r\n 0: \"0-2\",\r\n 1: \"3-5\",\r\n 2: \"6-10\",\r\n 3: \"11-25\",\r\n 4: \"26-100\",\r\n 5: \"101-500\",\r\n 6: \"\"\r\n }\r\n },\r\n {\r\n id: Question.Question4,\r\n question: \"Survey_Q4\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question5,\r\n question: \"Survey_Q5\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question6,\r\n question: \"Survey_Q6\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question7,\r\n question: \"Survey_Q7\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question8,\r\n question: \"Survey_Q8\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question9,\r\n question: \"Survey_Q9\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question10,\r\n question: \"Survey_Q10\",\r\n options: {\r\n 0: \"\",\r\n 1: \"\",\r\n 2: \"\",\r\n 3: \"\",\r\n 4: \"\"\r\n }\r\n },\r\n {\r\n id: Question.Question11,\r\n question: \"Survey_Q11\",\r\n options: {\r\n 0: \"\",\r\n 1: \"\",\r\n 2: \"\",\r\n 3: \"\",\r\n 4: \"\"\r\n }\r\n },\r\n {\r\n id: Question.Question12,\r\n question: \"Survey_Q12\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question13,\r\n question: \"Survey_Q13\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question14,\r\n question: \"Survey_Q14\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question15,\r\n question: \"Survey_Q15\",\r\n options: {\r\n 0: \"\",\r\n 1: \"\",\r\n 2: \"\",\r\n 3: \"\",\r\n 4: \"\"\r\n }\r\n },\r\n {\r\n id: Question.Question16,\r\n question: \"Survey_Q16\",\r\n options: {\r\n 0: \"\",\r\n 1: \"\",\r\n 2: \"\",\r\n 3: \"\",\r\n 4: \"\"\r\n }\r\n },\r\n {\r\n id: Question.Question17,\r\n question: \"Survey_Q17\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question18,\r\n question: \"Survey_Q18\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question19,\r\n question: \"Survey_Q19\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question20,\r\n question: \"Survey_Q20\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question21,\r\n question: \"Survey_Q21\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question22,\r\n question: \"Survey_Q22\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question23,\r\n question: \"Survey_Q23\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question24,\r\n question: \"Survey_Q24\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n },\r\n {\r\n id: Question.Question25,\r\n question: \"Survey_Q25\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n },\r\n freetext: true\r\n },\r\n {\r\n id: Question.Question26,\r\n question: \"Survey_Q26\",\r\n options: {\r\n 0: \"Survey_Yes\",\r\n 1: \"Survey_No\"\r\n }\r\n }\r\n];\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',_vm._l((_vm.answerGroups),function(group,index){return _c('div',{key:group.name},[(index !== 0)?_c('v-divider',{staticClass:\"huge-margin-top large-margin-bottom tiniest-margin-left\"}):_vm._e(),_c('div',{staticClass:\"headline tiniest-margin-left small-margin-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(group.name))+\" \")]),_vm._l((group.answers),function(answer){return _c('SurveyQuestion',{key:answer.questionId,attrs:{\"augmentedAnswerRow\":answer,\"readonly\":_vm.readonly},on:{\"changeMade\":function($event){return _vm.$emit('changeMade')}}})})],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('v-sheet',{staticClass:\"large-margin-bottom medium-margin-top large-padding\",attrs:{\"elevation\":\"1\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding tiny-padding-bottom\",attrs:{\"cols\":\"11\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('span',[_vm._v(_vm._s(_vm.$t(_vm.question)))])]),(_vm.options !== undefined)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('v-radio-group',{ref:\"selectedOption\",attrs:{\"rules\":[_vm.selectedOptionValid],\"disabled\":_vm.readonly},on:{\"change\":_vm.validateEntireCard},model:{value:(_vm.selectedOption),callback:function ($$v) {_vm.selectedOption=$$v},expression:\"selectedOption\"}},_vm._l((_vm.options),function(option){return _c('v-radio',{key:option[0],attrs:{\"label\":_vm.translateIfNeeded(option[0], option[1]),\"value\":option[0]}})}),1)],1):_vm._e(),(_vm.showFreetext)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"refString\":\"freetext\",\"placeholder\":_vm.$t('Survey_Explain'),\"disabled\":_vm.readonly,\"rules\":[_vm.freetextValid]},on:{\"input\":_vm.validateEntireCard},model:{value:(_vm.text),callback:function ($$v) {_vm.text=$$v},expression:\"text\"}})],1):_vm._e()],1)],1),_c('v-spacer'),(!_vm.readonly)?_c('v-col',{staticClass:\"no-vertical-padding\",class:{ 'success-background': _vm.augmentedAnswerRow.valid },attrs:{\"cols\":\"auto\"}},[_c('v-fab-transition',[(_vm.augmentedAnswerRow.valid)?_c('v-icon',{staticClass:\"medium-padding-top\",attrs:{\"size\":\"26\",\"color\":\"icon-green\"}},[_vm._v(\" mdi-check-circle-outline \")]):_vm._e()],1)],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\r\nimport Vue from \"vue\";\r\nimport surveyQuestions, {\r\n SurveyQuestion,\r\n SurveyAnswerRowDtoX\r\n} from \"@/scripts/misc/surveyQuestions\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextMulti\r\n },\r\n props: {\r\n augmentedAnswerRow: SurveyAnswerRowDtoX,\r\n readonly: Boolean\r\n },\r\n computed: {\r\n surveyQuestion(): SurveyQuestion {\r\n return surveyQuestions(this.augmentedAnswerRow.questionId);\r\n },\r\n question(): string {\r\n return this.surveyQuestion.question;\r\n },\r\n options(): [number, string][] | undefined {\r\n let options = this.surveyQuestion.options;\r\n if (options !== undefined) {\r\n return Object.entries(options).map(entry => [\r\n Number(entry[0]),\r\n entry[1]\r\n ]);\r\n }\r\n return undefined;\r\n },\r\n showFreetext(): boolean {\r\n return this.surveyQuestion.freetext ? true : false;\r\n },\r\n selectedOption: {\r\n get(): number | undefined {\r\n return this.augmentedAnswerRow.selectedOption;\r\n },\r\n set(val: number) {\r\n this.augmentedAnswerRow.selectedOption = val;\r\n this.augmentedAnswerRow.valid = this.inputValid();\r\n }\r\n },\r\n text: {\r\n get(): string | undefined {\r\n return this.augmentedAnswerRow.text;\r\n },\r\n set(val: string | undefined) {\r\n this.augmentedAnswerRow.text = val;\r\n this.augmentedAnswerRow.valid = this.inputValid();\r\n }\r\n }\r\n },\r\n methods: {\r\n translateIfNeeded(key: number, text: string): string {\r\n if (text === \"\") {\r\n text = `${this.question}_${key}`;\r\n }\r\n if (text.includes(\"Survey_\")) {\r\n text = this.$t(text).toString();\r\n }\r\n return text;\r\n },\r\n freetextValid(value: string | undefined) {\r\n return (\r\n !this.showFreetext ||\r\n this.options !== undefined ||\r\n (value !== undefined && value !== \"\")\r\n );\r\n },\r\n selectedOptionValid(value: number | undefined) {\r\n return this.options === undefined || value !== undefined;\r\n },\r\n inputValid(): boolean {\r\n return (\r\n this.freetextValid(this.augmentedAnswerRow.text) &&\r\n this.selectedOptionValid(this.augmentedAnswerRow.selectedOption)\r\n );\r\n },\r\n validateEntireCard() {\r\n this.$emit(\"changeMade\");\r\n let elem: any = this.$refs.selectedOption as any;\r\n if (elem !== undefined) elem.hasFocused = true;\r\n elem = this.$refs.freetext as any;\r\n if (elem !== undefined) elem.hasFocused = true;\r\n }\r\n },\r\n mounted() {\r\n //Needed to trigger validation when resuming a survey.\r\n this.text = this.text;\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyQuestion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyQuestion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SurveyQuestion.vue?vue&type=template&id=42a150bb&scoped=true&\"\nimport script from \"./SurveyQuestion.vue?vue&type=script&lang=ts&\"\nexport * from \"./SurveyQuestion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SurveyQuestion.vue?vue&type=style&index=0&id=42a150bb&scoped=true&lang=css&\"\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 \"42a150bb\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VFabTransition } from 'vuetify/lib/components/transitions';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VFabTransition,VIcon,VRadio,VRadioGroup,VRow,VSheet,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SurveyQuestion from \"@/components/web/survey/SurveyQuestion.vue\";\r\nimport { SurveyAnswerRowDtoXGroup } from \"@/scripts/misc/surveyQuestions\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SurveyQuestion\r\n },\r\n props: {\r\n readonly: Boolean,\r\n answerGroups: Array as () => SurveyAnswerRowDtoXGroup[]\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyContent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyContent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SurveyContent.vue?vue&type=template&id=8166c9fe&\"\nimport script from \"./SurveyContent.vue?vue&type=script&lang=ts&\"\nexport * from \"./SurveyContent.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDivider } from 'vuetify/lib/components/VDivider';\ninstallComponents(component, {VDivider})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SurveyClientClient,\r\n SurveyDto,\r\n SurveySubmissionDto\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n getAnswerGroups,\r\n SurveyAnswerRowDtoXGroup\r\n} from \"@/scripts/misc/surveyQuestions\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport SurveyContent from \"@/components/web/survey/SurveyContent.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n SurveyContent\r\n },\r\n props: {\r\n supplierId: Number\r\n },\r\n watch: {\r\n supplierId() {\r\n if (this.supplierId !== undefined) {\r\n this.populate();\r\n }\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n const supplier = this.submission\r\n ? this.submission.supplierName + \" -\"\r\n : \"\";\r\n const iteration = this.survey ? this.survey.iteration : \"\";\r\n const text = this.$t(\"Survey_SustainabilitySurvey\").toString();\r\n return `${supplier} ${text} ${iteration}`;\r\n }\r\n },\r\n methods: {\r\n populate() {\r\n this.loading = true;\r\n new SurveyClientClient(new ApiConfiguration(this.$store))\r\n .latestSubmission(this.supplierId)\r\n .then(res => {\r\n this.submission = res;\r\n return;\r\n })\r\n .then(() => {\r\n return new SurveyClientClient(\r\n new ApiConfiguration(this.$store)\r\n ).surveys();\r\n })\r\n .then(res => {\r\n this.survey = res.find(s => s.id === this.submission!.survey)!;\r\n this.answerGroups = getAnswerGroups(\r\n this.submission!.surveyAnswerRows!,\r\n this.survey.questionGroups!\r\n );\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n this.submission = undefined;\r\n this.survey = undefined;\r\n this.answerGroups = [];\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n submission?: SurveySubmissionDto;\r\n survey?: SurveyDto;\r\n answerGroups: SurveyAnswerRowDtoXGroup[];\r\n } => ({\r\n loading: true,\r\n submission: undefined,\r\n survey: undefined,\r\n answerGroups: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SurveyDialog.vue?vue&type=template&id=291e73c0&\"\nimport script from \"./SurveyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./SurveyDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n SurveyClientClient,\r\n SurveySupplierDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport SurveyDialog from \"@/components/web/survey/client/SurveyDialog.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n CustomTableHeader,\r\n CustomFilter,\r\n SurveyDialog\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 140);\r\n },\r\n title(): string {\r\n return (\r\n t(\"Survey_SustainabilitySurvey\") +\r\n \" / \" +\r\n t(\"FairTransportCertification\")\r\n );\r\n },\r\n suppliers(): SurveySupplierDto[] {\r\n return this.unfilteredSuppliers.filter(\r\n s =>\r\n this.supplierFilter === null ||\r\n s\r\n .supplierName!.toLowerCase()\r\n .includes(this.supplierFilter.toLowerCase())\r\n );\r\n }\r\n },\r\n mounted() {\r\n new SurveyClientClient(new ApiConfiguration(this.$store))\r\n .suppliers()\r\n .then(res => {\r\n this.unfilteredSuppliers = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n loading: boolean;\r\n selectedSupplierId?: number;\r\n supplierFilter: string | null;\r\n unfilteredSuppliers: SurveySupplierDto[];\r\n headers: TableHeader[];\r\n ftLogo: any;\r\n } => ({\r\n loading: true,\r\n selectedSupplierId: undefined,\r\n supplierFilter: null,\r\n unfilteredSuppliers: [],\r\n headers: [\r\n { value: \"leaf\", width: 57 },\r\n {\r\n value: \"supplierName\",\r\n text: \"Survey_Supplier\",\r\n sortValue: true,\r\n width: 310\r\n },\r\n {\r\n value: \"percentage\",\r\n text: \"ResultPercentage\",\r\n sortValue: true,\r\n width: 105\r\n },\r\n {\r\n value: \"answerDate\",\r\n text: \"ResponseDate\",\r\n sortValue: true,\r\n width: 135\r\n },\r\n { value: \"respondentName\", text: \"AuthorizedSignatory\", sortValue: true },\r\n { value: \"respondentRole\", text: \"SignatoryRole\", sortValue: true },\r\n { value: \"iteration\", text: \"SurveyVersion\", sortValue: true, width: 135 }\r\n ],\r\n ftLogo: require(\"@/assets/img/fair-transport-logo.png\")\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyOverview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SurveyOverview.vue?vue&type=template&id=71abc5e0&scoped=true&\"\nimport script from \"./SurveyOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./SurveyOverview.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SurveyOverview.vue?vue&type=style&index=0&id=71abc5e0&scoped=true&lang=css&\"\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 \"71abc5e0\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDataTable,VIcon,VImg,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('CostReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('CostReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('ClientRouteCost'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NumberOfLoads'),\"value\":_vm.money(_vm.reportContainer.numLoads, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Broadcast'),\"value\":_vm.money(_vm.reportContainer.numBroadcasts, 0)}})],1),(_vm.isContainer)?_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NoOfContainers'),\"value\":_vm.money(_vm.reportContainer.numContainers, 0)}})],1):_vm._e(),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\"},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AverageRank'),\"value\":_vm.money(_vm.reportContainer.avgRanking, 2)}})],1)],1),_vm._l((_vm.prices),function(price){return _c('v-row',{key:price.currency},[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('TotalCost')) + \" (\" + (_vm.currencyName(price.currency)) + \")\"),\"value\":_vm.money(price.total, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('AveragePrice')) + \" (\" + (_vm.currencyName(price.currency)) + \")\"),\"value\":_vm.money(price.avg, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('PricePerKm')) + \" (\" + (_vm.currencyName(price.currency)) + \")\"),\"value\":_vm.money(price.perKm, 2)}})],1)],1)})]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n UserConfigurationType,\r\n CostReportSearchCriteria,\r\n CostReportContainerDto,\r\n RepositoryDto,\r\n CostReportPrices,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n ReadOnlyText\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: CostReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): CostReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.CostReport,\r\n 1\r\n );\r\n },\r\n isContainer(): boolean {\r\n return this.searchCriteria.cargoType === CargoType.Container;\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n prices(): CostReportPrices[] {\r\n return this.reportContainer.prices!;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CostReportSearch.vue?vue&type=template&id=37e7a0af&\"\nimport script from \"./CostReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./CostReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"item-key\":\"routeId\",\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: true,\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: false,\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckType',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.currencyType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currencyType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currencyType\", $$v)},expression:\"searchCriteria.currencyType\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"160\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"180\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")])]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"90\"}})]}},{key:\"item.avgRanking\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.avgRanking, 1)))])]}},{key:\"item.totalPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.totalPrice, 0)))])]}},{key:\"item.avgPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.avgPrice, 0)))])]}},{key:\"item.pricePerKm\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.pricePerKm, 2)))])]}},{key:\"item.pricePerVolume\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.pricePerVolume, 2)))])]}},{key:\"item.currencyType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.currencyName(item.currencyType)))])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n CostReportSearchCriteria,\r\n CostReportContainerDto,\r\n CostReportOrderBy,\r\n CargoType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { currencyName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: CostReportContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n const numCurrencies = this.reportContainer.prices!.length;\r\n return Math.max(\r\n 400,\r\n this.$store.getters[gets.dimensions].height - 300 - 52 * numCurrencies\r\n );\r\n },\r\n searchCriteria(): CostReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.CostReport,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: CostReportOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: CostReportOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: CostReportOrderBy.TruckType\r\n });\r\n headers.push({\r\n value: \"unit\",\r\n text: \"Unit\",\r\n sortValue: CostReportOrderBy.Unit\r\n });\r\n headers.push({\r\n value: \"numLoads\",\r\n text: \"NumberOfLoads\",\r\n sortValue: CostReportOrderBy.NumLoads\r\n });\r\n if (this.searchCriteria.cargoType === CargoType.Container) {\r\n headers.push({\r\n value: \"numContainers\",\r\n text: \"NoOfContainers\",\r\n sortValue: CostReportOrderBy.NumContainers\r\n });\r\n }\r\n headers.push({\r\n value: \"numBroadcasts\",\r\n text: \"Broadcast\",\r\n sortValue: CostReportOrderBy.NumBroadcasts\r\n });\r\n headers.push({\r\n value: \"avgRanking\",\r\n text: \"AverageRank\",\r\n sortValue: CostReportOrderBy.AvgRanking\r\n });\r\n headers.push({\r\n value: \"totalPrice\",\r\n text: \"TotalCost\",\r\n sortValue: CostReportOrderBy.TotalPrice\r\n });\r\n headers.push({\r\n value: \"avgPrice\",\r\n text: \"AveragePrice\",\r\n sortValue: CostReportOrderBy.AvgPrice\r\n });\r\n headers.push({\r\n value: \"pricePerVolume\",\r\n text: \"PricePerM3\",\r\n sortValue: CostReportOrderBy.PricePerVolume\r\n });\r\n if (this.searchCriteria.cargoType === CargoType.Road) {\r\n headers.push({\r\n value: \"pricePerKm\",\r\n text: \"PricePerKm\",\r\n sortValue: CostReportOrderBy.PricePerKm\r\n });\r\n }\r\n headers.push({\r\n value: \"currencyType\",\r\n text: \"Currency\",\r\n sortValue: CostReportOrderBy.CurrencyType\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n truckTypeName: truckTypeName,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CostReportTable.vue?vue&type=template&id=54173cc2&\"\nimport script from \"./CostReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./CostReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n CostReportOrderBy,\r\n ReportsClient,\r\n CostReportSearchCriteriaContainer,\r\n CostReportSearchCriteria,\r\n CostReportContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport CostReportSearch from \"@/components/web/reports/client/CostReportSearch.vue\";\r\nimport CostReportTable from \"@/components/web/reports/client/CostReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CostReportSearch,\r\n CostReportTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: CostReportOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as CostReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): CostReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.CostReport,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.CostReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [CostReportOrderBy.PickupLocation];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .cost(\r\n new CostReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.CostReport,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .costExportToExcel(\r\n new CostReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: CostReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [CostReportOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new CostReportContainerDto({\r\n count: 0,\r\n numLoads: 0,\r\n numContainers: 0,\r\n numBroadcasts: 0,\r\n avgRanking: undefined,\r\n prices: [],\r\n rows: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CostReport.vue?vue&type=template&id=79c36040&\"\nimport script from \"./CostReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./CostReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('DeviationReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DeviationReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],1),_c('LoadDialogs')],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('SearchCard',{attrs:{\"title\":_vm.$t('Deviations'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1)],1),_vm._l((_vm.reportContainer.sums || []),function(sum){return _c('v-row',{key:sum.currency},[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('FreightPrice')) + \" (\" + (_vm.currencyName(sum.currency)) + \")\"),\"value\":_vm.money(sum.freightPrice, 2)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('BestTotalPriceByAgreement')) + \" (\" + (_vm.currencyName(\n sum.currency\n )) + \")\"),\"value\":_vm.money(sum.topRankedFreightPrice, 2)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('Difference')) + \" (\" + (_vm.currencyName(sum.currency)) + \")\"),\"value\":_vm.money(sum.freightPriceDifference, 2)}})],1)],1)})]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n DeviationReportSearchCriteria,\r\n DeviationReportContainerDto,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n ReadOnlyText\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: DeviationReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): DeviationReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.DeviationReport,\r\n 1\r\n );\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviationReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviationReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeviationReportSearch.vue?vue&type=template&id=687a6fce&\"\nimport script from \"./DeviationReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeviationReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationMulti'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryIds: _vm.searchCriteria.deliveryCountries\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountries = val.countryIds;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deviationCause\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'deviationCauseMulti'\n },\"placeholder\":_vm.$t('DeviationCause')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.deviationCauses),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"deviationCauses\", $$v)},expression:\"searchCriteria.deviationCauses\"}})]},proxy:true},{key:\"filter.otherPriceCause\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'otherPriceCauseMulti'\n },\"placeholder\":_vm.$t('OtherPriceCause')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.otherPriceCauses),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"otherPriceCauses\", $$v)},expression:\"searchCriteria.otherPriceCauses\"}})]},proxy:true},{key:\"filter.supplier\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'supplier',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.supplierId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"supplierId\", $$v)},expression:\"searchCriteria.supplierId\"}})]},proxy:true}],null,true)})]}},{key:\"item.loadInfo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"x-small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.loadClick(item.loadId)}}},on),[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\" mdi-truck \")])],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.loadInfo(item))+\" \")])]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"150\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"150\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.truckTypeName(item.truckType)))])]}},{key:\"item.deviationCause\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"disabled\":!item.deviationDesc,\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(_vm._s(item.deviationCause && _vm.deviationCauseName(item.deviationCause)))])]}}],null,true)},[_vm._v(\" \"+_vm._s(item.deviationDesc)+\" \")])]}},{key:\"item.otherPriceCause\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"disabled\":!item.otherPriceDesc,\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(_vm._s(item.otherPriceCause && _vm.otherPriceCauseName(item.otherPriceCause)))])]}}],null,true)},[_vm._v(\" \"+_vm._s(item.otherPriceDesc)+\" \")])]}},{key:\"item.agreementSupplier\",fn:function(ref){\n var item = ref.item;\nreturn [(item.agreementFreightPrice)?_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"95\"}}):_vm._e(),_c('span',{staticClass:\"dont-render-newlines font-weight-medium\"},[_vm._v(_vm._s(_vm.money(item.agreementFreightPrice, 0)))])]}},{key:\"item.supplier\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"95\"}}),_c('span',{staticClass:\"dont-render-newlines font-weight-medium\"},[_vm._v(_vm._s(_vm.money(item.freightPrice, 0)))])]}},{key:\"item.topRankedSupplier\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.topRankedSupplierName,\"width\":\"100\"}}),_c('span',{staticClass:\"dont-render-newlines font-weight-medium\"},[_vm._v(_vm._s(_vm.money(item.topRankedFreightPrice, 0)))])]}},{key:\"item.priceDifference\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines font-weight-medium\",class:_vm.priceDifferenceColor(item.freightPriceDifference)},[_vm._v(_vm._s(_vm.money(item.freightPriceDifference, 0)))])]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}},{key:\"item.bookingDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.bookingDate.datePrint()))])]}},{key:\"item.bookedBy\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.loadUserName,\"width\":\"100\"}}),_c('span',{class:{ transparent: !item.loadUserPhone }},[_c('EllipsisTableItem',{attrs:{\"text\":item.loadUserPhone\n ? item.loadUserPhone\n : '<' + _vm.$t('EmptyValue') + '>',\"width\":\"100\"}})],1)]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n DeviationReportSearchCriteria,\r\n DeviationReportContainerDto,\r\n DeviationReportOrderBy,\r\n DeviationReportRowDto,\r\n LoadActionPermission\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport {\r\n currencyName,\r\n deviationCauseName,\r\n otherPriceCauseName,\r\n truckTypeName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: DeviationReportContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n const numCurrencies = this.reportContainer.sums!.length;\r\n return Math.max(\r\n 400,\r\n this.$store.getters[gets.dimensions].height - 250 - 52 * numCurrencies\r\n );\r\n },\r\n searchCriteria(): DeviationReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.DeviationReport,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"loadInfo\",\r\n text: \"\",\r\n untranslated: true\r\n });\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: DeviationReportOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: DeviationReportOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: DeviationReportOrderBy.TruckType\r\n });\r\n headers.push({\r\n value: \"deviationCause\",\r\n text: \"DeviationCause\",\r\n sortValue: DeviationReportOrderBy.DeviationCause\r\n });\r\n headers.push({\r\n value: \"otherPriceCause\",\r\n text: \"OtherPriceCause\",\r\n sortValue: DeviationReportOrderBy.OtherPriceCause\r\n });\r\n headers.push({\r\n value: \"agreementSupplier\",\r\n text: \"TotalPriceByAgreement\"\r\n });\r\n headers.push({\r\n value: \"supplier\",\r\n text: \"Supplier\"\r\n });\r\n headers.push({\r\n value: \"topRankedSupplier\",\r\n text: \"TopRankedSupplier\"\r\n });\r\n headers.push({\r\n value: \"priceDifference\",\r\n text: \"Difference\",\r\n sortValue: DeviationReportOrderBy.PriceDifference\r\n });\r\n headers.push({\r\n value: \"currency\",\r\n text: \"Currency\",\r\n sortValue: DeviationReportOrderBy.Currency\r\n });\r\n headers.push({\r\n value: \"bookingDate\",\r\n text: \"BookingDate\",\r\n sortValue: DeviationReportOrderBy.BookingDate\r\n });\r\n headers.push({\r\n value: \"bookedBy\",\r\n text: \"BookingLoadUserID\",\r\n sortValue: DeviationReportOrderBy.BookedBy\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n truckTypeName: truckTypeName,\r\n deviationCauseName: deviationCauseName,\r\n otherPriceCauseName: otherPriceCauseName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n loadInfo(item: DeviationReportRowDto): string {\r\n return `${t(\"LoadID\")}: ${item.loadId}\\n${t(\"TransportNo\")}: ${\r\n item.transportNo\r\n }`;\r\n },\r\n loadClick(loadId: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: LoadActionPermission.Details.toString(),\r\n ids: `[${loadId}]`\r\n }\r\n });\r\n },\r\n priceDifferenceColor(diff: number | undefined): string {\r\n if (!diff) {\r\n return \"\";\r\n }\r\n if (diff > 0) {\r\n return \"red-text\";\r\n }\r\n return \"green-text\";\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviationReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviationReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeviationReportTable.vue?vue&type=template&id=40c141b4&\"\nimport script from \"./DeviationReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeviationReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n DeviationReportOrderBy,\r\n ReportsClient,\r\n DeviationReportSearchCriteriaContainer,\r\n DeviationReportSearchCriteria,\r\n DeviationReportContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport DeviationReportSearch from \"@/components/web/reports/client/DeviationReportSearch.vue\";\r\nimport DeviationReportTable from \"@/components/web/reports/client/DeviationReportTable.vue\";\r\nimport LoadDialogs from \"@/components/web/loads/shared/LoadDialogs.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DeviationReportSearch,\r\n DeviationReportTable,\r\n LoadDialogs\r\n },\r\n computed: {\r\n sorting(): { orderBy: DeviationReportOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as DeviationReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): DeviationReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.DeviationReport,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.DeviationReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [DeviationReportOrderBy.BookingDate];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .deviation(\r\n new DeviationReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.DeviationReport,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .deviationExportToExcel(\r\n new DeviationReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: DeviationReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 100,\r\n sortBy: [DeviationReportOrderBy.BookingDate],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new DeviationReportContainerDto({\r\n count: 0,\r\n rows: [],\r\n sums: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviationReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeviationReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeviationReport.vue?vue&type=template&id=01043108&\"\nimport script from \"./DeviationReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeviationReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('ClientMonitoringSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ClientMonitoringTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('ClientMonitoring'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('LoadedDate')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadedLoads'),\"value\":_vm.money(_vm.sums.loaded, 0)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('CanceledLoads'),\"value\":_vm.sum(_vm.sums.canceled, _vm.sums.shareCanceled)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedByClient'),\"value\":_vm.sum(_vm.sums.directBooked, _vm.sums.shareDirectBooked)}})],1),(_vm.isRoad)?_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('SpotTenders'),\"value\":_vm.sum(_vm.sums.spotTender, _vm.sums.shareSpotTender)}})],1):_vm._e(),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NumberOfDeviatedLoads'),\"value\":_vm.sum(_vm.sums.deviated, _vm.sums.shareDeviated)}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('NumberOfBroadcastLoads'),\"value\":_vm.sum(_vm.sums.broadcast, _vm.sums.shareBroadcast)}})],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n ClientMonitoringSearchCriteria,\r\n ClientMonitoringContainerDto,\r\n ClientMonitoringReportSumsDto,\r\n CargoType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n ReadOnlyText\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: ClientMonitoringContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): ClientMonitoringSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientMonitoring,\r\n 1\r\n );\r\n },\r\n sums(): ClientMonitoringReportSumsDto {\r\n return this.reportContainer.sums!;\r\n },\r\n cargoTypes: actorCargoTypes,\r\n isRoad(): boolean {\r\n return this.searchCriteria.cargoType === CargoType.Road;\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n sum(num: number, share: number): string {\r\n if (num === undefined) {\r\n return \"\";\r\n }\r\n if (num === 0) {\r\n return \"0 (0%)\";\r\n }\r\n return `${money(num, 0)} (${percentage(share, 0)})`;\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientMonitoringSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientMonitoringSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClientMonitoringSearch.vue?vue&type=template&id=44e58b2a&\"\nimport script from \"./ClientMonitoringSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClientMonitoringSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckType',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"200\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"220\"}})]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"90\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")])]}},{key:\"item.averageRanking\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.averageRanking, 1, false))+\" \")])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n ClientMonitoringSearchCriteria,\r\n ClientMonitoringContainerDto,\r\n ClientMonitoringOrderBy,\r\n CargoType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: ClientMonitoringContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 300);\r\n },\r\n searchCriteria(): ClientMonitoringSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientMonitoring,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: ClientMonitoringOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: ClientMonitoringOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"unit\",\r\n text: \"Unit\",\r\n sortValue: ClientMonitoringOrderBy.Unit\r\n });\r\n headers.push({\r\n value: \"loadedCount\",\r\n text: \"LoadedLoads\",\r\n sortValue: ClientMonitoringOrderBy.Loaded\r\n });\r\n headers.push({\r\n value: \"daysRegToPickupEarliest\",\r\n text: \"TimeFromPublishedToPickupEarliest\",\r\n multiLine: true,\r\n sortValue: ClientMonitoringOrderBy.DaysRegToPickup\r\n });\r\n headers.push({\r\n value: \"daysRegToDelivLatest\",\r\n text: \"TimeFromPublishedToDeliveryLatest\",\r\n multiLine: true,\r\n sortValue: ClientMonitoringOrderBy.DaysRegToDeliv\r\n });\r\n headers.push({\r\n value: \"canceledCount\",\r\n text: \"CanceledLoads\",\r\n sortValue: ClientMonitoringOrderBy.Cancelled\r\n });\r\n headers.push({\r\n value: \"directBookedCount\",\r\n text: \"BookedByClient\",\r\n sortValue: ClientMonitoringOrderBy.DirectBooked\r\n });\r\n if (this.searchCriteria.cargoType === CargoType.Road) {\r\n headers.push({\r\n value: \"spotTenderCount\",\r\n text: \"SpotTender\",\r\n sortValue: ClientMonitoringOrderBy.SpotTender\r\n });\r\n }\r\n headers.push({\r\n value: \"deviatedCount\",\r\n text: \"NumberOfDeviatedLoads\",\r\n sortValue: ClientMonitoringOrderBy.Deviated\r\n });\r\n headers.push({\r\n value: \"broadcastCount\",\r\n text: \"NumberOfBroadcastLoads\",\r\n sortValue: ClientMonitoringOrderBy.Broadcast\r\n });\r\n headers.push({\r\n value: \"averageRanking\",\r\n text: \"AverageRank\",\r\n sortValue: ClientMonitoringOrderBy.Rank\r\n });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n truckTypeName: truckTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientMonitoringTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientMonitoringTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClientMonitoringTable.vue?vue&type=template&id=4cc1e246&\"\nimport script from \"./ClientMonitoringTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClientMonitoringTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n ClientMonitoringOrderBy,\r\n ReportsClient,\r\n ClientMonitoringSearchCriteriaContainer,\r\n ClientMonitoringSearchCriteria,\r\n ClientMonitoringContainerDto,\r\n ClientMonitoringReportSumsDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport ClientMonitoringSearch from \"@/components/web/reports/client/ClientMonitoringSearch.vue\";\r\nimport ClientMonitoringTable from \"@/components/web/reports/client/ClientMonitoringTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ClientMonitoringSearch,\r\n ClientMonitoringTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: ClientMonitoringOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as ClientMonitoringOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): ClientMonitoringSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ClientMonitoring,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.ClientMonitoring,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [ClientMonitoringOrderBy.PickupLocation];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .clientMonitoring(\r\n new ClientMonitoringSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ClientMonitoring,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .clientMonitoringExportToExcel(\r\n new ClientMonitoringSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: ClientMonitoringContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [ClientMonitoringOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new ClientMonitoringContainerDto({\r\n rows: [],\r\n count: 0,\r\n sums: new ClientMonitoringReportSumsDto()\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientMonitoring.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ClientMonitoring.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ClientMonitoring.vue?vue&type=template&id=46fa99d4&\"\nimport script from \"./ClientMonitoring.vue?vue&type=script&lang=ts&\"\nexport * from \"./ClientMonitoring.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AnnulledLoadsReportSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AnnulledLoadsReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('AnnulledLoads'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('FromDate')) + \" (\" + (_vm.$t('Annulled')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('ToDate')) + \" (\" + (_vm.$t('Annulled')) + \")\"),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1)],1)]},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\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AnnulledLoadsReportSearchCriteria,\r\n AnnulledLoadsReportContainerDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: AnnulledLoadsReportContainerDto\r\n },\r\n computed: {\r\n searchCriteria(): AnnulledLoadsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AnnulledLoadsReport,\r\n 1\r\n );\r\n },\r\n cargoTypes: actorCargoTypes,\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnulledLoadsReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnulledLoadsReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnnulledLoadsReportSearch.vue?vue&type=template&id=f225e8d2&\"\nimport script from \"./AnnulledLoadsReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnnulledLoadsReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.loadId\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('LoadID')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.loadId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"loadId\", $$v)},expression:\"searchCriteria.loadId\"}})]},proxy:true},{key:\"filter.transportNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('TransportNo')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.transportNo),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"transportNo\", $$v)},expression:\"searchCriteria.transportNo\"}})]},proxy:true},{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Unit')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckType',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLocation,\"width\":\"210\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLocation,\"width\":\"230\"}})]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")])]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.unit,\"width\":\"140\"}})]}},{key:\"item.annulledDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(item.annulledTimeZoneDate.dateTimePrint())+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(((_vm.$t(\"AnnulledBy\")) + \": \" + (item.annulledBy)))+\" \")])]}},{key:\"item.why\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.why,\"width\":\"250\"}})]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AnnulledLoadsReportSearchCriteria,\r\n AnnulledLoadsReportContainerDto,\r\n AnnulledLoadsReportOrderBy,\r\n CargoType,\r\n AnnulledLoadsReportRowDto\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: AnnulledLoadsReportContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 300);\r\n },\r\n searchCriteria(): AnnulledLoadsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AnnulledLoadsReport,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n truckTypeName: truckTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n },\r\n data: (): { headers: TableHeader[] } => ({\r\n headers: [\r\n {\r\n value: \"loadId\",\r\n text: \"LoadID\",\r\n sortValue: AnnulledLoadsReportOrderBy.LoadId,\r\n width: 75\r\n },\r\n {\r\n value: \"transportNo\",\r\n text: \"TransportNo\",\r\n sortValue: AnnulledLoadsReportOrderBy.TransportNo,\r\n width: 100\r\n },\r\n {\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: AnnulledLoadsReportOrderBy.PickupLocation,\r\n width: 220\r\n },\r\n {\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: AnnulledLoadsReportOrderBy.DeliveryLocation,\r\n width: 240\r\n },\r\n {\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: AnnulledLoadsReportOrderBy.TruckType\r\n },\r\n {\r\n value: \"unit\",\r\n text: \"Unit\",\r\n sortValue: AnnulledLoadsReportOrderBy.Unit\r\n },\r\n {\r\n value: \"annulledDate\",\r\n text: \"Annulled\",\r\n sortValue: AnnulledLoadsReportOrderBy.AnnulledDate,\r\n width: 145\r\n },\r\n {\r\n value: \"why\",\r\n text: \"Why\",\r\n sortValue: AnnulledLoadsReportOrderBy.Why\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnulledLoadsReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnulledLoadsReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnnulledLoadsReportTable.vue?vue&type=template&id=648f59bb&\"\nimport script from \"./AnnulledLoadsReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnnulledLoadsReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n ReportsClient,\r\n AnnulledLoadsReportOrderBy,\r\n AnnulledLoadsReportSearchCriteriaContainer,\r\n AnnulledLoadsReportSearchCriteria,\r\n AnnulledLoadsReportContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport AnnulledLoadsReportSearch from \"@/components/web/reports/client/AnnulledLoadsReportSearch.vue\";\r\nimport AnnulledLoadsReportTable from \"@/components/web/reports/client/AnnulledLoadsReportTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AnnulledLoadsReportSearch,\r\n AnnulledLoadsReportTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: AnnulledLoadsReportOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as AnnulledLoadsReportOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): AnnulledLoadsReportSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.AnnulledLoadsReport,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.AnnulledLoadsReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [AnnulledLoadsReportOrderBy.AnnulledDate];\r\n this.tableOptions.sortDesc = [true];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.fromDate || !this.searchCriteria.toDate) {\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .annulledLoadsReport(\r\n new AnnulledLoadsReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.AnnulledLoadsReport,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .annulledLoadsReportExportToExcel(\r\n new AnnulledLoadsReportSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: AnnulledLoadsReportContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [AnnulledLoadsReportOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new AnnulledLoadsReportContainerDto({\r\n rows: [],\r\n count: 0\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnulledLoadsReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AnnulledLoadsReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AnnulledLoadsReport.vue?vue&type=template&id=ed101886&\"\nimport script from \"./AnnulledLoadsReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./AnnulledLoadsReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('BusinessQualitypoints')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Supplier'),\"items\":_vm.suppliers},on:{\"input\":_vm.fetchQualitypoints},model:{value:(_vm.supplierId),callback:function ($$v) {_vm.supplierId=$$v},expression:\"supplierId\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('SubjectiveQualityPointsTable',{attrs:{\"qualityPoints\":_vm.qualityPoints,\"changed\":_vm.changed,\"supplierId\":_vm.supplierId,\"loading\":_vm.loading}})],1),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"6\"}},[_c('SubjectiveQualityPointsHistory',{attrs:{\"historyItems\":_vm.historyItems,\"loading\":_vm.loading}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-row',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.loading},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],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('v-card',[_c('v-simple-table',{attrs:{\"height\":\"675\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"BusinessPerformanceQuality\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Scale\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Points\"))+\" \")]),_c('th')])]),(_vm.loading)?_c('tbody',[_c('tr',[_c('td',{staticClass:\"loader-container\",attrs:{\"colspan\":\"4\"}},[_c('Spinner',{attrs:{\"size\":100}})],1)])]):_vm._e(),(!_vm.loading)?_c('tbody',_vm._l((_vm.qualityPoints),function(item){return _c('tr',{key:item.name,class:{\n 'blue-row':\n _vm.isClient &&\n _vm.changed.filter(function (x) { return x.id === item.parameter; })[0].changed\n }},[_c('td',[_vm._v(\" \"+_vm._s(_vm.$t(item.name ? item.name : \"\"))+\" \")]),_c('td',[_vm._v(_vm._s(item.minValue)+\" \"+_vm._s(_vm.$t(\"To\"))+\" \"+_vm._s(item.maxValue))]),_c('td',{attrs:{\"width\":\"83\"}},[(_vm.isClient)?_c('span',[_c('v-text-field',{staticClass:\"points\",attrs:{\"value\":item.points === null ? 0 : item.points,\"rules\":[function (v) { return _vm.rules(item, v); }],\"disabled\":item.parameter === _vm.surveyParameterId ||\n item.parameter === _vm.fairTransportParameterId,\"filled\":item.parameter === _vm.surveyParameterId ||\n item.parameter === _vm.fairTransportParameterId,\"spellcheck\":false,\"type\":\"number\",\"hide-details\":\"\",\"outlined\":\"\",\"dense\":\"\"},on:{\"change\":function (v) { return _vm.changeValue(v, item); },\"focus\":function($event){return $event.target.select()}}})],1):_c('span',[_vm._v(\" \"+_vm._s(item.points === null ? 0 : item.points)+\" \")])]),_c('td',[(_vm.showLeaf(item))?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.surveySupplierId = _vm.supplierId}}},[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\" mdi-leaf \")])],1):_vm._e(),(_vm.showLogo(item))?_c('v-img',{attrs:{\"src\":_vm.ftLogo,\"height\":\"36\",\"width\":\"36\"}}):_vm._e()],1)])}),0):_vm._e(),(!_vm.loading)?_c('tfoot',[_c('tr',[_c('th',[_c('span',{staticClass:\"subtitle-2\"},[_vm._v(_vm._s(_vm.$t(\"Total\")))])]),_c('th',[_c('span',{staticClass:\"subtitle-2\"},[_vm._v(_vm._s(_vm.$t(\"Max\"))+\": \"+_vm._s(_vm.max))])]),_c('th',[_c('span',{staticClass:\"subtitle-2\"},[_vm._v(_vm._s(_vm.total))])]),_c('th')])]):_vm._e()]},proxy:true}])})],1),(_vm.isClient)?_c('SurveyDialog',{attrs:{\"supplierId\":_vm.surveySupplierId},on:{\"close\":function($event){_vm.surveySupplierId = undefined}}}):_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\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n SubjectiveQPDto,\r\n SubjectiveQPParameter\r\n} from \"@/scripts/cld.api\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport SurveyDialog from \"@/components/web/survey/client/SurveyDialog.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner,\r\n SurveyDialog\r\n },\r\n props: {\r\n qualityPoints: Array as () => SubjectiveQPDto[],\r\n changed: Array as () => { id: number; changed: boolean }[],\r\n supplierId: Number,\r\n loading: Boolean\r\n },\r\n watch: {\r\n qualityPoints: {\r\n handler() {\r\n this.calculateMaxPoints();\r\n this.calculateTotalPoints();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n surveyParameterId() {\r\n return SubjectiveQPParameter.SustainabilitySurvey;\r\n },\r\n fairTransportParameterId() {\r\n return SubjectiveQPParameter.FairTransport;\r\n },\r\n isClient(): boolean {\r\n return this.$store.getters[gets.userInfo].actorType === ActorType.Client;\r\n }\r\n },\r\n methods: {\r\n showLeaf(item: SubjectiveQPDto): boolean {\r\n return (\r\n this.isClient &&\r\n item.parameter === this.surveyParameterId &&\r\n !!item.points\r\n );\r\n },\r\n showLogo(item: SubjectiveQPDto): boolean {\r\n return (\r\n this.isClient &&\r\n item.parameter === this.fairTransportParameterId &&\r\n !!item.points\r\n );\r\n },\r\n rules(item: SubjectiveQPDto, value?: number): boolean | string {\r\n let valid =\r\n value !== undefined && value >= item.minValue && value <= item.maxValue;\r\n return valid;\r\n },\r\n changeValue(valueString: string, item: SubjectiveQPDto) {\r\n let value = Number(valueString);\r\n if (value > item.maxValue) {\r\n value = item.maxValue;\r\n } else if (value < item.minValue) {\r\n value = item.minValue;\r\n }\r\n if (value !== item.points) {\r\n this.changed.filter(x => x.id === item.parameter)[0].changed = true;\r\n }\r\n item.points = -999999;\r\n this.$nextTick(() => {\r\n item.points = value;\r\n this.calculateTotalPoints();\r\n });\r\n },\r\n calculateTotalPoints() {\r\n this.total = 0;\r\n for (let row of this.qualityPoints) {\r\n if (row.points) {\r\n this.total = Number(this.total) + Number(row.points);\r\n }\r\n }\r\n },\r\n calculateMaxPoints() {\r\n this.max = 0;\r\n for (let row of this.qualityPoints) {\r\n if (row.maxValue) {\r\n this.max += row.maxValue;\r\n }\r\n }\r\n }\r\n },\r\n data: (): {\r\n surveySupplierId?: number;\r\n max: number;\r\n total: number;\r\n ftLogo: any;\r\n } => ({\r\n surveySupplierId: undefined,\r\n max: 0,\r\n total: 0,\r\n ftLogo: require(\"@/assets/img/fair-transport-logo.png\")\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPointsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPointsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectiveQualityPointsTable.vue?vue&type=template&id=5734e829&scoped=true&\"\nimport script from \"./SubjectiveQualityPointsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectiveQualityPointsTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SubjectiveQualityPointsTable.vue?vue&type=style&index=0&id=5734e829&scoped=true&lang=css&\"\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 \"5734e829\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCard,VIcon,VImg,VSimpleTable,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"height\":\"675\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.historyHeaders,\"items\":_vm.historyItems,\"loading\":_vm.loading,\"custom-sort\":_vm.customSort,\"mobile-breakpoint\":0,\"items-per-page\":12,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [12],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"height\":\"624\"},scopedSlots:_vm._u([{key:\"item.date\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',[_vm._v(\" \"+_vm._s(item.date.shortDateTimePrint())+\" \")])]}}],null,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\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n SubjectiveQualityPointsHistoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n historyItems: Array as () => SubjectiveQualityPointsHistoryDto[],\r\n loading: Boolean\r\n },\r\n computed: {\r\n historyHeaders(): TableHeader[] {\r\n const headers: TableHeader[] = [\r\n {\r\n value: \"date\",\r\n text: t(\"When\"),\r\n sortValue: true,\r\n width: 170\r\n }\r\n ];\r\n if (this.isClient) {\r\n headers.push({\r\n value: \"name\",\r\n text: t(\"Who\"),\r\n sortValue: true\r\n });\r\n }\r\n headers.push({\r\n value: \"description\",\r\n text: t(\"What\")\r\n });\r\n return headers;\r\n },\r\n isClient(): boolean {\r\n return this.$store.getters[gets.userInfo].actorType === ActorType.Client;\r\n }\r\n },\r\n methods: {\r\n customSort(\r\n items: SubjectiveQualityPointsHistoryDto[],\r\n sortBy: string[],\r\n sortDesc: boolean[]\r\n ) {\r\n items.sort(\r\n (\r\n a: SubjectiveQualityPointsHistoryDto,\r\n b: SubjectiveQualityPointsHistoryDto\r\n ) => {\r\n if (sortBy[0] === \"date\") {\r\n return a.date.toSeconds() - b.date.toSeconds();\r\n } else if (sortBy[0] === \"name\") {\r\n return stringCompare(a.name!, b.name!);\r\n } else {\r\n return 0;\r\n }\r\n }\r\n );\r\n\r\n if (sortDesc[0] === true) {\r\n items = items.reverse();\r\n }\r\n return items;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPointsHistory.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPointsHistory.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectiveQualityPointsHistory.vue?vue&type=template&id=e1e8220c&\"\nimport script from \"./SubjectiveQualityPointsHistory.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectiveQualityPointsHistory.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCard,VDataTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SubjectiveQPDto,\r\n SubjectiveQualityPointsHistoryDto,\r\n RepositoryDto,\r\n QualityPointsClientClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport SubjectiveQualityPointsTable from \"@/components/web/qp/SubjectiveQualityPointsTable.vue\";\r\nimport SubjectiveQualityPointsHistory from \"@/components/web/qp/SubjectiveQualityPointsHistory.vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n SubjectiveQualityPointsTable,\r\n SubjectiveQualityPointsHistory\r\n },\r\n methods: {\r\n fetchQualitypoints() {\r\n if (!this.supplierId) {\r\n return;\r\n }\r\n this.loading = true;\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .subjectivePoints(this.supplierId)\r\n .then(res => {\r\n this.qualityPoints = res;\r\n this.changed = this.qualityPoints.map(x => ({\r\n id: x.parameter!,\r\n changed: false\r\n }));\r\n this.fetchHistory();\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchHistory() {\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .subjectiveHistory(this.supplierId!)\r\n .then(res => {\r\n this.historyItems = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.loading = true;\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .subjectiveSave(this.qualityPoints)\r\n .then(() => {\r\n this.fetchQualitypoints();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n cached(\"suppliers\", [null, true, true])\r\n .then(res => {\r\n this.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n suppliers: RepositoryDto[];\r\n supplierId?: number;\r\n qualityPoints: SubjectiveQPDto[];\r\n changed: { id: number; changed: boolean }[];\r\n historyItems: SubjectiveQualityPointsHistoryDto[];\r\n loading: boolean;\r\n } => ({\r\n suppliers: [],\r\n supplierId: undefined,\r\n changed: [],\r\n qualityPoints: [],\r\n historyItems: [],\r\n loading: false\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPoints.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPoints.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectiveQualityPoints.vue?vue&type=template&id=1bd39308&\"\nimport script from \"./SubjectiveQualityPoints.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectiveQualityPoints.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('WeightningQualitypoint')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes()},model:{value:(_vm.cargoType),callback:function ($$v) {_vm.cargoType=$$v},expression:\"cargoType\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"12\"}},[_c('QualityPointsWeightsTable',{attrs:{\"loading\":_vm.loading,\"performanceWeights\":_vm.performanceWeights}})],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',[(_vm.loading)?_c('v-skeleton-loader',{attrs:{\"type\":\"article@4\"}}):_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',_vm._l((_vm.performanceWeightGroups),function(group){return _c('v-col',{key:group.id,staticClass:\"large-padding-sides no-padding-top medium-margin-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(group.name))+\" \"),_c('div',{staticClass:\"flex-container\"},_vm._l((group.weights),function(weight,index){return _c('div',{key:index,staticClass:\"performance-box\",class:_vm.classes(index, group.weights.length),style:(_vm.flexWidth(weight))},[_c('div',{staticClass:\"value-label\"},[_vm._v(_vm._s(_vm.valueLabel(weight)))]),_c('div',{staticClass:\"points-label\"},[_vm._v(_vm._s(weight.points)+\"p\")])])}),0)])}),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\r\nimport Vue from \"vue\";\r\nimport {\r\n PerformanceQPWeightsDto,\r\n PerformanceQPParameter\r\n} from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n performanceWeights: Array as () => PerformanceQPWeightsDto[]\r\n },\r\n computed: {\r\n performanceWeightGroups(): {\r\n id: number;\r\n name: string;\r\n weights: PerformanceQPWeightsDto[];\r\n }[] {\r\n const params = [\r\n ...new Set(this.performanceWeights.map(x => x.parameter))\r\n ];\r\n const res = [];\r\n for (const param of params) {\r\n const weights = this.performanceWeights.filter(\r\n x => x.parameter === param\r\n );\r\n weights.sort((a, b) => a.valueFrom - b.valueFrom);\r\n const name = weights[0].parameterName!;\r\n res.push({ id: param, name: name, weights: weights });\r\n }\r\n res.sort((a, b) => a.id - b.id);\r\n return res;\r\n }\r\n },\r\n methods: {\r\n classes(index: number, length: number): string {\r\n return [\r\n index % 2 === 0 ? \"blue-grey lighten-2\" : \"grey lighten-1\",\r\n index === 0 ? \"rounded-left\" : \"\",\r\n index === length - 1 ? \"rounded-right\" : \"\"\r\n ].join(\" \");\r\n },\r\n flexWidth(weight: PerformanceQPWeightsDto): string {\r\n let width = weight.valueTo - weight.valueFrom;\r\n if (weight.parameter === PerformanceQPParameter.Price) {\r\n width += 1;\r\n }\r\n return `flex-grow: ${width * 100}`;\r\n },\r\n valueLabel(weight: PerformanceQPWeightsDto): string {\r\n if (weight.parameter === PerformanceQPParameter.Price) {\r\n return `#${weight.valueFrom}`;\r\n }\r\n return `${weight.valueFrom * 100}%`;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeightsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeightsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsWeightsTable.vue?vue&type=template&id=11a56e0c&scoped=true&\"\nimport script from \"./QualityPointsWeightsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsWeightsTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./QualityPointsWeightsTable.vue?vue&type=style&index=0&id=11a56e0c&scoped=true&lang=css&\"\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 \"11a56e0c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCol,VRow,VSheet,VSkeletonLoader})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n PerformanceQPWeightsDto,\r\n QualityPointsClientClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport QualityPointsWeightsTable from \"@/components/web/qp/QualityPointsWeightsTable.vue\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Dropdown,\r\n QualityPointsWeightsTable\r\n },\r\n watch: {\r\n cargoType: {\r\n handler() {\r\n this.fetchPerformanceWeights();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n cargoType: {\r\n get(): number {\r\n return Number(this.$route.query.cargoType);\r\n },\r\n set(cargoType: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n cargoType: cargoType.toString()\r\n }\r\n });\r\n }\r\n }\r\n },\r\n methods: {\r\n cargoTypes: cargoTypes,\r\n fetchPerformanceWeights() {\r\n if (!this.cargoType) {\r\n return;\r\n }\r\n this.loading = true;\r\n new QualityPointsClientClient(new ApiConfiguration(this.$store))\r\n .performanceWeights(this.cargoType)\r\n .then(res => {\r\n this.performanceWeights = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n performanceWeights: PerformanceQPWeightsDto[];\r\n } => ({\r\n loading: false,\r\n performanceWeights: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeights.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeights.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsWeights.vue?vue&type=template&id=4a0e8517&\"\nimport script from \"./QualityPointsWeights.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsWeights.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('Documents'),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [(_vm.allowedToEditDocumentGroups)?_c('v-btn',{on:{\"click\":function($event){_vm.documentGroupId = 0}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-plus-thick \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"NewDocument\"))+\" \")],1):_vm._e()]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DocumentTable',{attrs:{\"allowedToEditDocumentGroups\":_vm.allowedToEditDocumentGroups,\"documentGroups\":_vm.documentGroups,\"loading\":_vm.loadingSemaphore > 0},on:{\"click\":function (id) { return (_vm.documentGroupId = id); }}})],1)],1),_c('DocumentDialog',{attrs:{\"allowedToEditDocumentGroups\":_vm.allowedToEditDocumentGroups,\"documentGroupId\":_vm.documentGroupId},on:{\"close\":_vm.closeDocumentDialog}})],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('DialogCard',{attrs:{\"dialog\":_vm.documentGroupId !== undefined,\"title\":_vm.title,\"width\":900,\"loading\":!_vm.documentDetails},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Type'),\"items\":_vm.docTypes,\"rules\":[function (v) { return !!v; }],\"disabled\":!!_vm.documentGroupId,\"asterisk\":\"\"},model:{value:(_vm.documentGroup.docType),callback:function ($$v) {_vm.$set(_vm.documentGroup, \"docType\", $$v)},expression:\"documentGroup.docType\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.allowedToEditDocumentGroups)?_c('TextSingle',{attrs:{\"label\":_vm.$t('Name'),\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.documentGroup.description),callback:function ($$v) {_vm.$set(_vm.documentGroup, \"description\", $$v)},expression:\"documentGroup.description\"}}):_c('ReadOnlyText',{attrs:{\"value\":_vm.documentGroup.description,\"label\":_vm.$t('Name')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.documentGroup.regDate,\"label\":_vm.$t('Created')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.documentGroup.alterDate,\"label\":_vm.$t('Altered')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"6\"}},[(_vm.routeDialogVisible)?_c('v-btn',{on:{\"click\":function($event){_vm.routeDialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-format-list-bulleted\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Agreements\"))+\" (\"+_vm._s((_vm.documentDetails.routes || []).length)+\") \")],1):_vm._e()],1),_c('v-col',{staticClass:\"no-padding-top no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('Checkbox',{attrs:{\"disabled\":!_vm.allowedToEditDocumentGroups},model:{value:(_vm.documentGroup.hidden),callback:function ($$v) {_vm.$set(_vm.documentGroup, \"hidden\", $$v)},expression:\"documentGroup.hidden\"}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-left\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"HideDocumentText\"))+\" \")]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('Documents')}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DocumentInput',{attrs:{\"files\":_vm.files,\"editable\":_vm.allowedToEditDocumentGroups &&\n !_vm.documentGroup.connectedToAgreement}})],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.documentDetails)?_c('v-row',[_c('v-spacer'),(_vm.allowedToEditDocumentGroups)?_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.valid || _vm.files.length === 0},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1):_vm._e()],1):_vm._e()]},proxy:true},{key:\"dialogs\",fn:function(){return [(_vm.routeDialogVisible)?_c('DocumentRouteDialog',{attrs:{\"dialog\":_vm.routeDialog,\"routes\":_vm.documentDetails.routes},on:{\"close\":function($event){_vm.routeDialog = false}}}):_vm._e()]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.editable ? 6 : 12}},[_c('v-simple-table',[_c('tbody',_vm._l((_vm.cultures),function(c){return _c('tr',{key:c,class:_vm.culture === c ? 'cyan lighten-4' : ''},[(_vm.editable)?_c('td',{staticStyle:{\"width\":\"0\"}},[_c('CheckboxTiny',{attrs:{\"value\":_vm.culture === c,\"radio\":\"\"},on:{\"input\":function($event){_vm.culture = c}}})],1):_vm._e(),_c('td',{staticStyle:{\"width\":\"0\"}},[_c('v-img',{attrs:{\"src\":_vm.langImg(c),\"height\":19,\"width\":28}})],1),_c('td',{staticClass:\"text-truncate\",staticStyle:{\"max-width\":\"265px\"}},[_vm._v(\" \"+_vm._s(_vm.fileNameWithCulture(c))+\" \")]),_c('td',{staticStyle:{\"width\":\"0\"}},[(_vm.diskNameWithCulture(c))?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewDocument(c)}}},[_c('v-icon',[_vm._v(\" mdi-text-box-search-outline \")])],1):_vm._e()],1),(_vm.editable)?_c('td',{staticStyle:{\"width\":\"0\"}},[(_vm.fileNameWithCulture(c))?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.removeFile(c)}}},[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\" mdi-trash-can-outline \")])],1):_vm._e()],1):_vm._e()])}),0)])],1),(_vm.editable)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('FileInput',{attrs:{\"limitExtensionsTo\":['pdf']},on:{\"file\":_vm.addFile},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar chooseFile = ref.chooseFile;\nreturn [_c('DocumentDropZone',{on:{\"click\":chooseFile}})]}}],null,false,311091698)})],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\r\nimport Vue from \"vue\";\r\nimport { Culture, FileParameter } from \"@/scripts/cld.api\";\r\nimport { cultures } from \"@/scripts/misc/enumLists\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport { langs, t } from \"@/scripts/language/i18n\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { viewDocument } from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport FileInput from \"@/components/shared/input/FileInput.vue\";\r\nimport DocumentDropZone from \"@/components/web/documents/DocumentDropZone.vue\";\r\nimport { cultureName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport type DocumentFile = {\r\n culture: Culture;\r\n diskName: string | undefined;\r\n fileFormat: string | undefined;\r\n fileParameter: FileParameter;\r\n};\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CheckboxTiny,\r\n FileInput,\r\n DocumentDropZone\r\n },\r\n props: {\r\n files: Array as () => DocumentFile[],\r\n editable: Boolean\r\n },\r\n computed: {\r\n cultures(): Culture[] {\r\n return cultures()\r\n .map(c => c.id as Culture)\r\n .sort((a, b) => (a === Culture.English ? -99 : a - b));\r\n }\r\n },\r\n methods: {\r\n fileWithCulture(c: Culture): FileParameter | undefined {\r\n const res = this.files.find(f => f.culture === c);\r\n if (res) {\r\n return res.fileParameter;\r\n }\r\n return undefined;\r\n },\r\n fileNameWithCulture(c: Culture): string | undefined {\r\n const file = this.fileWithCulture(c);\r\n if (!file) {\r\n return undefined;\r\n }\r\n return file.fileName;\r\n },\r\n diskNameWithCulture(c: Culture): string | undefined {\r\n return this.files.find(f => f.culture === c)?.diskName;\r\n },\r\n removeFile(c: Culture) {\r\n const index = this.files.findIndex(f => f.culture === c);\r\n if (index !== -1) {\r\n this.files.splice(index, 1);\r\n }\r\n },\r\n langImg(c: Culture): any {\r\n return langs.find(l => l.locale === c)!.image;\r\n },\r\n viewDocument(c: Culture) {\r\n const file = this.files.find(f => f.culture === c)!;\r\n viewDocument(file.diskName, file.fileFormat);\r\n },\r\n addFile(file: FileParameter) {\r\n if (this.files.some(f => f.culture === this.culture)) {\r\n popupDialog({\r\n title: t(\"ReplaceFile\"),\r\n body: t(\"ReplaceFileDescription\").replaceAll(\r\n \"{0}\",\r\n cultureName(this.culture)\r\n ),\r\n btnText1: t(\"Replace\"),\r\n btnColor1: \"warning\",\r\n btnCallback1: () => {\r\n this.actuallyAddFile(file);\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnCallback2: () => {}\r\n });\r\n } else {\r\n this.actuallyAddFile(file);\r\n }\r\n },\r\n actuallyAddFile(file: FileParameter) {\r\n this.removeFile(this.culture);\r\n this.files.push({\r\n culture: this.culture,\r\n diskName: undefined,\r\n fileFormat: undefined,\r\n fileParameter: file\r\n });\r\n }\r\n },\r\n data: (): {\r\n culture: Culture;\r\n } => ({\r\n culture: Culture.English\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentInput.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentInput.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentInput.vue?vue&type=template&id=610a81ae&scoped=true&\"\nimport script from \"./DocumentInput.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentInput.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DocumentInput.vue?vue&type=style&index=0&id=610a81ae&scoped=true&lang=css&\"\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 \"610a81ae\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VCol,VIcon,VImg,VRow,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Agreements'),\"width\":900},on:{\"close\":function($event){return _vm.$emit('close')}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredRoutes,\"height\":620,\"items-per-page\":20,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [20],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"hide-default-header\":\"\",\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('PickupLocation')},model:{value:(_vm.pickupFilter),callback:function ($$v) {_vm.pickupFilter=$$v},expression:\"pickupFilter\"}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('DeliveryLocation')},model:{value:(_vm.deliveryFilter),callback:function ($$v) {_vm.deliveryFilter=$$v},expression:\"deliveryFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.from\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.from.datePrint()))])]}},{key:\"item.to\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.to.datePrint()))])]}}],null,true)})]},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\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport { DocumentGroupRouteDto } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n props: {\r\n dialog: Boolean,\r\n routes: Array as () => DocumentGroupRouteDto[]\r\n },\r\n computed: {\r\n filteredRoutes(): DocumentGroupRouteDto[] {\r\n return this.routes\r\n .filter(r => stringSearchHit(this.pickupFilter, r.pickupLocation, true))\r\n .filter(r =>\r\n stringSearchHit(this.deliveryFilter, r.deliveryLocation, true)\r\n );\r\n }\r\n },\r\n data: (): {\r\n headers: TableHeader[];\r\n pickupFilter: string;\r\n deliveryFilter: string;\r\n } => ({\r\n headers: [\r\n {\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n width: 500\r\n },\r\n {\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n width: 500\r\n },\r\n {\r\n value: \"from\",\r\n text: \"AgreementStart\",\r\n width: 1\r\n },\r\n {\r\n value: \"to\",\r\n text: \"AgreementEnds\",\r\n width: 1\r\n }\r\n ],\r\n pickupFilter: \"\",\r\n deliveryFilter: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentRouteDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentRouteDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentRouteDialog.vue?vue&type=template&id=4458ece3&scoped=true&\"\nimport script from \"./DocumentRouteDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentRouteDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./DocumentRouteDialog.vue?vue&type=style&index=0&id=4458ece3&scoped=true&lang=css&\"\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 \"4458ece3\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n ApiConfiguration,\r\n DocType,\r\n DocumentGroupContainerDto,\r\n DocumentGroupDto,\r\n DocumentGroupSaveDto,\r\n DocumentSaveDto,\r\n DocumentsClient,\r\n FilesClient,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport DocumentInput from \"@/components/shared/input/DocumentInput.vue\";\r\nimport DocumentRouteDialog from \"@/components/web/documents/DocumentRouteDialog.vue\";\r\nimport { docTypeName } from \"@/scripts/misc/enumNames\";\r\nimport Auth from \"@/scripts/auth\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { docTypes } from \"@/scripts/misc/enumLists\";\r\nimport { DocumentFile } from \"@/components/shared/input/DocumentInput.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n ReadOnlyText,\r\n Dropdown,\r\n TextSingle,\r\n Checkbox,\r\n DocumentInput,\r\n DocumentRouteDialog,\r\n GreyTitle\r\n },\r\n props: {\r\n documentGroupId: Number,\r\n allowedToEditDocumentGroups: Boolean\r\n },\r\n watch: {\r\n documentGroupId: {\r\n handler() {\r\n if (this.documentGroupId === 0) {\r\n this.newDocument();\r\n } else if (this.documentGroupId !== undefined) {\r\n this.fetchDocumentDetails();\r\n } else {\r\n this.documentDetails = undefined as any;\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n if (!this.documentDetails) {\r\n return \"\";\r\n }\r\n return this.documentGroup.description!;\r\n },\r\n docTypeName(): string {\r\n return docTypeName(this.documentGroup.docType);\r\n },\r\n documentGroup(): DocumentGroupDto {\r\n return this.documentDetails.documentGroup!;\r\n },\r\n routeDialogVisible(): boolean {\r\n return (\r\n this.documentDetails !== undefined &&\r\n this.documentGroup.docType === DocType.TermsOfAgreement &&\r\n this.documentGroupId !== 0\r\n );\r\n },\r\n docTypes(): RepositoryDto[] {\r\n return docTypes().filter(\r\n dt =>\r\n !!this.documentGroupId ||\r\n [DocType.InvoicingInformation, DocType.TermsOfAgreement].includes(\r\n dt.id\r\n )\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchDocumentDetails() {\r\n let promise: Promise;\r\n if (Auth.browsingSupportAdmin()) {\r\n promise = new DocumentsClient(\r\n new ApiConfiguration(this.$store)\r\n ).supportAdminDetails(this.documentGroupId);\r\n } else {\r\n promise = new DocumentsClient(\r\n new ApiConfiguration(this.$store)\r\n ).details(this.documentGroupId);\r\n }\r\n promise\r\n .then(res => {\r\n this.documentDetails = res;\r\n this.files = this.documentDetails.documentGroup!.documents!.map(\r\n d => ({\r\n fileParameter: {\r\n fileName: d.displayName!,\r\n data: undefined\r\n },\r\n diskName: d.diskName,\r\n fileFormat: d.fileFormat,\r\n culture: d.culture\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n newDocument() {\r\n this.files = [];\r\n this.documentDetails = new DocumentGroupContainerDto({\r\n documentGroup: new DocumentGroupDto({\r\n id: 0,\r\n docType: undefined as any,\r\n actorName: undefined,\r\n actorId: 0,\r\n description: undefined,\r\n regDate: CDate.now(TimeZone.Europe_Stockholm),\r\n alterDate: undefined,\r\n documents: [],\r\n hidden: false,\r\n connectedToAgreement: false\r\n }),\r\n routes: []\r\n });\r\n },\r\n async uploadFile(file: DocumentFile) {\r\n return new FilesClient(new ApiConfiguration(this.$store))\r\n .upload(file.fileParameter as any)\r\n .then(res => {\r\n file.diskName = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n async save() {\r\n this.saveInProgress = true;\r\n for (let f of this.files) {\r\n if (f.fileParameter.data !== undefined) {\r\n await this.uploadFile(f);\r\n }\r\n }\r\n const saveDto = new DocumentGroupSaveDto({\r\n id: this.documentGroup.id,\r\n docType: this.documentGroup.docType,\r\n description: this.documentGroup.description,\r\n hidden: this.documentGroup.hidden,\r\n documents: this.files.map(\r\n f =>\r\n new DocumentSaveDto({\r\n culture: f.culture,\r\n diskName: f.diskName,\r\n displayName: f.fileParameter.fileName\r\n })\r\n )\r\n });\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .save(saveDto)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n routeDialog: boolean;\r\n documentDetails: DocumentGroupContainerDto;\r\n files: DocumentFile[];\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n routeDialog: false,\r\n documentDetails: undefined as any,\r\n files: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentDialog.vue?vue&type=template&id=b280fe02&\"\nimport script from \"./DocumentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiny-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.documentGroups,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"options\":_vm.tableOptions,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event},\"click:row\":_vm.clicked},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.icon\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$emit('click', item.id)}}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.allowedToEditDocumentGroups ? \"mdi-pencil\" : \"mdi-text-box-search-outline\")+\" \")])],1)]}},{key:\"item.docType\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.docTypeName(item.docType)))])]}},{key:\"item.description\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.description))])]}}],null,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\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { DocumentGroupDto } from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { docTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n documentGroups: Array as () => DocumentGroupDto[],\r\n allowedToEditDocumentGroups: Boolean\r\n },\r\n components: {\r\n CustomTableHeader\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 143);\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"icon\",\r\n text: \"\"\r\n },\r\n {\r\n value: \"docType\",\r\n text: \"Type\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"description\",\r\n text: \"Name\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"regDate\",\r\n text: \"Created\",\r\n sortValue: true\r\n }\r\n ];\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n docTypeName: docTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n clicked(row: DocumentGroupDto) {\r\n this.$emit(\"click\", row.id);\r\n }\r\n },\r\n data: (): { tableOptions: TableOptions } => ({\r\n tableOptions: new TableOptions({\r\n itemsPerPage: -1,\r\n sortBy: [\"regDate\"],\r\n sortDesc: [true]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DocumentTable.vue?vue&type=template&id=ba11749e&\"\nimport script from \"./DocumentTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DocumentTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n DocType,\r\n DocumentGroupDto,\r\n DocumentsClient,\r\n UserLevel\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DocumentDialog from \"@/components/web/documents/DocumentDialog.vue\";\r\nimport DocumentTable from \"@/components/web/documents/DocumentTable.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DocumentDialog,\r\n DocumentTable\r\n },\r\n computed: {\r\n userLevel(): UserLevel {\r\n return this.$store.getters[gets.userInfo].userLevel;\r\n },\r\n allowedToEditDocumentGroups(): boolean {\r\n return (\r\n this.userLevel === UserLevel.Admin ||\r\n this.userLevel === UserLevel.SuperAdmin\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchDocuments() {\r\n this.documentGroups = [];\r\n const docTypes = [DocType.InvoicingInformation, DocType.TermsOfAgreement];\r\n for (const docType of docTypes) {\r\n this.loadingSemaphore++;\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .list(docType, true)\r\n .then(res => {\r\n this.documentGroups = [...this.documentGroups, ...res];\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n closeDocumentDialog() {\r\n this.documentGroupId = undefined;\r\n this.fetchDocuments();\r\n }\r\n },\r\n mounted() {\r\n this.fetchDocuments();\r\n },\r\n data: (): {\r\n loadingSemaphore: number;\r\n documentGroups: DocumentGroupDto[];\r\n documentGroupId: number | undefined;\r\n } => ({\r\n loadingSemaphore: 0,\r\n documentGroups: [],\r\n documentGroupId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Documents.vue?vue&type=template&id=201f652a&\"\nimport script from \"./Documents.vue?vue&type=script&lang=ts&\"\nexport * from \"./Documents.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":\"Export av leverantörers priser\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"medium-vertical-padding\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('AgreementsValidDuring'),\"zone\":_vm.actorZone,\"tabindex\":\"1\"},model:{value:(_vm.exportDate),callback:function ($$v) {_vm.exportDate=$$v},expression:\"exportDate\"}})],1),_c('v-col',[_c('v-btn',{attrs:{\"loading\":_vm.exportLoading},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)],1)]},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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n AgreementsClientClient,\r\n TimeZone,\r\n ExportProcurementToExcelSearchCriteria\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker\r\n },\r\n computed: {\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .exportSupplierRoutePrices(\r\n new ExportProcurementToExcelSearchCriteria({\r\n date: this.exportDate\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n exportLoading: boolean;\r\n exportDate: CDate;\r\n } => ({\r\n exportLoading: false,\r\n exportDate: CDate.now(TimeZone.Europe_Stockholm)\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetraExport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SetraExport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SetraExport.vue?vue&type=template&id=7bd86441&\"\nimport script from \"./SetraExport.vue?vue&type=script&lang=ts&\"\nexport * from \"./SetraExport.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('ProcurementAnalyticsSearch',{attrs:{\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0,\"exportLoading\":_vm.exportLoading,\"reportContainer\":_vm.reportContainer},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ProcurementAnalyticsTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":_vm.$t('ProcurementAnalytics'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding no-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',[_c('Dropdown',{attrs:{\"items\":_vm.cargoTypes,\"label\":_vm.$t('CargoType')},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})],1),_c('v-col',[_c('Dropdown',{attrs:{\"items\":_vm.truckTypes,\"label\":_vm.$t('TruckType'),\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})],1),_c('v-col',[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Supplier'),\"items\":_vm.suppliers},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.supplierId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"supplierId\", $$v)},expression:\"searchCriteria.supplierId\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":((_vm.$t('Date')) + \" (\" + (_vm.$t('Agreement')) + \")\"),\"infoTooltip\":_vm.$t('AgreementDateTooltip'),\"zone\":_vm.actorZone},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.agreementValidDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"agreementValidDate\", $$v)},expression:\"searchCriteria.agreementValidDate\"}})],1),_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('AgreementListUnitPriceDate'),\"items\":_vm.baseIndexPeriods},on:{\"input\":_vm.search},model:{value:(_vm.unitBasePriceDate),callback:function ($$v) {_vm.unitBasePriceDate=$$v},expression:\"unitBasePriceDate\"}})],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n ProcurementAnalyticsSearchCriteria,\r\n ProcurementAnalyticsContainerDto,\r\n RepositoryDto,\r\n RepositoryClient,\r\n ApiConfiguration,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport {\r\n actorCargoTypes,\r\n truckTypesByCargoType\r\n} from \"@/scripts/misc/enumLists\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n Autocomplete\r\n },\r\n props: {\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean,\r\n reportContainer: ProcurementAnalyticsContainerDto\r\n },\r\n watch: {\r\n \"searchCriteria.cargoType\": {\r\n handler() {\r\n this.searchCriteria.truckType = undefined;\r\n this.searchCriteria.supplierId = undefined;\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n searchCriteria(): ProcurementAnalyticsSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ProcurementAnalytics,\r\n 1\r\n );\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(this.searchCriteria.cargoType);\r\n },\r\n unitBasePriceDate: {\r\n get(): string {\r\n return this.searchCriteria.unitBasePriceDate!.datePrint();\r\n },\r\n set(s: string) {\r\n this.searchCriteria.unitBasePriceDate = CDate.fromString(\r\n s,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n fetchBaseIndexPeriods() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .baseIndexPeriods()\r\n .then(res => {\r\n this.baseIndexPeriods = res.map(\r\n r =>\r\n new RepositoryDto({\r\n id: r.indexDate.datePrint() as any,\r\n text: r.displayName\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSuppliers() {\r\n cached(\"suppliers\", [this.searchCriteria.cargoType, true, true]).then(\r\n res => {\r\n this.suppliers = res;\r\n }\r\n );\r\n }\r\n },\r\n mounted() {\r\n this.fetchBaseIndexPeriods();\r\n this.fetchSuppliers();\r\n },\r\n data: (): {\r\n baseIndexPeriods: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n } => ({\r\n baseIndexPeriods: [],\r\n suppliers: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementAnalyticsSearch.vue?vue&type=template&id=4f854049&\"\nimport script from \"./ProcurementAnalyticsSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementAnalyticsSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding table-wrapper\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"item-key\":\"routeId\",\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"expanded\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"item-class\":function () { return 'light-grey-row header-row'; },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: true,\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationClient',\n pickup: false,\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'supplier',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('Supplier')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.supplierId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"supplierId\", $$v)},expression:\"searchCriteria.supplierId\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'truckType',\n cargoType: _vm.searchCriteria.cargoType\n },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currency),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currency\", $$v)},expression:\"searchCriteria.currency\"}})]},proxy:true},{key:\"filter.tag\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'tag', cargoType: _vm.searchCriteria.cargoType },\"placeholder\":_vm.$t('Tag')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.tag),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"tag\", $$v)},expression:\"searchCriteria.tag\"}})]},proxy:true}],null,true)})]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold dont-render-newlines\"},[_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickup(item),\"width\":\"220\"}})],1)]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold dont-render-newlines\"},[_c('EllipsisTableItem',{attrs:{\"text\":_vm.delivery(item),\"width\":\"260\"}})],1)]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold dont-render-newlines\"},[_vm._v(_vm._s(_vm.currencyName(item.currency)))])]}},{key:\"item.tag\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold dont-render-newlines\"},[_vm._v(_vm._s(item.tag))])]}},{key:\"item.agreementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.fromDate.datePrint())+\" - \"+_vm._s(item.toDate.datePrint())+\" \")])]}},{key:\"item.estimate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold dont-render-newlines\"},[_vm._v(_vm._s(item.estimate))])]}},{key:\"item.prevAgreementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.prevFromDate ? item.prevFromDate.datePrint() : \"\")+\" - \"+_vm._s(item.prevToDate ? item.prevToDate.datePrint() : \"\"))])]}},{key:\"item.prevEstimate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"font-weight-bold dont-render-newlines\"},[_vm._v(_vm._s(item.prevEstimate))])]}},{key:\"expanded-item\",fn:function(ref){\n var item = ref.item;\nreturn [_c('td',{staticClass:\"inner-table background-grey\",attrs:{\"colspan\":99}},[(item.truckTypes)?_c('div',[(item.truckTypes.length === 0)?_c('v-progress-linear',{attrs:{\"height\":\"3\",\"indeterminate\":\"\"}}):_vm._e(),_vm._l((_vm.truckTypeRows(item)),function(truckTypeRow){return _c('ProcurementAnalyticsTableExpansion',{key:truckTypeRow.truckType,attrs:{\"truckTypeRow\":truckTypeRow}})})],2):_c('div',[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-spacer'),_vm._v(\" \"+_vm._s(_vm.$t(\"NothingToShow\"))+\" \"),_c('v-spacer')],1)],1)])]}}],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('v-sheet',{staticClass:\"table-sheet\",attrs:{\"elevation\":\"1\",\"rounded\":\"\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.truckTypeRow.supplierRows,\"mobile-breakpoint\":0,\"items-per-page\":-1,\"custom-sort\":_vm.customSort,\"must-sort\":\"\",\"sort-by\":\"rank\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.truckType\",fn:function(){return [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.truckTypeName(_vm.truckTypeRow.truckType)))])]},proxy:true},{key:\"item.supplierName\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.supplierName))])]}},{key:\"item.rank\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.rank ? item.rank : \"-\"))])]}},{key:\"item.price\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.price ? _vm.money(item.price, 0) : \"-\"))])]}},{key:\"item.prevRank\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.prevRank ? item.prevRank : \"-\"))])]}},{key:\"item.prevPrice\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.prevPrice ? _vm.money(item.prevPrice, 0) : \"-\"))])]}},{key:\"item.priceDiff\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\",class:_vm.diffColor(item)},[_vm._v(_vm._s(item.priceDiff === null ? \"-\" : _vm.money(item.priceDiff, 0)))])]}},{key:\"item.priceDiffShare\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\",class:_vm.diffColor(item)},[_vm._v(_vm._s(item.priceDiffShare === null ? \"-\" : _vm.percentage(item.priceDiffShare, 1)))])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ProcurementAnalyticsSupplierRowDto,\r\n ProcurementAnalyticsTruckTypeDto\r\n} from \"@/scripts/cld.api\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader\r\n },\r\n props: {\r\n truckTypeRow: ProcurementAnalyticsTruckTypeDto\r\n },\r\n computed: {\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"truckType\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 140\r\n },\r\n {\r\n value: \"supplierName\",\r\n text: \"Supplier\",\r\n width: 350\r\n },\r\n {\r\n value: \"rank\",\r\n text: \"Ranking\",\r\n width: 81,\r\n sortValue: true\r\n },\r\n {\r\n value: \"price\",\r\n text: \"UnitBasePrice\",\r\n width: 100,\r\n sortValue: true\r\n },\r\n {\r\n value: \"prevRank\",\r\n text: `${t(\"Previous\")[0]}. ${t(\"Ranking\").toLowerCase()}`,\r\n tooltip: `${t(\"Previous\")} ${t(\"Ranking\").toLowerCase()}`,\r\n untranslated: true,\r\n width: 100,\r\n sortValue: true\r\n },\r\n {\r\n value: \"prevPrice\",\r\n text: `${t(\"Previous\")[0]}. ${t(\"UnitBasePrice\").toLowerCase()}`,\r\n tooltip: `${t(\"Previous\")} ${t(\"UnitBasePrice\").toLowerCase()}`,\r\n untranslated: true,\r\n width: 81,\r\n sortValue: true\r\n },\r\n {\r\n value: \"priceDiff\",\r\n text: \"Difference\",\r\n width: 81,\r\n sortValue: true\r\n },\r\n {\r\n value: \"priceDiffShare\",\r\n text: `${t(\"Difference\")} (%)`,\r\n width: 81,\r\n sortValue: true,\r\n untranslated: true\r\n }\r\n ];\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage,\r\n truckTypeName: truckTypeName,\r\n diffColor(item: ProcurementAnalyticsSupplierRowDto): string {\r\n if (!item.priceDiff) {\r\n return \"\";\r\n } else if (item.priceDiff > 0) {\r\n return \"red-text\";\r\n } else {\r\n return \"green-text\";\r\n }\r\n },\r\n customSort(\r\n items: ProcurementAnalyticsSupplierRowDto[],\r\n sortByArr: string[],\r\n sortDescArr: boolean[]\r\n ) {\r\n const sortBy = sortByArr[0];\r\n const sortDesc = sortDescArr[0];\r\n items = items.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) *\r\n stringCompare(\r\n (a as any)[sortBy] ? (a as any)[sortBy] : Number.MAX_VALUE,\r\n (b as any)[sortBy] ? (b as any)[sortBy] : Number.MAX_VALUE\r\n )\r\n );\r\n return items;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsTableExpansion.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsTableExpansion.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementAnalyticsTableExpansion.vue?vue&type=template&id=52a3495a&scoped=true&\"\nimport script from \"./ProcurementAnalyticsTableExpansion.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementAnalyticsTableExpansion.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementAnalyticsTableExpansion.vue?vue&type=style&index=0&id=52a3495a&scoped=true&lang=css&\"\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 \"52a3495a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n ProcurementAnalyticsSearchCriteria,\r\n ProcurementAnalyticsContainerDto,\r\n ProcurementAnalyticsAgreementRouteDto,\r\n ProcurementAnalyticsTruckTypeDto\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport ProcurementAnalyticsTableExpansion from \"@/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue\";\r\nimport { currencyName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n ProcurementAnalyticsTableExpansion\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: ProcurementAnalyticsContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 250);\r\n },\r\n searchCriteria(): ProcurementAnalyticsSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ProcurementAnalytics,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [\r\n {\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\"\r\n },\r\n {\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\"\r\n },\r\n {\r\n value: \"currency\",\r\n text: \"Currency\",\r\n width: 80\r\n },\r\n {\r\n value: \"tag\",\r\n text: \"Tag\",\r\n width: 130\r\n },\r\n {\r\n value: \"agreementPeriod\",\r\n text: \"AgreementPeriod\",\r\n width: 165\r\n },\r\n {\r\n value: \"estimate\",\r\n text: \"NumberOfEstimatedLoads\"\r\n },\r\n {\r\n value: \"prevAgreementPeriod\",\r\n text: `${t(\"Previous\")[0]}. ${t(\"AgreementPeriod\").toLowerCase()}`,\r\n tooltip: `${t(\"Previous\")} ${t(\"AgreementPeriod\").toLowerCase()}`,\r\n untranslated: true,\r\n width: 165\r\n },\r\n {\r\n value: \"prevEstimate\",\r\n text: `${t(\"Previous\")[0]}. ${t(\r\n \"NumberOfEstimatedLoads\"\r\n ).toLowerCase()}`,\r\n tooltip: `${t(\"Previous\")} ${t(\r\n \"NumberOfEstimatedLoads\"\r\n ).toLowerCase()}`,\r\n untranslated: true\r\n }\r\n ];\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n pickup(item: ProcurementAnalyticsAgreementRouteDto): string {\r\n return (\r\n item.pickupCounty +\r\n \", \" +\r\n item.pickupZipCode +\r\n \", \" +\r\n isoName(item.pickupCountry)\r\n );\r\n },\r\n delivery(item: ProcurementAnalyticsAgreementRouteDto): string {\r\n return (\r\n item.deliveryCounty +\r\n \", \" +\r\n item.deliveryZipCode +\r\n \", \" +\r\n isoName(item.deliveryCountry)\r\n );\r\n },\r\n truckTypeRows(\r\n item: ProcurementAnalyticsAgreementRouteDto\r\n ): ProcurementAnalyticsTruckTypeDto[] {\r\n return item.truckTypes!;\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalyticsTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementAnalyticsTable.vue?vue&type=template&id=960ee5e8&scoped=true&\"\nimport script from \"./ProcurementAnalyticsTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementAnalyticsTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementAnalyticsTable.vue?vue&type=style&index=0&id=960ee5e8&scoped=true&lang=css&\"\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 \"960ee5e8\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VDataTable,VProgressLinear,VRow,VSheet,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n ReportsClient,\r\n ProcurementAnalyticsSearchCriteriaContainer,\r\n ProcurementAnalyticsSearchCriteria,\r\n ProcurementAnalyticsContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport ProcurementAnalyticsSearch from \"@/components/web/reports/client/ProcurementAnalyticsSearch.vue\";\r\nimport ProcurementAnalyticsTable from \"@/components/web/reports/client/ProcurementAnalyticsTable.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ProcurementAnalyticsSearch,\r\n ProcurementAnalyticsTable\r\n },\r\n computed: {\r\n searchCriteria(): ProcurementAnalyticsSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ProcurementAnalytics,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.ProcurementAnalytics,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .procurementAnalytics(\r\n new ProcurementAnalyticsSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ProcurementAnalytics,\r\n subTypeId: 1\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .produrementAnalyticsExportToExcel(\r\n new ProcurementAnalyticsSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exportLoading: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: ProcurementAnalyticsContainerDto;\r\n } => ({\r\n loading: 0,\r\n exportLoading: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 10\r\n }),\r\n reportContainer: new ProcurementAnalyticsContainerDto({\r\n count: 0,\r\n rows: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalytics.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementAnalytics.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementAnalytics.vue?vue&type=template&id=191de320&\"\nimport script from \"./ProcurementAnalytics.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementAnalytics.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"10\",\"lg\":\"8\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('CostForecast'),\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding no-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exportLoading},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes()},model:{value:(_vm.criteria.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.criteria.searchCriteria, \"cargoType\", $$v)},expression:\"criteria.searchCriteria.cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":((_vm.$t('Date')) + \" (\" + (_vm.$t('Agreement')) + \")\"),\"infoTooltip\":_vm.$t('AgreementDateTooltip'),\"zone\":_vm.actorZone},model:{value:(_vm.criteria.searchCriteria.agreementDate),callback:function ($$v) {_vm.$set(_vm.criteria.searchCriteria, \"agreementDate\", $$v)},expression:\"criteria.searchCriteria.agreementDate\"}})],1),_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('CostForecastMethod'),\"items\":_vm.costForecastRankMethods()},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('CostForecastExportMethodDescription'),\"icon\":\"mdi-help-circle-outline\",\"color\":\"cyan\"}})]},proxy:true}]),model:{value:(_vm.criteria.searchCriteria.costForecastRankMethod),callback:function ($$v) {_vm.$set(_vm.criteria.searchCriteria, \"costForecastRankMethod\", $$v)},expression:\"criteria.searchCriteria.costForecastRankMethod\"}})],1)],1)]},proxy:true}])})],1),_c('v-spacer')],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n CostForecastRankMethod,\r\n CostForecastSearchCriteria,\r\n CostForecatReportSearchCriteriaContainer,\r\n ReportsClient,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { cargoTypes, costForecastRankMethods } from \"@/scripts/misc/enumLists\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nconst createNewCritiera = (\r\n timeZone: TimeZone\r\n): CostForecatReportSearchCriteriaContainer =>\r\n new CostForecatReportSearchCriteriaContainer({\r\n searchCriteria: new CostForecastSearchCriteria({\r\n costForecastRankMethod: CostForecastRankMethod.All,\r\n cargoType: CargoType.Road,\r\n agreementDate: CDate.now(timeZone)\r\n }),\r\n itemsPerPage: 200,\r\n pageNumber: 0\r\n });\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n InfoTooltip\r\n },\r\n props: {\r\n dialog: Boolean\r\n },\r\n computed: {\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n cargoTypes: cargoTypes,\r\n costForecastRankMethods: costForecastRankMethods,\r\n clearSelection() {\r\n this.criteria = createNewCritiera(this.actorZone);\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new ReportsClient(new ApiConfiguration(this.$store))\r\n .costForecastExportToExcel(this.criteria)\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n const errorObject = {\r\n response: {\r\n errors: {\r\n \"The export to excel failed because there was nothing to export.\": null\r\n }\r\n }\r\n };\r\n errorDialog(errorObject, () => {\r\n this.exportLoading = false;\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n exportLoading: boolean;\r\n criteria: CostForecatReportSearchCriteriaContainer;\r\n } => ({\r\n exportLoading: false,\r\n criteria: new CostForecatReportSearchCriteriaContainer({\r\n searchCriteria: new CostForecastSearchCriteria({\r\n costForecastRankMethod: CostForecastRankMethod.All,\r\n cargoType: CargoType.Road,\r\n agreementDate: CDate.now(TimeZone.Europe_Stockholm)\r\n }),\r\n itemsPerPage: 200,\r\n pageNumber: 0\r\n })\r\n }),\r\n created() {\r\n this.criteria = createNewCritiera(this.actorZone);\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostForecast.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CostForecast.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CostForecast.vue?vue&type=template&id=dffed8a8&\"\nimport script from \"./CostForecast.vue?vue&type=script&lang=ts&\"\nexport * from \"./CostForecast.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('StandardPhrases'),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"color\":\"btn-cyan\"},on:{\"click\":_vm.createNewStandardPhrase}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-plus-thick \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"NewPhrase\"))+\" \")],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('v-tabs',{attrs:{\"color\":\"card-cyan\",\"grow\":\"\"},model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},_vm._l((_vm.tabItems),function(tab,index){return _c('v-tab',{key:index},[_c('v-icon',{staticClass:\"medium-margin-right\",attrs:{\"color\":tab.color}},[_vm._v(_vm._s(tab.icon))]),_vm._v(\" \"+_vm._s(tab.text)+\" \")],1)}),1)],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('StandardPhrasesTable',{attrs:{\"standardPhrases\":_vm.filterPhrasesByType(_vm.tabItems[_vm.selectedTab].phraseType),\"phraseType\":_vm.tabItems[_vm.selectedTab].phraseType,\"loading\":_vm.loading},on:{\"click\":function (id) { return _vm.openDialog(id); },\"delete\":function (id) { return _vm.deleteStandardPhrase(id); }}})],1)],1),_c('StandardPhrasesDialog',{attrs:{\"standardPhraseDetails\":_vm.selectedStandardPhrase},on:{\"close\":_vm.closeStandardPhraseDialog}})],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('v-sheet',{staticClass:\"tiny-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.standardPhrases,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"options\":_vm.tableOptions,\"hide-default-header\":\"\",\"hide-default-footer\":\"\",\"disable-pagination\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.icon\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$emit('click', item.id)}}},[_c('v-icon',[_vm._v(\" mdi-pencil \")])],1)]}},{key:\"item.usageCount\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.usageCount)+\" \")]}},{key:\"item.subject\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.subject))])]}},{key:\"item.body\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.body,\"width\":\"400\"}})]}},{key:\"item.trash-icon\",fn:function(ref){\nvar item = ref.item;\nreturn [(_vm.canBeDeleted(item))?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$emit('delete', item.id)}}},[_c('v-icon',{attrs:{\"color\":\"error\"}},[_vm._v(\" mdi-trash-can-outline \")])],1):_vm._e()]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementRouteStandardPhraseDto,\r\n StandardPhraseType\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n standardPhrases: Array as () => AgreementRouteStandardPhraseDto[],\r\n phraseType: Number\r\n },\r\n components: {\r\n CustomTableHeader,\r\n EllipsisTableItem\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 143);\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"icon\",\r\n text: \"\"\r\n },\r\n {\r\n value: \"usageCount\",\r\n text: \"NumberOfRoutes\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"subject\",\r\n text: \"InternalName\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"body\",\r\n text: \"Text\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"regDate\",\r\n text: \"RegDate\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"userDisplayName\",\r\n text: \"User\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"trash-icon\",\r\n text: \"\"\r\n }\r\n ];\r\n return headers;\r\n }\r\n },\r\n watch: {\r\n standardPhrases: {\r\n handler() {\r\n this.updateUsageCount();\r\n },\r\n immediate: true\r\n }\r\n },\r\n methods: {\r\n clicked(row: AgreementRouteStandardPhraseDto) {\r\n this.$emit(\"click\", row.id);\r\n },\r\n updateUsageCount() {\r\n this.standardPhrases.forEach(\r\n sf => (sf.usageCount = this.getNumberOfConnectedRoutes(sf))\r\n );\r\n },\r\n getNumberOfConnectedRoutes(row: AgreementRouteStandardPhraseDto): number {\r\n switch (this.phraseType) {\r\n case StandardPhraseType.PickupInfo:\r\n return row.agreementRoutesPickupInfos!.length;\r\n case StandardPhraseType.DestinationInfo:\r\n return row.agreementRoutesDeliveryInfos!.length;\r\n case StandardPhraseType.SpecialRequirement:\r\n return row.agreementRoutesSpecialRequirements!.length;\r\n default:\r\n return 0;\r\n }\r\n },\r\n canBeDeleted(item: AgreementRouteStandardPhraseDto) {\r\n return (\r\n item.agreementRoutesDeliveryInfos?.length === 0 &&\r\n item.agreementRoutesPickupInfos?.length === 0 &&\r\n item.agreementRoutesSpecialRequirements?.length === 0\r\n );\r\n }\r\n },\r\n data: (): { tableOptions: TableOptions } => ({\r\n tableOptions: new TableOptions({\r\n itemsPerPage: -1,\r\n sortBy: [\"regDate\"],\r\n sortDesc: [true]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPhrasesTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPhrasesTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StandardPhrasesTable.vue?vue&type=template&id=e73e2fc8&\"\nimport script from \"./StandardPhrasesTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./StandardPhrasesTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"width\":900,\"loading\":!_vm.standardPhraseDetails},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('p',{staticClass:\"medium-margin-top red-text\"},[_vm._v(\" \"+_vm._s(_vm.disclaimerInfo)+\" \")]),_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[(_vm.standardPhraseDetails.id == 0)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Category'),\"items\":_vm.standardPhraseCategories},model:{value:(_vm.standardPhraseDetails.phraseType),callback:function ($$v) {_vm.$set(_vm.standardPhraseDetails, \"phraseType\", $$v)},expression:\"standardPhraseDetails.phraseType\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.label,\"rules\":[function (v) { return !!v; }],\"asterisk\":\"\"},model:{value:(_vm.standardPhraseDetails.subject),callback:function ($$v) {_vm.$set(_vm.standardPhraseDetails, \"subject\", $$v)},expression:\"standardPhraseDetails.subject\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":_vm.$t('Text'),\"rows\":4,\"max-length\":1000,\"asterisk\":\"\"},model:{value:(_vm.standardPhraseDetails.body),callback:function ($$v) {_vm.$set(_vm.standardPhraseDetails, \"body\", $$v)},expression:\"standardPhraseDetails.body\"}})],1)],1)],1),(_vm.standardPhraseDetails.id != 0 && _vm.displayedInfo.length > 0)?_c('p',{staticClass:\"red-text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"ChangeWillTakeEffectOn\"))+\" \"+_vm._s(_vm.displayedInfo.length)+\" \"+_vm._s(_vm.displayedInfo.length > 1 ? _vm.$t(\"AgreementRoutes\") : _vm.$t(\"AgreementRoute\"))+\" \")]):_vm._e(),(_vm.displayedInfo.length > 0)?_c('v-simple-table',{attrs:{\"dense\":\"\",\"fixed-header\":\"\",\"height\":\"250\"}},[[_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\" \"+_vm._s((\"\" + (_vm.$t(\"CargoType\"))))+\" \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" \"+_vm._s((\"\" + (_vm.$t(\"ConnectedRoutes\"))))+\" \")])])]),_c('tbody',_vm._l((_vm.displayedInfo),function(info,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(info.cargoTypeName))]),_c('td',[_vm._v(_vm._s(info.routeName))])])}),0)]],2):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.standardPhraseDetails)?_c('v-row',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.saveInProgress,\"disabled\":!_vm.pendingChanges || !_vm.valid},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1):_vm._e()]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport {\r\n AgreementRouteStandardPhraseDto,\r\n ApiConfiguration,\r\n CargoTypeAndRouteInfoDto,\r\n RepositoryDto,\r\n StandardPhrasesClient,\r\n StandardPhraseType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle,\r\n TextMulti,\r\n Dropdown\r\n },\r\n props: {\r\n standardPhraseDetails: AgreementRouteStandardPhraseDto\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.standardPhraseDetailsOriginal = JSON.stringify(\r\n this.standardPhraseDetails\r\n );\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string | undefined {\r\n if (!this.standardPhraseDetails) {\r\n return \"\";\r\n }\r\n if (this.standardPhraseDetails.id === 0) {\r\n return t(\"NewPhrase\");\r\n }\r\n return this.standardPhraseDetails.subject;\r\n },\r\n standardPhraseCategories(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: StandardPhraseType.DestinationInfo,\r\n text: t(\"DestinationInformation\")\r\n }),\r\n new RepositoryDto({\r\n id: StandardPhraseType.PickupInfo,\r\n text: t(\"PickupInformation\")\r\n }),\r\n new RepositoryDto({\r\n id: StandardPhraseType.SpecialRequirement,\r\n text: t(\"SpecialRequirements\")\r\n })\r\n ];\r\n },\r\n dialog(): boolean {\r\n return this.standardPhraseDetails !== undefined;\r\n },\r\n pendingChanges(): boolean {\r\n return (\r\n this.standardPhraseDetailsOriginal !==\r\n JSON.stringify(this.standardPhraseDetails)\r\n );\r\n },\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 143);\r\n },\r\n displayedInfo(): CargoTypeAndRouteInfoDto[] {\r\n this.setDisclaimerText();\r\n switch (this.standardPhraseDetails.phraseType) {\r\n case StandardPhraseType.DestinationInfo:\r\n return this.standardPhraseDetails.agreementRoutesDeliveryInfos!;\r\n case StandardPhraseType.PickupInfo:\r\n return this.standardPhraseDetails.agreementRoutesPickupInfos!;\r\n case StandardPhraseType.SpecialRequirement:\r\n return this.standardPhraseDetails.agreementRoutesSpecialRequirements!;\r\n default:\r\n return [];\r\n }\r\n },\r\n label() {\r\n return `${t(\"InternalName\")} (${t(\"NotVisibleOnLoad\").toLowerCase()})`;\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n const saveDto = new AgreementRouteStandardPhraseDto({\r\n id: this.standardPhraseDetails.id,\r\n subject: this.standardPhraseDetails.subject,\r\n body: this.standardPhraseDetails.body,\r\n usageCount: 0,\r\n regDate: CDate.now(this.$store.getters[gets.userInfo].zone),\r\n phraseType: this.standardPhraseDetails.phraseType,\r\n userDisplayName: this.standardPhraseDetails.userDisplayName,\r\n agreementRoutesDeliveryInfos: this.standardPhraseDetails\r\n .agreementRoutesDeliveryInfos,\r\n agreementRoutesPickupInfos: this.standardPhraseDetails\r\n .agreementRoutesPickupInfos,\r\n agreementRoutesSpecialRequirements: this.standardPhraseDetails\r\n .agreementRoutesSpecialRequirements\r\n });\r\n new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .saveAgreementRouteStandardPhrase(saveDto)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n setDisclaimerText() {\r\n switch (this.standardPhraseDetails.phraseType) {\r\n case StandardPhraseType.DestinationInfo:\r\n if (this.standardPhraseDetails.id === 0) {\r\n this.disclaimerInfo = t(\"NewStandardPhraseDisclaimer\");\r\n } else {\r\n this.disclaimerInfo = t(\"StandardPhraseDisclaimer\");\r\n }\r\n break;\r\n case StandardPhraseType.PickupInfo:\r\n if (this.standardPhraseDetails.id === 0) {\r\n this.disclaimerInfo = t(\"NewStandardPhraseDisclaimer\");\r\n } else {\r\n this.disclaimerInfo = t(\"StandardPhraseDisclaimer\");\r\n }\r\n break;\r\n case StandardPhraseType.SpecialRequirement:\r\n if (this.standardPhraseDetails.id === 0) {\r\n this.disclaimerInfo = t(\"NewSpecialRequirementDisclaimer\");\r\n } else {\r\n this.disclaimerInfo = t(\"SpecialRequirementDisclaimer\");\r\n }\r\n break;\r\n default:\r\n this.disclaimerInfo = \"\"; // Ska inte hända\r\n break;\r\n }\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n standardPhraseDetailsOriginal: string;\r\n disclaimerInfo: string;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n standardPhraseDetailsOriginal: \"\",\r\n disclaimerInfo: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPhrasesDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPhrasesDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StandardPhrasesDialog.vue?vue&type=template&id=c8102556&\"\nimport script from \"./StandardPhrasesDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./StandardPhrasesDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSimpleTable,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n StandardPhrasesClient,\r\n AgreementRouteStandardPhraseDto,\r\n StandardPhraseType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport StandardPhrasesTable from \"@/components/web/standardphrases/StandardPhrasesTable.vue\";\r\nimport StandardPhrasesDialog from \"@/components/web/standardphrases/StandardPhrasesDialog.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n StandardPhrasesDialog,\r\n StandardPhrasesTable\r\n },\r\n computed: {\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n fetchStandardPhrases() {\r\n this.loading = true;\r\n new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .listAgreementRouteStandardPhrases()\r\n .then(res => {\r\n this.standardPhrases = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n openDialog(id: number) {\r\n this.selectedStandardPhrase = this.standardPhrases.find(\r\n phrase => phrase.id === id\r\n );\r\n },\r\n closeStandardPhraseDialog() {\r\n this.selectedStandardPhrase = undefined;\r\n this.fetchStandardPhrases();\r\n },\r\n filterPhrasesByType(type: number) {\r\n return this.standardPhrases.filter(phrase => phrase.phraseType === type);\r\n },\r\n createNewStandardPhrase() {\r\n this.selectedStandardPhrase = new AgreementRouteStandardPhraseDto({\r\n id: 0,\r\n subject: \"\",\r\n body: \"\",\r\n usageCount: 0,\r\n phraseType: this.tabItems[this.selectedTab].phraseType,\r\n userDisplayName: \"\",\r\n regDate: CDate.now(this.actorZone),\r\n agreementRoutesDeliveryInfos: [],\r\n agreementRoutesPickupInfos: [],\r\n agreementRoutesSpecialRequirements: []\r\n });\r\n },\r\n deleteStandardPhrase(id: number) {\r\n popupDialog({\r\n title: t(\"Delete\"),\r\n body: t(\"ConfirmRemoveText\"),\r\n btnText1: t(\"Survey_Yes\"),\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n this.actuallyDeleteStandardPhrase(id);\r\n },\r\n btnText2: t(\"Cancel\"),\r\n btnCallback2: () => {}\r\n });\r\n },\r\n actuallyDeleteStandardPhrase(id: number) {\r\n new StandardPhrasesClient(new ApiConfiguration(this.$store))\r\n .deleteAgreementRouteStandardPhrase(id)\r\n .then(() => this.fetchStandardPhrases())\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchStandardPhrases();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n standardPhrases: AgreementRouteStandardPhraseDto[];\r\n selectedStandardPhrase: AgreementRouteStandardPhraseDto | undefined;\r\n selectedTab: number;\r\n tabItems: {\r\n text: string;\r\n phraseType: StandardPhraseType;\r\n icon: string;\r\n color?: string;\r\n }[];\r\n } => ({\r\n loading: false,\r\n standardPhrases: [],\r\n selectedStandardPhrase: undefined,\r\n selectedTab: 0,\r\n tabItems: [\r\n {\r\n text: t(\"PickupInformation\"),\r\n phraseType: StandardPhraseType.PickupInfo,\r\n icon: \"mdi-tray-arrow-up\"\r\n },\r\n {\r\n text: t(\"DestinationInformation\"),\r\n phraseType: StandardPhraseType.DestinationInfo,\r\n icon: \"mdi-tray-arrow-down\"\r\n },\r\n {\r\n text: t(\"SpecialRequirements\"),\r\n phraseType: StandardPhraseType.SpecialRequirement,\r\n icon: \"mdi-exclamation-thick\",\r\n color: \"error\"\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPhrases.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPhrases.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StandardPhrases.vue?vue&type=template&id=06f06a98&\"\nimport script from \"./StandardPhrases.vue?vue&type=script&lang=ts&\"\nexport * from \"./StandardPhrases.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VTab,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.cargoType)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('ProcurementSearch',{attrs:{\"cargoType\":_vm.cargoType,\"optionsDisabled\":_vm.loading || _vm.unsavedChanges,\"optionsLoading\":_vm.optionsLoading,\"editable\":_vm.editable,\"interactable\":_vm.interactable,\"unsavedChanges\":_vm.unsavedChanges},on:{\"exportToExcel\":_vm.exportToExcel,\"importStarted\":function($event){_vm.loading = true},\"importFromExcel\":_vm.importFromExcel,\"importPrev\":_vm.importPrevAll,\"setStopPrice\":_vm.setStopPriceAll,\"calculateDistance\":_vm.calculateDistanceAll,\"calculatePercentage\":_vm.calculatePercentageAll,\"calculateDistanceAndPercentage\":_vm.calculateDistanceAndPercentageAll,\"clearSelection\":_vm.clearSelection,\"search\":function($event){return _vm.search(true, true, false)}}})],1),(!_vm.interactable)?_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"large-padding-left tiny-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"color\":\"icon-cyan\",\"size\":\"19\"}},[_vm._v(\" mdi-information \")])],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ReviewTheResult\"))+\" \")])],1)],1)],1):_vm._e(),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-form',{model:{value:(_vm.validPrices),callback:function ($$v) {_vm.validPrices=$$v},expression:\"validPrices\"}},[_c('ProcurementTable',{attrs:{\"cargoType\":_vm.cargoType,\"loading\":_vm.loading,\"tableOptions\":_vm.tableOptions,\"procurementContainer\":_vm.procurementContainer,\"hasChanges\":_vm.hasChanges,\"editable\":_vm.editable,\"interactable\":_vm.interactable},on:{\"importPrev\":_vm.importPrev,\"setStopPrice\":_vm.setStopPrice,\"calculateDistance\":_vm.calculateDistance,\"calculatePercentage\":_vm.calculatePercentage,\"calculateDistanceAndPercentage\":_vm.calculateDistanceAndPercentage,\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":function($event){return _vm.search(true, true, false)}}})],1)],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ProcurementActions',{attrs:{\"loading\":_vm.loading,\"unsavedChanges\":_vm.unsavedChanges,\"saveInProgress\":_vm.saveInProgress,\"interactable\":_vm.interactable,\"changedRows\":_vm.changedRows,\"validPrices\":_vm.validPrices},on:{\"undo\":_vm.undo,\"save\":_vm.save}})],1)],1)],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('SearchCard',{attrs:{\"title\":_vm.title},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [(_vm.editable)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"nudge-bottom\":\"1\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"loading\":_vm.optionsLoading,\"disabled\":_vm.optionsDisabled}},on),[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"icon-grey\"}},[_vm._v(\"mdi-tools\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Tools\"))+\" \"),_c('v-icon',{attrs:{\"right\":\"\",\"color\":\"icon-grey\"}},[_vm._v(\"mdi-menu-down\")])],1)]}}],null,false,1266666395)},[_c('v-list',{staticClass:\"tiny-vertical-padding\"},_vm._l((_vm.menuOptions),function(option,index){return _c('v-tooltip',{key:index,attrs:{\"top\":\"\",\"disabled\":!option.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-list-item',{attrs:{\"disabled\":!!option.tooltip,\"dense\":\"\"},on:{\"click\":function($event){return _vm.optionClick(option.id)}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"disabled\":!!option.tooltip}},[_vm._v(_vm._s(option.icon))])],1),_c('v-list-item-content',[_vm._v(\" \"+_vm._s(option.text)+\" \")])],1)],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(option.tooltip)+\" \")])}),1)],1):_vm._e(),_c('v-btn',{staticClass:\"medium-margin-sides\",attrs:{\"disabled\":_vm.unsavedChanges},on:{\"click\":_vm.clearSelection}},[_c('v-icon',{attrs:{\"size\":\"21\",\"left\":\"\"}},[_vm._v(\"mdi-close\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"ClearSelection\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [(_vm.interactable)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LocationFilter',{attrs:{\"location\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryIds: _vm.searchCriteria.pickupCountries\n },\"label\":_vm.$t('PickupLocation'),\"counties\":_vm.pickupCounties,\"countries\":_vm.countries,\"multi\":\"\"},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountries = val.countryIds;\n },\"search\":_vm.search,\"clearSelection\":_vm.clearSelection}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('LocationFilter',{attrs:{\"location\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryIds: _vm.searchCriteria.deliveryCountries\n },\"label\":_vm.$t('DeliveryLocation'),\"counties\":_vm.deliveryCounties,\"countries\":_vm.countries,\"multi\":\"\"},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountries = val.countryIds;\n },\"search\":_vm.search,\"clearSelection\":_vm.clearSelection}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('OnlyShowRoutes'),\"items\":_vm.showRoutesItems,\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.priceFilter),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"priceFilter\", $$v)},expression:\"searchCriteria.priceFilter\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":((_vm.$t('Ongoing')) + \"/\" + (_vm.$t('Closed'))),\"items\":_vm.closedOngoingItems},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.closedProcurements),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"closedProcurements\", $$v)},expression:\"searchCriteria.closedProcurements\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top\",attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Client'),\"items\":_vm.clients,\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.clientId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"clientId\", $$v)},expression:\"searchCriteria.clientId\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top\",attrs:{\"cols\":\"3\"}},[_c('DropdownMulti',{attrs:{\"label\":_vm.$t('TruckType'),\"items\":_vm.truckTypes,\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.truckTypes),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckTypes\", $$v)},expression:\"searchCriteria.truckTypes\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top\",attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('Currency'),\"items\":_vm.currencies,\"clearable\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.currency),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currency\", $$v)},expression:\"searchCriteria.currency\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top\",attrs:{\"cols\":\"3\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('ProcurementsClosingWithinDays'),\"allow-null\":\"\",\"only-on-blur\":\"\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.daysForward),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"daysForward\", $$v)},expression:\"searchCriteria.daysForward\"}})],1)],1):_vm._e()]},proxy:true}])}),_c('ProcurementConfigDialog',{attrs:{\"dialog\":_vm.configDialog,\"cargoType\":_vm.cargoType},on:{\"close\":function($event){_vm.configDialog = false}}}),_c('ProcurementExcelImportDialog',{attrs:{\"dialog\":_vm.excelImportDialog,\"cargoType\":_vm.cargoType},on:{\"importStarted\":function($event){return _vm.$emit('importStarted')},\"importFromExcel\":function (res) { return _vm.$emit('importFromExcel', res); },\"close\":function($event){_vm.excelImportDialog = false},\"refresh\":_vm.search}}),_c('ProcurementImportPrevDialog',{attrs:{\"dialog\":_vm.importPrevDialog},on:{\"importPrev\":function($event){return _vm.$emit('importPrev')},\"close\":function($event){_vm.importPrevDialog = false}}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('PriceSettings'),\"width\":800,\"no-close-button\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.road)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Percentage')}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(\" \"+_vm._s(_vm.percentagePriceText)+\" \")]),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('TruckTypeTruck'),\"rules\":[function (v) { return v === null || v === undefined || v > 0; }],\"only-integers\":\"\",\"allow-null\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-percent\")])]},proxy:true}],null,false,4204400290),model:{value:(_vm.conf.truckPercentage),callback:function ($$v) {_vm.$set(_vm.conf, \"truckPercentage\", $$v)},expression:\"conf.truckPercentage\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('TruckTypeWagon'),\"rules\":[function (v) { return v === null || v === undefined || v > 0; }],\"only-integers\":\"\",\"allow-null\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-icon',[_vm._v(\"mdi-percent\")])]},proxy:true}],null,false,4204400290),model:{value:(_vm.conf.wagonPercentage),callback:function ($$v) {_vm.$set(_vm.conf, \"wagonPercentage\", $$v)},expression:\"conf.wagonPercentage\"}})],1)],1)],1):_vm._e(),(_vm.road || _vm.machineTransport)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('StopPrice')}})],1),_c('v-col',{staticClass:\"small-margin-left no-padding-bottom\",attrs:{\"cols\":\"11\"}},[_vm._v(\" \"+_vm._s(_vm.stopPriceText)+\" \")])],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"transparent\"},[_vm._v(\"BLA\")])]),_vm._l((_vm.currencies()),function(c){return _c('v-col',{key:c.id,staticClass:\"no-padding-bottom font-weight-bold\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(c.text)+\" \")])})],2),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-padding-top small-margin-left font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"StopPrice\"))+\" \")]),_vm._l((_vm.currencies()),function(c){return _c('v-col',{key:c.id,staticClass:\"small-padding-top small-padding-left\"},[_c('NumberInput',{attrs:{\"rules\":[function (v) { return v === null || v === undefined || v > 0; }],\"allow-null\":\"\",\"only-integers\":\"\"},model:{value:(_vm.stopPrice(c.id).value),callback:function ($$v) {_vm.$set(_vm.stopPrice(c.id), \"value\", $$v)},expression:\"stopPrice(c.id).value\"}})],1)})],2)],1):_vm._e(),(_vm.road)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('PricePerKm')}})],1),_c('v-col',{staticClass:\"small-margin-left no-padding-bottom\",attrs:{\"cols\":\"11\"}},[_vm._v(\" \"+_vm._s(_vm.kmPriceText)+\" \")])],1),_c('v-row',{attrs:{\"justify\":\"space-around\"}},[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"transparent\"},[_vm._v(\"BLA\")])]),_vm._l((_vm.currencies()),function(c){return _c('v-col',{key:c.id,staticClass:\"no-padding-bottom font-weight-bold\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(c.text)+\" \")])})],2),_vm._l((_vm.truckTypes),function(tt){return _c('v-row',{key:tt.id,attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"small-padding-top small-margin-left font-weight-bold\"},[_vm._v(\" \"+_vm._s(tt.text)+\" \")]),_vm._l((_vm.currencies()),function(c){return _c('v-col',{key:c.id,staticClass:\"small-padding-top small-padding-left\"},[_c('NumberInput',{attrs:{\"rules\":[function (v) { return v === null || v === undefined || v > 0; }],\"allow-null\":\"\"},model:{value:(_vm.km(tt.id, c.id).value),callback:function ($$v) {_vm.$set(_vm.km(tt.id, c.id), \"value\", $$v)},expression:\"km(tt.id, c.id).value\"}})],1)})],2)})],2):_vm._e()])]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":!_vm.valid},on:{\"click\":_vm.closeDialog}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport {\r\n CargoType,\r\n Currency,\r\n RepositoryDto,\r\n TruckType,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport {\r\n SupplierProcurementConfig,\r\n SupplierProcurementConfigEntry\r\n} from \"@/scripts/types\";\r\nimport { currencies, truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nexport default Vue.extend({\r\n props: {\r\n dialog: Boolean,\r\n cargoType: Number as () => CargoType\r\n },\r\n components: {\r\n DialogCard,\r\n GreyTitle,\r\n NumberInput\r\n },\r\n computed: {\r\n conf(): SupplierProcurementConfig {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurementConfig,\r\n 1\r\n );\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(this.cargoType);\r\n },\r\n road(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n machineTransport(): boolean {\r\n return this.cargoType === CargoType.MachineTransport;\r\n },\r\n percentagePriceText(): string {\r\n return t(\"PercentageSettingsDesc\").replace(\r\n \"{0}\",\r\n t(\"CalculateBasedOnTW\").toLowerCase()\r\n );\r\n },\r\n stopPriceText(): string {\r\n return t(\"StopPriceSettingsDesc\").replace(\r\n \"{0}\",\r\n t(\"GetStopPrice\").toLowerCase()\r\n );\r\n },\r\n kmPriceText(): string {\r\n return t(\"PricePerKmSettingsDesc\").replace(\r\n \"{0}\",\r\n t(\"CalculateBasedOnDist\").toLowerCase()\r\n );\r\n }\r\n },\r\n methods: {\r\n currencies: currencies,\r\n closeDialog() {\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.SupplierProcurementConfig,\r\n subTypeId: 1\r\n });\r\n this.$emit(\"close\");\r\n },\r\n km(tt: TruckType, c: Currency): SupplierProcurementConfigEntry {\r\n return this.conf.kmPrices.find(\r\n x => x.truckType === tt && x.currency === c\r\n )!;\r\n },\r\n stopPrice(c: Currency): SupplierProcurementConfigEntry {\r\n return this.conf.stopPrices.find(x => x.currency === c)!;\r\n }\r\n },\r\n data: (): { valid: boolean } => ({ valid: false })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementConfigDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementConfigDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementConfigDialog.vue?vue&type=template&id=ff42a252&\"\nimport script from \"./ProcurementConfigDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementConfigDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('ImportFromExcel'),\"width\":500},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"medium-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"ExcelImportInformation\"))+\" \")]),_c('input',{key:_vm.uploadKey,ref:\"fileUpload\",attrs:{\"type\":\"file\",\"hidden\":\"\",\"accept\":\".xlsx\"},on:{\"change\":_vm.importFromExcel}})]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\",\"loading\":_vm.loading},on:{\"click\":_vm.chooseFile}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Import\"))+\" \")],1)]},proxy:true}])}),_c('DialogCard',{attrs:{\"dialog\":_vm.errorDialog,\"title\":_vm.$t('Warning'),\"width\":650,\"warning\":\"\"},on:{\"close\":_vm.closeErrorDialog},scopedSlots:_vm._u([{key:\"body\",fn:function(){return _vm._l((_vm.importInfo.errors || []),function(error){return _c('div',{key:error.errorMessage,staticClass:\"medium-vertical-padding\"},[_c('div',{staticClass:\"font-weight-bold tiny-padding-bottom\"},[_vm._v(\" \"+_vm._s(error.errorMessage)+\": \")]),_vm._l((error.subMessages || []),function(sub){return _c('div',{key:sub},[_vm._v(\" \"+_vm._s(sub)+\" \")])})],2)})},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"warning\"},on:{\"click\":_vm.closeErrorDialog}},[_vm._v(\" OK \")])]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n FileParameter,\r\n ImportInfoDto,\r\n ProcurementsSupplierClient\r\n} from \"@/scripts/cld.api\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n dialog: Boolean,\r\n cargoType: Number as () => CargoType\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n this.loading = false;\r\n },\r\n closeErrorDialog() {\r\n this.errorDialog = false;\r\n this.close();\r\n },\r\n chooseFile() {\r\n (this.$refs.fileUpload as any).click();\r\n },\r\n importFromExcel(e: any) {\r\n this.loading = true;\r\n const uploadedFile = e.target.files[0];\r\n if (!uploadedFile) {\r\n return;\r\n }\r\n const fileParam: FileParameter = {\r\n data: uploadedFile,\r\n fileName: uploadedFile.name\r\n };\r\n this.$emit(\"importStarted\");\r\n new ProcurementsSupplierClient(new ApiConfiguration(this.$store))\r\n .importFromExcel(fileParam as any)\r\n .then(res => {\r\n this.uploadKey = nextUnique();\r\n this.importInfo = res.importInfo!;\r\n if (this.cargoType !== this.importInfo.cargoType) {\r\n alertDialog(t(\"Error\"), t(\"ExcelImportWrongCargoType\"));\r\n this.$emit(\"refresh\");\r\n this.close();\r\n return;\r\n }\r\n this.$emit(\"importFromExcel\", res);\r\n if (this.importInfo.errors!.length > 0) {\r\n this.errorDialog = true;\r\n } else {\r\n this.close();\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n uploadKey: number;\r\n errorDialog: boolean;\r\n importInfo: ImportInfoDto;\r\n } => ({\r\n loading: false,\r\n uploadKey: nextUnique(),\r\n errorDialog: false,\r\n importInfo: new ImportInfoDto({ errors: [], cargoType: undefined })\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementExcelImportDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementExcelImportDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementExcelImportDialog.vue?vue&type=template&id=38b5afb0&\"\nimport script from \"./ProcurementExcelImportDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementExcelImportDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VIcon,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('ImportFromLatestAgreement'),\"width\":600},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ImportPrevAgreementTooltip\"))+\" \")]),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ImportPrevAgreementInfo\"))+\" \")])],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"success\"},on:{\"click\":_vm.importPrev}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-history\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Import\"))+\" \")],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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n dialog: Boolean\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n importPrev() {\r\n this.$emit(\"importPrev\");\r\n this.close();\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementImportPrevDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementImportPrevDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementImportPrevDialog.vue?vue&type=template&id=da801990&\"\nimport script from \"./ProcurementImportPrevDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementImportPrevDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n UserConfigurationType,\r\n SupplierProcurementSearchCriteria,\r\n RepositoryDto,\r\n PriceFilter\r\n} from \"@/scripts/cld.api\";\r\nimport { cargoTypeName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport LocationFilter from \"@/components/shared/input/LocationFilter.vue\";\r\nimport ProcurementConfigDialog from \"@/components/web/agreements/supplier/ProcurementConfigDialog.vue\";\r\nimport ProcurementExcelImportDialog from \"@/components/web/agreements/supplier/ProcurementExcelImportDialog.vue\";\r\nimport ProcurementImportPrevDialog from \"@/components/web/agreements/supplier/ProcurementImportPrevDialog.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { currencies, truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport { ProcurementRowAction } from \"@/views/supplier/Procurements.vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { SupplierProcurementConfig } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DropdownMulti,\r\n Dropdown,\r\n Autocomplete,\r\n NumberInput,\r\n LocationFilter,\r\n ProcurementConfigDialog,\r\n ProcurementExcelImportDialog,\r\n ProcurementImportPrevDialog\r\n },\r\n props: {\r\n cargoType: Number as () => CargoType,\r\n optionsDisabled: Boolean,\r\n optionsLoading: Boolean,\r\n editable: Boolean,\r\n interactable: Boolean,\r\n unsavedChanges: Boolean\r\n },\r\n computed: {\r\n title(): string {\r\n return `${t(\"ProcurementList\")} - ${cargoTypeName(this.cargoType)}`;\r\n },\r\n searchCriteria(): SupplierProcurementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurement,\r\n this.cargoType\r\n );\r\n },\r\n conf(): SupplierProcurementConfig {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurementConfig,\r\n 1\r\n );\r\n },\r\n menuOptions(): {\r\n id: ProcurementRowAction;\r\n text: string;\r\n icon: string;\r\n tooltip?: string;\r\n }[] {\r\n return [\r\n {\r\n id: ProcurementRowAction.Export,\r\n text: t(\"ExportToExcel\"),\r\n icon: \"mdi-microsoft-excel\",\r\n blacklist: [CargoType.MachineTransport]\r\n },\r\n {\r\n id: ProcurementRowAction.ImportExcel,\r\n text: t(\"ImportFromExcel\"),\r\n icon: \"mdi-microsoft-excel\",\r\n blacklist: [CargoType.MachineTransport]\r\n },\r\n {\r\n id: ProcurementRowAction.ImportPrev,\r\n text: t(\"ImportFromLatestAgreement\"),\r\n icon: \"mdi-history\"\r\n },\r\n {\r\n id: ProcurementRowAction.CalculatePercentage,\r\n text: t(\"CalculateBasedOnTW\"),\r\n icon: \"mdi-percent\",\r\n blacklist: [\r\n CargoType.Railroad,\r\n CargoType.Container,\r\n CargoType.MachineTransport\r\n ],\r\n tooltip:\r\n !this.conf.truckPercentage && !this.conf.wagonPercentage\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\"\r\n },\r\n {\r\n id: ProcurementRowAction.CalculateDistance,\r\n text: t(\"CalculateBasedOnDist\"),\r\n icon: \"mdi-calculator-variant\",\r\n blacklist: [\r\n CargoType.Railroad,\r\n CargoType.Container,\r\n CargoType.MachineTransport\r\n ],\r\n tooltip: !this.conf.kmPrices.some(c => c.value)\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\"\r\n },\r\n {\r\n id: ProcurementRowAction.CalculateDistanceAndPercentage,\r\n text: t(\"CalculateBasedOnDistTW\"),\r\n icon: \"mdi-calculator-variant\",\r\n blacklist: [\r\n CargoType.Railroad,\r\n CargoType.Container,\r\n CargoType.MachineTransport\r\n ],\r\n tooltip: !this.conf.kmPrices.some(c => c.value)\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\"\r\n },\r\n {\r\n id: ProcurementRowAction.StopPrice,\r\n text: t(\"GetStopPrice\"),\r\n icon: \"mdi-routes-clock\",\r\n blacklist: [CargoType.Railroad, CargoType.Container],\r\n tooltip: !this.conf.stopPrices.some(c => c.value)\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\"\r\n },\r\n {\r\n id: ProcurementRowAction.Settings,\r\n text: t(\"PriceSettings\"),\r\n icon: \"mdi-cog\",\r\n blacklist: [CargoType.Railroad, CargoType.Container]\r\n }\r\n ].filter(x => !(x.blacklist || []).includes(this.cargoType));\r\n },\r\n closedOngoingItems(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: false as any,\r\n text: t(\"Ongoing\")\r\n }),\r\n new RepositoryDto({\r\n id: true as any,\r\n text: t(\"Closed\")\r\n })\r\n ];\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(this.cargoType);\r\n },\r\n currencies(): RepositoryDto[] {\r\n return currencies();\r\n },\r\n showRoutesItems(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({\r\n id: PriceFilter.WithPrices,\r\n text: t(\"ShowRoutesWithPrices\")\r\n }),\r\n new RepositoryDto({\r\n id: PriceFilter.WithoutPrices,\r\n text: t(\"ShowRoutesWithoutPrices\")\r\n })\r\n ];\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n optionClick(id: ProcurementRowAction) {\r\n switch (id) {\r\n case ProcurementRowAction.Export:\r\n this.$emit(\"exportToExcel\");\r\n break;\r\n case ProcurementRowAction.ImportExcel:\r\n this.excelImportDialog = true;\r\n break;\r\n case ProcurementRowAction.ImportPrev:\r\n this.importPrevDialog = true;\r\n break;\r\n case ProcurementRowAction.StopPrice:\r\n this.$emit(\"setStopPrice\");\r\n break;\r\n case ProcurementRowAction.CalculateDistance:\r\n this.$emit(\"calculateDistance\");\r\n break;\r\n case ProcurementRowAction.CalculatePercentage:\r\n this.$emit(\"calculatePercentage\");\r\n break;\r\n case ProcurementRowAction.CalculateDistanceAndPercentage:\r\n this.$emit(\"calculateDistanceAndPercentage\");\r\n break;\r\n case ProcurementRowAction.Settings:\r\n this.configDialog = true;\r\n break;\r\n default:\r\n neverHappens(id);\r\n }\r\n }\r\n },\r\n mounted() {\r\n cached(\"clients\", [true, true, false])\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"countiesByCargotype\", this.cargoType, true)\r\n .then(res => {\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n this.pickupCounties = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"countiesByCargotype\", this.cargoType, false)\r\n .then(res => {\r\n res.sort((r1, r2) => {\r\n return (r1.text as String).localeCompare(r2.text!);\r\n });\r\n this.deliveryCounties = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n menu: boolean;\r\n configDialog: boolean;\r\n excelImportDialog: boolean;\r\n importPrevDialog: boolean;\r\n clients: RepositoryDto[];\r\n pickupCounties: RepositoryDto[];\r\n deliveryCounties: RepositoryDto[];\r\n countries: RepositoryDto[];\r\n } => ({\r\n menu: false,\r\n configDialog: false,\r\n excelImportDialog: false,\r\n importPrevDialog: false,\r\n clients: [],\r\n pickupCounties: [],\r\n deliveryCounties: [],\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementSearch.vue?vue&type=template&id=31f3e889&\"\nimport script from \"./ProcurementSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VMenu,VRow,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.procurementContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.procurementContainer.count,\"options\":_vm.options,\"custom-group\":function (items) { return items.map(function (i) { return ({ name: i.agreementId, items: [i] }); }); },\"item-class\":function (i) { return (_vm.hasChanges(i) ? 'blue-row no-hover' : ''); },\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [20],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"header.truckTypes\",fn:function(){return [_c('div',{staticClass:\"flex-container\"},_vm._l((_vm.truckTypes),function(tt){return _c('div',{key:tt.id,staticStyle:{\"width\":\"100%\"}},[_vm._v(\" \"+_vm._s(tt.text)+\" \")])}),0)]},proxy:true}],null,true)})]}},{key:\"group.header\",fn:function(ref){\n var items = ref.items;\nreturn [_c('td',{staticClass:\"font-weight-bold\",class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":\"1\"}},[(_vm.editable)?_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"height\":\"23\",\"width\":\"23\",\"icon\":\"\"}},on),[_c('v-icon',{attrs:{\"size\":\"25\"}},[_vm._v(\" mdi-dots-horizontal \")])],1)]}}],null,true)},[_c('v-list',{staticClass:\"no-padding\",attrs:{\"dense\":\"\"}},_vm._l((_vm.menuOptions(items[0])),function(option,index){return _c('v-tooltip',{key:index,attrs:{\"top\":\"\",\"disabled\":!option.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-list-item',{attrs:{\"disabled\":!option.enabled},on:{\"click\":function($event){return _vm.optionClick(option.id, items[0])}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"size\":\"20\",\"disabled\":!option.enabled}},[_vm._v(\" \"+_vm._s(option.icon)+\" \")])],1),_c('v-list-item-title',[_vm._v(_vm._s(option.text))])],1)],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(option.tooltip)+\" \")])}),1)],1):_vm._e()],1),_c('td',{staticClass:\"font-weight-bold\",class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":\"1\"}},[_c('EllipsisTableItem',{attrs:{\"text\":items[0].clientName,\"width\":\"155\"}})],1),_c('td',{class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":_vm.routeNameColspan}},[_c('span',{staticClass:\"dont-render-newlines font-weight-bold\"},[_c('span',{staticClass:\"small-padding-right\"},[_vm._v(\" \"+_vm._s(items[0].pickupLocation)+\" - \"+_vm._s(items[0].deliveryLocation)+\" \")]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"tiny-padding-bottom clickable\",attrs:{\"color\":\"cyan\",\"size\":\"16\"},on:{\"click\":function($event){return _vm.viewDocument(items[0].documentGroup)}}},on),[_vm._v(\" mdi-file-document \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.$t(\"TermsOfAgreement\"))+\" \")]),(!!items[0].specialRequirements)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"tiny-padding-bottom unselectable\",attrs:{\"color\":\"red\",\"size\":\"16\"}},on),[_vm._v(\" mdi-exclamation-thick \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(items[0].specialRequirements)+\" \")]):_vm._e(),_c('span',{on:{\"click\":function($event){return _vm.showTooltipDialog(items[0].messageToSuppliers)}}},[(!!items[0].messageToSuppliers)?_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"tiny-padding-bottom unselectable clickable\",attrs:{\"color\":\"warning\",\"size\":\"16\"}},on),[_vm._v(\" mdi-message-text \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(((_vm.$t(\"MessageToSuppliers\")) + \":\\n\\n\" + (_vm.shorten( items[0].messageToSuppliers ))))+\" \")]):_vm._e()],1)],1),_c('span',{staticClass:\"dont-render-newlines tiny-padding-left\"},[_c('ProcurementDateTooltip',{attrs:{\"item\":items[0],\"cargoType\":_vm.cargoType}})],1)]),_c('td',{staticClass:\"font-weight-bold\",class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":\"1\"}},[_vm._v(\" \"+_vm._s(_vm.currencyName(items[0].currency))+\" \")]),(_vm.isRoad || _vm.isMachineTransport)?_c('td',{class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":\"1\"}},[_vm._v(\" \"+_vm._s(items[0].distance)+\" \")]):_vm._e(),_c('td',{class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":\"1\"}},[_vm._v(\" \"+_vm._s(items[0].estimate)+\" \")]),_c('td',{class:{ 'blue-row no-hover': _vm.hasChanges(items[0]) },attrs:{\"colspan\":\"99\"}})]}},{key:\"item.clientName\",fn:function(){return [_c('span',{staticClass:\"unselectable blackish-text caption font-weight-medium\"},[_c('div',{staticClass:\"dont-render-newlines small-margin-bottom\",class:{\n 'single-price-input': !_vm.isRoad && !_vm.isMachineTransport\n }},[_vm._v(\" \"+_vm._s(_vm.basePriceName)+\" \")]),_c('div',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.isRoad ? _vm.$t(\"FreightPrice\") : _vm.isMachineTransport ? _vm.$t(\"TruckTypeFee\") : \"\")+\" \")])])]},proxy:true},{key:\"item.truckTypes\",fn:function(ref){\n var item = ref.item;\nreturn [_c('ProcurementTablePriceInputs',{attrs:{\"item\":item,\"cargoType\":_vm.cargoType,\"editable\":_vm.editable}})]}},{key:\"item.stopPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"price-input single-price-input\"},on),[(!_vm.editable)?_c('div',{staticClass:\"readonly-div readonly-div-single\"},[_vm._v(\" \"+_vm._s(item.stopPrice)+\" \")]):_c('NumberInput',{attrs:{\"rules\":[function (v) { return v === null || v > 0; }],\"compact\":\"\",\"allow-null\":\"\",\"only-integers\":\"\",\"tabindex\":\"1\"},model:{value:(item.stopPrice),callback:function ($$v) {_vm.$set(item, \"stopPrice\", $$v)},expression:\"item.stopPrice\"}})],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.$t(\"StopPriceDesc\"))+\" \")])]}},{key:\"item.serviceFee\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"price-input single-price-input\"},[(!_vm.editable)?_c('div',{staticClass:\"readonly-div readonly-div-single\"},[_vm._v(\" \"+_vm._s(item.serviceFee)+\" \")]):_c('NumberInput',{attrs:{\"rules\":[function (v) { return v === null || v > 0; }],\"compact\":\"\",\"allow-null\":\"\",\"only-integers\":\"\",\"tabindex\":\"1\"},model:{value:(item.serviceFee),callback:function ($$v) {_vm.$set(item, \"serviceFee\", $$v)},expression:\"item.serviceFee\"}})],1)]}},{key:\"item.currency\",fn:function(){return undefined},proxy:true},{key:\"item.distance\",fn:function(){return undefined},proxy:true},{key:\"item.estimate\",fn:function(){return undefined},proxy:true},{key:\"item.share\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"price-input single-price-input share-input\"},[(!_vm.editable)?_c('div',{staticClass:\"readonly-div readonly-div-single\"},[_vm._v(\" \"+_vm._s(item.share)+\"% \")]):_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0 && v <= 100; }],\"compact\":\"\",\"allow-null\":\"\",\"only-integers\":\"\",\"tabindex\":\"1\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('div',{staticClass:\"tiniest-padding-top tiniest-margin-top tiny-padding-right font-weight-bold body-2\"},[_vm._v(\" % \")])]},proxy:true}],null,true),model:{value:(item.share),callback:function ($$v) {_vm.$set(item, \"share\", $$v)},expression:\"item.share\"}})],1)]}},{key:\"item.note\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"tiniest-padding-top\"},[(!_vm.editable)?_c('div',{staticClass:\"readonly-div readonly-div-double\"},[_vm._v(\" \"+_vm._s(item.note)+\" \")]):_c('TextMulti',{attrs:{\"rows\":2,\"compact\":\"\",\"tabindex\":\"1\"},model:{value:(item.note),callback:function ($$v) {_vm.$set(item, \"note\", $$v)},expression:\"item.note\"}})],1)]}}],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('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"unselectable\"},on),[_vm._v(\" (\"+_vm._s(_vm.$t(\"Ends\"))+\" \"+_vm._s(_vm.dateAsText)+\" \"),_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\" mdi-calendar-month \")]),_vm._v(\") \")],1)]}}])},[_c('div',[_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top no-padding-bottom font-weight-medium\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AgreementPeriod\"))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top tiny-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.agreementDate)+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom font-weight-medium\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"ProcurementPeriods\"))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top tiny-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.procurementDates)+\" \")])],1),(_vm.isRoad)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom font-weight-medium\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"BaseIndex\"))+\" \")])],1):_vm._e(),(_vm.isRoad)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-top tiny-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.item.baseIndexName)+\" \")])],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\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n SupplierProcurementRowDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode, t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n cargoType: Number as () => CargoType,\r\n item: SupplierProcurementRowDto\r\n },\r\n computed: {\r\n dateAsText(): string {\r\n const now = CDate.now(TimeZone.Europe_Stockholm);\r\n let currentPeriod = this.item.procurementPeriods!.find(\r\n p => p.from! <= now && p.to! >= now\r\n );\r\n if (currentPeriod === undefined) {\r\n currentPeriod = this.item\r\n .procurementPeriods!.filter(p => p.to! <= now)\r\n .sort((a, b) => b.to!.toSeconds() - a.to!.toSeconds())[0];\r\n }\r\n\r\n const hoursLeft = Math.abs(\r\n (currentPeriod!.to!.endOfDay().toSeconds() - now.toSeconds()) / 3600\r\n );\r\n\r\n if (hoursLeft < 48) {\r\n return `${Math.floor(hoursLeft)} ${t(\"Hours\")}`;\r\n }\r\n\r\n return currentPeriod!.to!.shortDateTextPrint(localeCode());\r\n },\r\n agreementDate(): string {\r\n return `${this.item.agreementPeriod!.from!.datePrint()} - ${this.item.agreementPeriod!.to!.datePrint()}`;\r\n },\r\n procurementDates(): string {\r\n return this.item\r\n .procurementPeriods!.map(\r\n p => `${p.from!.datePrint()} - ${p.to!.datePrint()}`\r\n )\r\n .join(\"\\n\");\r\n },\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementDateTooltip.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementDateTooltip.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementDateTooltip.vue?vue&type=template&id=54613484&\"\nimport script from \"./ProcurementDateTooltip.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementDateTooltip.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VCol,VIcon,VRow,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"flex-container\"},_vm._l((_vm.priceRows),function(p,index){return _c('div',{key:index,staticStyle:{\"width\":\"100%\"}},[(p !== undefined)?_c('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":!_vm.basePriceTooltip(p) &&\n !_vm.currentRankingTooltip(p) &&\n !_vm.prevRankingTooltip(p)},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('div',_vm._g({staticClass:\"price-input-wrapper\"},on),[_c('div',{staticClass:\"dont-render-newlines\"},[(!_vm.editable)?_c('div',{staticClass:\"readonly-div readonly-div-single tiny-margin-bottom\"},[_vm._v(\" \"+_vm._s(p.basePrice)+\" \")]):_vm._e(),(_vm.editable)?_c('div',{staticClass:\"price-input\"},[_c('NumberInput',{attrs:{\"rules\":[function (v) { return v === null || v > 0; }],\"only-on-blur\":\"\",\"only-integers\":\"\",\"compact\":\"\",\"allow-null\":\"\",\"tabindex\":\"1\"},model:{value:(p.basePrice),callback:function ($$v) {_vm.$set(p, \"basePrice\", $$v)},expression:\"p.basePrice\"}})],1):_vm._e(),(_vm.editable)?_c('span',{staticClass:\"tiny-margin-left unselectable\"},[_vm._v(\" \"+_vm._s(p.rank)+\" \"+_vm._s(_vm.prevRank(p.truckType) ? \"(\" + _vm.prevRank(p.truckType) + \")\" : \"\")+\" \")]):_vm._e()]),(!_vm.editable && _vm.isRoad)?_c('div',{staticClass:\"readonly-div readonly-div-single\"},[_vm._v(\" \"+_vm._s(p.freightPrice)+\" \")]):(!_vm.editable && _vm.isMachineTransport)?_c('div',{staticClass:\"readonly-div readonly-div-single\"},[_vm._v(\" \"+_vm._s(p.initialFee)+\" \")]):(_vm.editable && _vm.isRoad)?_c('div',{staticClass:\"price-input\"},[_c('NumberInput',{attrs:{\"value\":p.freightPrice,\"disabled\":\"\",\"compact\":\"\",\"allow-null\":\"\"}})],1):(_vm.editable && _vm.isMachineTransport)?_c('div',{staticClass:\"price-input\"},[_c('NumberInput',{attrs:{\"rules\":[function (v) { return p.basePrice === null || v > 0; }],\"only-on-blur\":\"\",\"only-integers\":\"\",\"compact\":\"\",\"allow-null\":\"\",\"tabindex\":\"1\"},model:{value:(p.initialFee),callback:function ($$v) {_vm.$set(p, \"initialFee\", $$v)},expression:\"p.initialFee\"}})],1):_c('div',{staticClass:\"single-price-input\"})])]}}],null,true)},[_c('span',[_c('div',[_vm._v(_vm._s(_vm.basePriceTooltip(p)))]),(_vm.isRoad)?_c('div',[_vm._v(_vm._s(_vm.freightPriceTooltip(p)))]):_vm._e(),_c('div',[_vm._v(_vm._s(_vm.currentRankingTooltip(p)))]),_c('div',[_vm._v(_vm._s(_vm.prevRankingTooltip(p)))])])]):_vm._e()],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n RepositoryDto,\r\n SupplierProcurementPriceRowDto,\r\n SupplierProcurementRowDto,\r\n TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { percentage } from \"@/scripts/misc/money\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n NumberInput\r\n },\r\n props: {\r\n item: SupplierProcurementRowDto,\r\n cargoType: Number as () => CargoType,\r\n editable: Boolean\r\n },\r\n watch: {\r\n item: {\r\n handler() {\r\n this.item.priceRows!.map(p => this.updateFreightPrice(p));\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n priceRows(): (SupplierProcurementPriceRowDto | undefined)[] {\r\n return this.truckTypes.map(tt => this.priceRow(tt.id));\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(this.cargoType);\r\n },\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n isMachineTransport(): boolean {\r\n return this.cargoType === CargoType.MachineTransport;\r\n }\r\n },\r\n methods: {\r\n prevRank(tt: TruckType): string {\r\n const prevRow = this.item.prevPriceRows!.find(p => p.truckType === tt);\r\n if (!prevRow || !prevRow.rank) {\r\n return \"\";\r\n }\r\n return prevRow.rank.toString();\r\n },\r\n priceRow(tt: TruckType): SupplierProcurementPriceRowDto | undefined {\r\n return this.item.priceRows!.find(p => p.truckType === tt);\r\n },\r\n prevPriceRow(tt: TruckType): SupplierProcurementPriceRowDto | undefined {\r\n return this.item.prevPriceRows!.find(x => x.truckType === tt);\r\n },\r\n updateFreightPrice(priceRow: SupplierProcurementPriceRowDto) {\r\n if (!priceRow.basePrice) {\r\n priceRow.freightPrice = undefined;\r\n } else {\r\n priceRow.freightPrice = Math.round(\r\n priceRow.basePrice * this.item.indexFactor\r\n );\r\n }\r\n },\r\n basePriceTooltip(priceRow: SupplierProcurementPriceRowDto): string {\r\n if (!priceRow.basePrice) {\r\n return \"\";\r\n }\r\n return `${\r\n this.isMachineTransport ? t(\"PricePerKm\") : t(\"OfferedPrice\")\r\n }: ${priceRow.basePrice}`;\r\n },\r\n freightPriceTooltip(priceRow: SupplierProcurementPriceRowDto): string {\r\n if (!priceRow.freightPrice) {\r\n return \"\";\r\n }\r\n return `${t(\"FreightPrice\")}: ${priceRow.freightPrice} (${percentage(\r\n this.item.indexFactor - 1,\r\n 2\r\n )})`;\r\n },\r\n currentRankingTooltip(priceRow: SupplierProcurementPriceRowDto): string {\r\n if (!priceRow.rank) {\r\n return \"\";\r\n }\r\n return `${t(\"RankingCurrentProcurement\")}: ${priceRow.rank}`;\r\n },\r\n prevRankingTooltip(priceRow: SupplierProcurementPriceRowDto): string {\r\n const prevRank = this.prevRank(priceRow.truckType);\r\n if (!prevRank) {\r\n return \"\";\r\n }\r\n return `${t(\"PreviousAgreementRanking\")}: ${prevRank}`;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTablePriceInputs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTablePriceInputs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementTablePriceInputs.vue?vue&type=template&id=4b443182&scoped=true&\"\nimport script from \"./ProcurementTablePriceInputs.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementTablePriceInputs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementTablePriceInputs.vue?vue&type=style&index=0&id=4b443182&scoped=true&lang=css&\"\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 \"4b443182\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n SupplierProcurementContainerDto,\r\n SupplierProcurementSearchCriteria,\r\n UserConfigurationType,\r\n CargoType,\r\n RepositoryDto,\r\n SupplierProcurementRowDto,\r\n TruckType,\r\n SupplierProcurementOrderBy,\r\n DocumentGroupDto\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n SupplierProcurementConfig,\r\n TableHeader,\r\n TableOptions\r\n} from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport { bestLang, t } from \"@/scripts/language/i18n\";\r\nimport { ProcurementRowAction } from \"@/views/supplier/Procurements.vue\";\r\nimport ProcurementDateTooltip from \"@/components/web/agreements/supplier/ProcurementDateTooltip.vue\";\r\nimport ProcurementTablePriceInputs from \"@/components/web/agreements/supplier/ProcurementTablePriceInputs.vue\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { viewDocument } from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\ninterface ProcurementMenuOption {\r\n id: ProcurementRowAction;\r\n text: string;\r\n icon: string;\r\n enabled: boolean;\r\n tooltip: string;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n EllipsisTableItem,\r\n NumberInput,\r\n TextMulti,\r\n ProcurementDateTooltip,\r\n ProcurementTablePriceInputs\r\n },\r\n props: {\r\n cargoType: Number as () => CargoType,\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n procurementContainer: SupplierProcurementContainerDto,\r\n hasChanges: Function,\r\n editable: Boolean,\r\n interactable: Boolean\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(\r\n 400,\r\n this.$store.getters[gets.dimensions].height -\r\n (this.interactable ? 365 : 282)\r\n );\r\n },\r\n searchCriteria(): SupplierProcurementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurement,\r\n this.cargoType\r\n );\r\n },\r\n conf(): SupplierProcurementConfig {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurementConfig,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n basePriceName(): string {\r\n switch (this.cargoType) {\r\n case CargoType.Road:\r\n return t(\"OfferedPrice\");\r\n case CargoType.Railroad:\r\n return t(\"OfferedPrice\");\r\n case CargoType.Container:\r\n return t(\"PricePerContainer\");\r\n case CargoType.MachineTransport:\r\n return t(\"PricePerKm\");\r\n default:\r\n return neverHappens(this.cargoType);\r\n }\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypesByCargoType(this.cargoType);\r\n },\r\n routeNameColspan(): number {\r\n switch (this.cargoType) {\r\n case CargoType.Road:\r\n return 2;\r\n case CargoType.Railroad:\r\n return 1;\r\n case CargoType.Container:\r\n return 2;\r\n case CargoType.MachineTransport:\r\n return 2;\r\n default:\r\n return neverHappens(this.cargoType);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"actions\",\r\n text: \"\",\r\n width: 1\r\n },\r\n {\r\n value: \"clientName\",\r\n text: \"Client\",\r\n width: 1,\r\n sortValue: !this.interactable\r\n ? undefined\r\n : SupplierProcurementOrderBy.Client\r\n },\r\n {\r\n value: \"truckTypes\",\r\n text: \"\",\r\n customHeader: true,\r\n width: 500\r\n }\r\n ];\r\n if (this.isRoad || this.isMachineTransport) {\r\n headers.push({\r\n value: \"stopPrice\",\r\n text: \"StopPrice\",\r\n tooltip: \"StopPriceDesc\",\r\n width: 1\r\n });\r\n }\r\n if (this.isContainer) {\r\n headers.push({\r\n value: \"serviceFee\",\r\n text: \"ServiceFee\",\r\n width: 1\r\n });\r\n }\r\n headers.push({\r\n value: \"currency\",\r\n text: \"Currency\",\r\n width: 1,\r\n sortValue: !this.interactable\r\n ? undefined\r\n : SupplierProcurementOrderBy.CurrencyType\r\n });\r\n if (this.isRoad || this.isMachineTransport) {\r\n headers.push({\r\n value: \"distance\",\r\n text: \"km\",\r\n untranslated: true,\r\n width: 1,\r\n sortValue: !this.interactable\r\n ? undefined\r\n : SupplierProcurementOrderBy.Distance\r\n });\r\n }\r\n headers.push(\r\n ...[\r\n {\r\n value: \"estimate\",\r\n text: \"Estimation\",\r\n tooltip: \"EstimatedLoadDuringAgreementPeriod\",\r\n width: 1\r\n },\r\n {\r\n value: \"share\",\r\n text: \"Share\",\r\n tooltip: \"EstimatedShareOfLoads\",\r\n width: 1\r\n },\r\n { value: \"note\", text: \"Note\", width: 180 }\r\n ]\r\n );\r\n return headers;\r\n },\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n isContainer(): boolean {\r\n return this.cargoType === CargoType.Container;\r\n },\r\n isMachineTransport(): boolean {\r\n return this.cargoType === CargoType.MachineTransport;\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n shorten(s: string): string {\r\n const max = 800;\r\n const newline22 = s.split(\"\\n\", 22).join(\"\\n\").length;\r\n const limitingIndex = Math.min(max, newline22);\r\n if (s.length > limitingIndex) {\r\n return (\r\n s.substring(0, limitingIndex) + \"...\\n\\n\" + t(\"ClickToReadTheRest\")\r\n );\r\n }\r\n return s;\r\n },\r\n showTooltipDialog(tooltip: string) {\r\n popupDialog({\r\n title: t(\"MessageToSuppliers\"),\r\n body: tooltip,\r\n btnText1: \"OK\",\r\n btnColor1: \"success\",\r\n width: 800,\r\n btnCallback1: () => {}\r\n });\r\n },\r\n viewDocument(docGroup: DocumentGroupDto) {\r\n const locales = docGroup.documents!.map(d => d.culture);\r\n const best = bestLang(locales).locale;\r\n const document = docGroup.documents!.find(d => d.culture === best)!;\r\n viewDocument(document.diskName, document.fileFormat);\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n menuOptions(item: SupplierProcurementRowDto): ProcurementMenuOption[] {\r\n const options: ProcurementMenuOption[] = [];\r\n\r\n const importPrevEnabled = item.prevPriceRows!.some(p =>\r\n item.priceRows!.some(x => p.basePrice && x.truckType === p.truckType)\r\n );\r\n options.push({\r\n id: ProcurementRowAction.ImportPrev,\r\n text: t(\"ImportFromLatestAgreement\"),\r\n icon: \"mdi-history\",\r\n enabled: importPrevEnabled,\r\n tooltip: importPrevEnabled\r\n ? t(\"ImportPrevAgreementTooltip\")\r\n : t(\"NoPricesFound\")\r\n });\r\n\r\n if (this.isRoad) {\r\n const percentageTooltip = !item.priceRows!.some(\r\n p => p.truckType === TruckType.TruckAndWagon && !!p.basePrice\r\n )\r\n ? t(\"YouMustFirstEnterAPriceFor\").replace(\r\n \"{0}\",\r\n t(\"TruckTypeTruckAndWagon\").toLowerCase()\r\n )\r\n : !this.conf.truckPercentage && !this.conf.wagonPercentage\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\";\r\n options.push({\r\n id: ProcurementRowAction.CalculatePercentage,\r\n text: t(\"CalculateBasedOnTW\"),\r\n icon: \"mdi-percent\",\r\n enabled: !percentageTooltip,\r\n tooltip: percentageTooltip\r\n });\r\n\r\n const distanceTooltip = !item.distance\r\n ? t(\"NoDistance\")\r\n : !this.conf.kmPrices.some(\r\n c => c.currency === item.currency && c.value\r\n )\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\";\r\n options.push({\r\n id: ProcurementRowAction.CalculateDistance,\r\n text: t(\"CalculateBasedOnDist\"),\r\n icon: \"mdi-calculator-variant\",\r\n enabled: !distanceTooltip,\r\n tooltip: distanceTooltip\r\n });\r\n\r\n const distPercentageTooltip = !item.distance\r\n ? t(\"NoDistance\")\r\n : !this.conf.kmPrices.some(\r\n c => c.currency === item.currency && c.value\r\n ) ||\r\n (!this.conf.truckPercentage && !this.conf.wagonPercentage)\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\";\r\n options.push({\r\n id: ProcurementRowAction.CalculateDistanceAndPercentage,\r\n text: t(\"CalculateBasedOnDistTW\"),\r\n icon: \"mdi-percent\",\r\n enabled: !distPercentageTooltip,\r\n tooltip: distPercentageTooltip\r\n });\r\n }\r\n if (this.isRoad || this.isMachineTransport) {\r\n const stopPriceTooltip = !this.conf.stopPrices.some(\r\n c => c.currency === item.currency && c.value\r\n )\r\n ? t(\"ToUseThisFeature\")\r\n .replace(\"{0}\", t(\"Tools\"))\r\n .replace(\"{1}\", t(\"PriceSettings\"))\r\n : \"\";\r\n options.push({\r\n id: ProcurementRowAction.StopPrice,\r\n text: t(\"GetStopPrice\"),\r\n icon: \"mdi-routes-clock\",\r\n enabled: !stopPriceTooltip,\r\n tooltip: stopPriceTooltip\r\n });\r\n }\r\n return options;\r\n },\r\n optionClick(id: ProcurementRowAction, item: SupplierProcurementRowDto) {\r\n switch (id) {\r\n case ProcurementRowAction.Export:\r\n case ProcurementRowAction.ImportExcel:\r\n case ProcurementRowAction.Settings:\r\n //Dessa finns ej på radbasis\r\n break;\r\n case ProcurementRowAction.ImportPrev:\r\n this.$emit(\"importPrev\", [item]);\r\n break;\r\n case ProcurementRowAction.StopPrice:\r\n this.$emit(\"setStopPrice\", [item]);\r\n break;\r\n case ProcurementRowAction.CalculateDistance:\r\n this.$emit(\"calculateDistance\", [item]);\r\n break;\r\n case ProcurementRowAction.CalculatePercentage:\r\n this.$emit(\"calculatePercentage\", [item]);\r\n break;\r\n case ProcurementRowAction.CalculateDistanceAndPercentage:\r\n this.$emit(\"calculateDistanceAndPercentage\", [item]);\r\n break;\r\n default:\r\n neverHappens(id);\r\n }\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementTable.vue?vue&type=template&id=7e65bd3c&scoped=true&\"\nimport script from \"./ProcurementTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementTable.vue?vue&type=style&index=0&id=7e65bd3c&scoped=true&lang=css&\"\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 \"7e65bd3c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VList,VListItem,VListItemIcon,VListItemTitle,VMenu,VSheet,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[(!_vm.loading && !_vm.saveInProgress && (!_vm.interactable || _vm.unsavedChanges))?_c('v-col',{staticClass:\"large-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticClass:\"small-margin-right\",attrs:{\"color\":\"warning\"},on:{\"click\":function($event){return _vm.$emit('undo')}}},[(_vm.unsavedChanges)?_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-close\")]):_vm._e(),(_vm.unsavedChanges)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"DiscardChanges\"))+\" \"+_vm._s(_vm.changedRows.length ? (\"(\" + (_vm.changedRows.length) + \")\") : \"\")+\" \")]):_vm._e(),(!_vm.unsavedChanges)?_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-undo\")]):_vm._e(),(!_vm.unsavedChanges)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"NoChangesDetected\"))+\"! \")]):_vm._e()],1)],1):_vm._e(),_c('v-spacer'),(!_vm.validPrices)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('span',{staticClass:\"red-text font-weight-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"ProcurementListInvalidPrices\"))+\" \")])]):_vm._e(),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"success\",\"disabled\":_vm.loading || !_vm.validPrices || !_vm.unsavedChanges,\"loading\":_vm.saveInProgress},on:{\"click\":function($event){_vm.dialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \"+_vm._s(_vm.changedRows.length ? (\"(\" + (_vm.changedRows.length) + \")\") : \"\")+\" \")],1)],1)],1),_c('ProcurementDocumentDialog',{attrs:{\"dialog\":_vm.dialog,\"agreementDocuments\":_vm.agreementDocuments,\"unviewedDocuments\":_vm.unviewedDocuments,\"changedRows\":_vm.changedRows},on:{\"accept\":function($event){return _vm.$emit('save')},\"close\":function($event){_vm.dialog = false}}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('TermsOfAgreement'),\"width\":850,\"grey\":\"\"},on:{\"close\":function($event){return _vm.close(false)}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"medium-vertical-padding\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"SavingYourPrice\"))+\" \")]),_c('v-expansion-panels',{model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},_vm._l((_vm.agreementDocuments),function(g,i){return _c('v-expansion-panel',{key:g.id},[_c('v-expansion-panel-header',{attrs:{\"hide-actions\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{class:{ flipped: _vm.panel === i }},[_vm._v(\"mdi-chevron-down\")])],1),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(g.actorName)+\" \")]),(_vm.unread(g.id))?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" (\"),_c('span',{staticClass:\"orange-text font-weight-bold unselectable\",on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(_vm._s(_vm.$t(\"NotRead\")))]),_vm._v(\") --> \")]):_vm._e(),_c('v-spacer'),_vm._l((g.documents || []),function(d){return _c('v-col',{key:d.culture,staticClass:\"small-padding\",attrs:{\"cols\":\"auto\"}},[_c('DocumentButton',{attrs:{\"document\":d},on:{\"click\":function($event){return _vm.markDocumentAsRead(g.id)}}})],1)}),_c('v-col',{attrs:{\"cols\":\"auto\"}})],2)],1),_c('v-expansion-panel-content',[_c('v-simple-table',{attrs:{\"height\":\"233\"}},[_c('tbody',_vm._l((_vm.routeNames(g.id)),function(routeName){return _c('tr',{key:routeName},[_c('td',{staticClass:\"unselectable\"},[_vm._v(\" \"+_vm._s(routeName)+\" \")])])}),0)])],1)],1)}),1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.unviewedDocuments.length > 0,\"color\":\"warning\"},on:{\"click\":function($event){return _vm.close(false)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.unviewedDocuments.length > 0,\"color\":\"success\"},on:{\"click\":function($event){return _vm.close(true)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"IAcceptTermsOfAgreement\"))+\" \")])],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport DocumentButton from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport {\r\n DocumentGroupDto,\r\n SupplierProcurementRowDto,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport { ReadDocuments } from \"@/scripts/types\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n DocumentButton\r\n },\r\n watch: {\r\n dialog() {\r\n this.panel = 0;\r\n }\r\n },\r\n props: {\r\n dialog: Boolean,\r\n agreementDocuments: Array as () => DocumentGroupDto[],\r\n unviewedDocuments: Array as () => DocumentGroupDto[],\r\n changedRows: Array as () => SupplierProcurementRowDto[]\r\n },\r\n computed: {\r\n readAgreementDocuments(): ReadDocuments {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ReadDocuments,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n markDocumentAsRead(id: number) {\r\n if (this.readAgreementDocuments.agreements.includes(id)) {\r\n return;\r\n }\r\n this.readAgreementDocuments.agreements.push(id);\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.ReadDocuments,\r\n subTypeId: 1\r\n });\r\n },\r\n routeNames(id: number) {\r\n return this.changedRows\r\n .filter(r => r.documentGroupId === id)\r\n .map(r => r.pickupLocation + \" \" + r.deliveryLocation);\r\n },\r\n unread(id: number): boolean {\r\n return this.unviewedDocuments.some(d => d.id === id);\r\n },\r\n close(accept: boolean) {\r\n if (accept) {\r\n this.$emit(\"accept\");\r\n }\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): { panel: number } => ({\r\n panel: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementDocumentDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementDocumentDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementDocumentDialog.vue?vue&type=template&id=3bc93450&scoped=true&\"\nimport script from \"./ProcurementDocumentDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementDocumentDialog.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ProcurementDocumentDialog.vue?vue&type=style&index=0&id=3bc93450&scoped=true&lang=css&\"\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 \"3bc93450\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VIcon,VRow,VSimpleTable,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport ProcurementDocumentDialog from \"@/components/web/agreements/supplier/ProcurementDocumentDialog.vue\";\r\nimport {\r\n ApiConfiguration,\r\n DocType,\r\n DocumentGroupDto,\r\n DocumentsClient,\r\n SupplierProcurementRowDto,\r\n UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport { ReadDocuments } from \"@/scripts/types\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ProcurementDocumentDialog\r\n },\r\n props: {\r\n loading: Boolean,\r\n unsavedChanges: Boolean,\r\n saveInProgress: Boolean,\r\n interactable: Boolean,\r\n changedRows: Array as () => SupplierProcurementRowDto[],\r\n validPrices: Boolean\r\n },\r\n computed: {\r\n readAgreementDocuments(): ReadDocuments {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.ReadDocuments,\r\n 1\r\n );\r\n },\r\n agreementDocuments(): DocumentGroupDto[] {\r\n return this.documentGroups.filter(g =>\r\n this.changedRows.map(r => r.documentGroupId).includes(g.id)\r\n );\r\n },\r\n unviewedDocuments(): DocumentGroupDto[] {\r\n return this.agreementDocuments.filter(\r\n g => !this.readAgreementDocuments.agreements.includes(g.id)\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchDocuments() {\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .clients(DocType.TermsOfAgreement)\r\n .then(res => {\r\n this.documentGroups = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchDocuments();\r\n },\r\n data: (): {\r\n dialog: boolean;\r\n documentGroups: DocumentGroupDto[];\r\n } => ({\r\n dialog: false,\r\n documentGroups: []\r\n })\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n SupplierProcurementOrderBy,\r\n ApiConfiguration,\r\n SupplierProcurementContainerDto,\r\n SupplierProcurementSearchCriteria,\r\n SupplierProcurementSearchCriteriaContainer,\r\n UserConfigurationType,\r\n ActorType,\r\n ProcurementsSupplierClient,\r\n SupplierProcurementRowDto,\r\n TruckType,\r\n CargoType,\r\n SupplierProcurementPriceDto,\r\n SupplierGivenPriceDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport { SupplierProcurementConfig, TableOptions } from \"@/scripts/types\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport ProcurementSearch from \"@/components/web/agreements/supplier/ProcurementSearch.vue\";\r\nimport ProcurementTable from \"@/components/web/agreements/supplier/ProcurementTable.vue\";\r\nimport ProcurementActions from \"@/components/web/agreements/supplier/ProcurementActions.vue\";\r\nimport {\r\n discardChangesDialog,\r\n errorDialog,\r\n popupDialog,\r\n saveBeforeContinueDialog\r\n} from \"@/scripts/misc/popupDialogs\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport enum ProcurementRowAction {\r\n Export,\r\n ImportExcel,\r\n ImportPrev,\r\n StopPrice,\r\n CalculateDistance,\r\n CalculatePercentage,\r\n CalculateDistanceAndPercentage,\r\n Settings\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n ProcurementSearch,\r\n ProcurementTable,\r\n ProcurementActions\r\n },\r\n watch: {\r\n cargoType(newVal, oldVal) {\r\n if (oldVal !== undefined) {\r\n this.setInteractable(true);\r\n this.search(true, false, false);\r\n }\r\n },\r\n unsavedChanges: {\r\n handler() {\r\n this.$store.commit(mutations.setPreventLeaving, this.unsavedChanges);\r\n },\r\n immediate: true\r\n },\r\n tryingToLeave() {\r\n if (this.tryingToLeave) {\r\n const tryingToLeaveFunction = this.tryingToLeave;\r\n this.$store.commit(mutations.setTryingToLeave, undefined);\r\n discardChangesDialog(() => {\r\n this.$store.commit(mutations.setPreventLeaving, false);\r\n tryingToLeaveFunction();\r\n });\r\n }\r\n }\r\n },\r\n computed: {\r\n cargoType(): CargoType {\r\n return Number(this.$route.query.cargoType);\r\n },\r\n searchCriteria(): SupplierProcurementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurement,\r\n this.cargoType\r\n );\r\n },\r\n sorting(): { orderBy: SupplierProcurementOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as SupplierProcurementOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n procurementConfig(): SupplierProcurementConfig {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierProcurementConfig,\r\n 1\r\n );\r\n },\r\n unsavedChanges(): boolean {\r\n return this.changedRows.length > 0;\r\n },\r\n tryingToLeave(): Function | undefined {\r\n return this.$store.getters[gets.tryingToLeave];\r\n },\r\n changedRows(): SupplierProcurementRowDto[] {\r\n return this.procurementContainer.rows!.filter(r => this.hasChanges(r));\r\n },\r\n editable(): boolean {\r\n return !this.searchCriteria.closedProcurements && this.interactable;\r\n }\r\n },\r\n methods: {\r\n hasChanges(row: SupplierProcurementRowDto): boolean {\r\n return row.priceRows!.some(\r\n p =>\r\n p.basePrice !== p.originalBasePrice ||\r\n p.initialFee !== p.originalInitialFee ||\r\n row.share !== row.originalShare ||\r\n row.stopPrice !== row.originalStopPrice ||\r\n row.serviceFee !== row.originalServiceFee ||\r\n row.note !== row.originalNote\r\n );\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n if (!this.interactable) {\r\n return;\r\n }\r\n this.search(false, false, false);\r\n },\r\n search(\r\n goToFirstPage: boolean,\r\n saveUserConf: boolean,\r\n ignoreUnsavedChanges: boolean\r\n ): Promise {\r\n let promise = new Promise(resolve => resolve());\r\n this.loading = true;\r\n if (goToFirstPage) {\r\n scrollTableToTop(this);\r\n this.tableOptions.page = 1;\r\n }\r\n if (this.unsavedChanges && !ignoreUnsavedChanges) {\r\n saveBeforeContinueDialog(\r\n () => {\r\n this.save();\r\n },\r\n () => {\r\n this.search(goToFirstPage, saveUserConf, true);\r\n }\r\n );\r\n return promise;\r\n }\r\n promise = new ProcurementsSupplierClient(\r\n new ApiConfiguration(this.$store)\r\n )\r\n .bySearchCriteria(\r\n new SupplierProcurementSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n this.procurementContainer = res;\r\n this.loading = false;\r\n this.saveInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n if (saveUserConf) {\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.SupplierProcurement,\r\n subTypeId: this.cargoType\r\n });\r\n }\r\n return promise;\r\n },\r\n undo() {\r\n const callback = () => {\r\n this.setInteractable(true);\r\n this.search(false, false, true);\r\n };\r\n if (!this.unsavedChanges) {\r\n callback();\r\n return;\r\n }\r\n popupDialog({\r\n title: t(\"DiscardChanges\"),\r\n body: t(\"XUnsavedChanges\").replace(\r\n \"{0}\",\r\n this.changedRows.length.toString()\r\n ),\r\n btnText1: t(\"Survey_Yes\"),\r\n btnColor1: \"warning\",\r\n btnCallback1: callback,\r\n btnText2: t(\"Survey_No\"),\r\n btnColor2: \"grey lighten-3\",\r\n btnCallback2: () => {}\r\n });\r\n },\r\n save() {\r\n const data = this.changedRows.map(\r\n r =>\r\n new SupplierProcurementPriceDto({\r\n agreementId: r.agreementId,\r\n stopPrice: r.stopPrice,\r\n serviceFee: r.serviceFee,\r\n note: r.note,\r\n estimatedShareOfLoads: r.share,\r\n prices: r.priceRows!.map(\r\n p =>\r\n new SupplierGivenPriceDto({\r\n truckType: p.truckType,\r\n price: p.basePrice,\r\n initialFee: p.initialFee\r\n })\r\n )\r\n })\r\n );\r\n this.saveInProgress = true;\r\n new ProcurementsSupplierClient(new ApiConfiguration(this.$store))\r\n .savePrices(data)\r\n .then(() => {\r\n this.setInteractable(true);\r\n this.search(false, false, true);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.SupplierProcurement,\r\n subTypeId: this.cargoType,\r\n actorType: ActorType.Supplier\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [SupplierProcurementOrderBy.Client];\r\n this.tableOptions.sortDesc = [false];\r\n this.search(true, true, false);\r\n });\r\n },\r\n exportToExcel() {\r\n this.optionsLoading = true;\r\n new ProcurementsSupplierClient(new ApiConfiguration(this.$store))\r\n .exportToExcel(\r\n new SupplierProcurementSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.optionsLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n setInteractable(val: boolean) {\r\n this.interactable = val;\r\n this.tableOptions.itemsPerPage = val ? 20 : 10000;\r\n if (val) {\r\n this.procurementContainer.rows = [];\r\n }\r\n },\r\n importFromExcel(res: SupplierProcurementContainerDto) {\r\n this.procurementContainer = res;\r\n this.setInteractable(false);\r\n this.loading = false;\r\n },\r\n importPrevAll() {\r\n this.setInteractable(false);\r\n this.search(true, false, false).then(() => {\r\n this.importPrev(this.procurementContainer.rows!);\r\n });\r\n },\r\n importPrev(items: SupplierProcurementRowDto[]) {\r\n for (const item of items) {\r\n if (item.prevNote) {\r\n item.note = item.prevNote;\r\n }\r\n if (item.prevStopPrice) {\r\n item.stopPrice = item.prevStopPrice;\r\n }\r\n if (item.prevShare) {\r\n item.share = item.prevShare;\r\n }\r\n item.priceRows!.map(p => {\r\n const prevRow = item.prevPriceRows!.find(\r\n r => r.truckType === p.truckType\r\n );\r\n if (prevRow && prevRow.basePrice) {\r\n p.basePrice = prevRow.basePrice;\r\n p.initialFee = prevRow.initialFee;\r\n }\r\n });\r\n }\r\n },\r\n setStopPriceAll() {\r\n this.setInteractable(false);\r\n this.search(true, false, false).then(() => {\r\n this.setStopPrice(this.procurementContainer.rows!);\r\n });\r\n },\r\n setStopPrice(items: SupplierProcurementRowDto[]) {\r\n for (const item of items) {\r\n const stopPrice = this.procurementConfig.stopPrices.find(\r\n c => c.currency === item.currency\r\n )!.value;\r\n if (!stopPrice) {\r\n return;\r\n }\r\n item.stopPrice = stopPrice;\r\n }\r\n },\r\n calculateDistanceAll() {\r\n this.setInteractable(false);\r\n this.search(true, false, false).then(() => {\r\n this.calculateDistance(this.procurementContainer.rows!);\r\n });\r\n },\r\n calculateDistance(items: SupplierProcurementRowDto[]) {\r\n for (const item of items) {\r\n item.priceRows!.map(p => {\r\n const conf = this.procurementConfig.kmPrices.find(\r\n c => c.truckType === p.truckType && c.currency === item.currency\r\n );\r\n if (conf && conf.value && item.distance) {\r\n p.basePrice = Math.round(item.distance! * conf.value);\r\n }\r\n });\r\n }\r\n },\r\n calculatePercentageAll() {\r\n this.setInteractable(false);\r\n this.search(true, false, false).then(() => {\r\n this.calculatePercentage(this.procurementContainer.rows!);\r\n });\r\n },\r\n calculatePercentage(items: SupplierProcurementRowDto[]) {\r\n for (const item of items) {\r\n const r = item.priceRows!;\r\n const basePrice = r!.find(p => p.truckType === TruckType.TruckAndWagon)!\r\n .basePrice;\r\n const truck = r.find(p => p.truckType === TruckType.Truck);\r\n const truckConf = this.procurementConfig.truckPercentage;\r\n if (basePrice && truck !== undefined && truckConf) {\r\n truck.basePrice = Math.round((basePrice * truckConf) / 100);\r\n }\r\n const wagon = r.find(p => p.truckType === TruckType.Wagon);\r\n const wagonConf = this.procurementConfig.wagonPercentage;\r\n if (basePrice && wagon !== undefined && wagonConf) {\r\n wagon.basePrice = Math.round((basePrice * wagonConf) / 100);\r\n }\r\n }\r\n },\r\n calculateDistanceAndPercentage(items: SupplierProcurementRowDto[]) {\r\n this.calculateDistance(items);\r\n this.calculatePercentage(items);\r\n },\r\n calculateDistanceAndPercentageAll() {\r\n this.setInteractable(false);\r\n this.search(true, false, false).then(() => {\r\n this.calculateDistance(this.procurementContainer.rows!);\r\n this.calculatePercentage(this.procurementContainer.rows!);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n saveInProgress: boolean;\r\n optionsLoading: boolean;\r\n interactable: boolean;\r\n validPrices: boolean;\r\n procurementContainer: SupplierProcurementContainerDto;\r\n tableOptions: TableOptions;\r\n } => ({\r\n loading: true,\r\n saveInProgress: false,\r\n optionsLoading: false,\r\n interactable: true,\r\n validPrices: false,\r\n procurementContainer: new SupplierProcurementContainerDto({\r\n count: 0,\r\n rows: [],\r\n importInfo: undefined\r\n }),\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 20,\r\n sortBy: [SupplierProcurementOrderBy.Client],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ProcurementActions.vue?vue&type=template&id=69f200ef&\"\nimport script from \"./ProcurementActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./ProcurementActions.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSheet,VSpacer})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Procurements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Procurements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Procurements.vue?vue&type=template&id=70986441&\"\nimport script from \"./Procurements.vue?vue&type=script&lang=ts&\"\nexport * from \"./Procurements.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VForm,VIcon,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!!_vm.cargoType)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementSearch',{attrs:{\"cargoType\":_vm.cargoType,\"exportDisabled\":_vm.exportDisabled,\"exportLoading\":_vm.exportLoading},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":function($event){return _vm.search(true, true)}}})],1),_c('v-col',{staticClass:\"no-padding medium-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AgreementTable',{attrs:{\"loading\":!!_vm.loading,\"cargoType\":_vm.cargoType,\"tableOptions\":_vm.tableOptions,\"agreementContainer\":_vm.agreementContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":function($event){return _vm.search(true, true)}}})],1)],1)],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('SearchCard',{attrs:{\"title\":_vm.title,\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Client'),\"items\":_vm.clients,\"tabindex\":\"1\"},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.clientId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"clientId\", $$v)},expression:\"searchCriteria.clientId\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('AgreementsValidDuring'),\"tabindex\":\"1\",\"infoTooltip\":_vm.dateTooltip,\"zone\":_vm.actorZone},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.date),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"date\", $$v)},expression:\"searchCriteria.date\"}})],1),(_vm.isRoad)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('SwitchDouble',{attrs:{\"labelFalse\":_vm.$t('AgreedPrice'),\"labelTrue\":_vm.$t('UnitBasePrice')},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.unitBasePrice),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unitBasePrice\", $$v)},expression:\"searchCriteria.unitBasePrice\"}})],1):_vm._e(),(_vm.searchCriteria.unitBasePrice)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('AgreementListUnitPriceDate'),\"items\":_vm.baseIndexDates,\"tabindex\":\"1\"},on:{\"input\":_vm.search},scopedSlots:_vm._u([{key:\"append-inner\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('AgreementListUnitPriceDateTooltip'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\"}})]},proxy:true}],null,false,408913359),model:{value:(_vm.unitBasePriceDate),callback:function ($$v) {_vm.unitBasePriceDate=$$v},expression:\"unitBasePriceDate\"}})],1):_vm._e()],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n CargoType,\r\n RepositoryClient,\r\n UserConfigurationType,\r\n SupplierAgreementSearchCriteria,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { cargoTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport SwitchDouble from \"@/components/shared/input/SwitchDouble.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Autocomplete,\r\n Dropdown,\r\n SwitchDouble,\r\n InfoTooltip\r\n },\r\n props: {\r\n cargoType: Number as () => CargoType,\r\n exportDisabled: Boolean,\r\n exportLoading: Boolean\r\n },\r\n computed: {\r\n title(): string {\r\n return `${t(\"AgreementList\")} - ${cargoTypeName(this.cargoType)}`;\r\n },\r\n searchCriteria(): SupplierAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierAgreement,\r\n this.cargoType\r\n );\r\n },\r\n dateTooltip(): string {\r\n let text = t(\"AgreementDateSearchExplanation1\");\r\n if (this.isRoad) {\r\n text += \" \" + t(\"AgreementDateSearchExplanation3\");\r\n }\r\n return text;\r\n },\r\n isRoad(): boolean {\r\n return this.cargoType === CargoType.Road;\r\n },\r\n unitBasePriceDate: {\r\n get(): string {\r\n return this.searchCriteria.unitBasePriceDate.datePrint();\r\n },\r\n set(s: string) {\r\n this.searchCriteria.unitBasePriceDate = CDate.fromString(\r\n s,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n fetchIndexPeriods() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .baseIndexPeriods()\r\n .then(res => {\r\n this.baseIndexDates = res\r\n .map(\r\n i =>\r\n new RepositoryDto({\r\n id: i.indexDate.datePrint() as any,\r\n text: i.displayName\r\n })\r\n )\r\n .sort((a, b) => -stringCompare(a.id, b.id));\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchClients() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .clientsWithAgreements()\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchIndexPeriods();\r\n this.fetchClients();\r\n },\r\n data: (): {\r\n clients: RepositoryDto[];\r\n baseIndexDates: RepositoryDto[];\r\n } => ({\r\n clients: [],\r\n baseIndexDates: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementSearch.vue?vue&type=template&id=72efa6bc&\"\nimport script from \"./AgreementSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.agreementContainer.agreementRows,\"item-key\":\"id\",\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"custom-group\":_vm.customGroup,\"server-items-length\":_vm.agreementContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [50, 200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationCargotype',\n pickup: true,\n cargoType: _vm.cargoType\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupLocationCounty,\n zipCode: _vm.searchCriteria.pickupLocationZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupLocationCounty = val.county;\n _vm.searchCriteria.pickupLocationZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'locationCargotype',\n pickup: false,\n cargoType: _vm.cargoType\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryLocationCounty,\n zipCode: _vm.searchCriteria.deliveryLocationZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryLocationCounty = val.county;\n _vm.searchCriteria.deliveryLocationZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.currencyName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currencyType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currencyType\", $$v)},expression:\"searchCriteria.currencyType\"}})]},proxy:true},{key:\"filter.truckTypeName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'truckType', cargoType: _vm.cargoType },\"placeholder\":_vm.$t('TruckType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.truckType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"truckType\", $$v)},expression:\"searchCriteria.truckType\"}})]},proxy:true},{key:\"filter.baseIndexName\",fn:function(){return [_c('CustomFilter',{attrs:{\"value\":_vm.searchCriteria.baseIndexDate\n ? _vm.searchCriteria.baseIndexDate.dateTimePrint()\n : undefined,\"config\":{ subtype: 'baseIndexDate' },\"placeholder\":_vm.$t('BaseIndex')},on:{\"input\":function (v) { return (_vm.searchCriteria.baseIndexDate = _vm.baseIndexDateFromString(v)); },\"search\":_vm.search}})]},proxy:true}],null,true)})]}},{key:\"group.header\",fn:function(ref){\n var group = ref.group;\nreturn [_c('td',{staticClass:\"font-weight-bold group-header\",attrs:{\"colspan\":\"99\"}},[_vm._v(\" \"+_vm._s(group)+\" \")])]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickupText(item),\"width\":\"170\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.deliveryText(item),\"width\":\"190\"}})]}},{key:\"item.specialRequirements\",fn:function(ref){\n var item = ref.item;\nreturn [(!!item.specialRequirements)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"group-header-icon\",attrs:{\"color\":\"red\",\"size\":\"16\"}},on),[_vm._v(\" mdi-exclamation-thick \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.specialRequirements))])]):_vm._e()]}},{key:\"item.agreementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.agreementFromDate.datePrint())+\" - \"+_vm._s(item.agreementToDate.datePrint())+\" \")])]}},{key:\"item.truckTypeName\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.$t(item.truckTypeName))+\" \")]}},{key:\"item.ranking\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.ranking === 0 ? \"\" : item.ranking)+\" \")]}},{key:\"item.basePrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.basePrice, 0))+\" \")])]}},{key:\"item.invoicePrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines clickable\",on:{\"click\":function($event){return _vm.goToIndexes(item)}}},on),[_vm._v(\" \"+_vm._s(_vm.money(item.invoicePrice, 0))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.indexTooltip(item))+\" \")])]}},{key:\"item.stopPrice\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.stopPrice, 0))+\" \")])]}},{key:\"item.baseIndexName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines clickable\",on:{\"click\":function($event){return _vm.goToIndexes(item)}}},on),[_vm._v(\" \"+_vm._s(item.baseIndexName)+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.indexTooltip(item))+\" \")])]}},{key:\"item.note\",fn:function(ref){\n var item = ref.item;\nreturn [(item.note)?_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":0},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"icon-yellow\"}},on),[_vm._v(\" mdi-note \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(item.note))])]):_vm._e()]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport {\r\n SupplierAgreementContainerDto,\r\n SupplierAgreementRowDto,\r\n SupplierAgreementSearchCriteria,\r\n CargoType,\r\n UserConfigurationType,\r\n AgreementSupplierOrderBy,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { indexDateTooltip } from \"../../loads/client/accordion/AccordionPrices.vue\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n cargoType: Number,\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n agreementContainer: SupplierAgreementContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 266);\r\n },\r\n searchCriteria(): SupplierAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierAgreement,\r\n this.cargoType\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: AgreementSupplierOrderBy.PickupLocation,\r\n width: 190\r\n },\r\n {\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: AgreementSupplierOrderBy.DeliveryLocation,\r\n width: 200\r\n },\r\n {\r\n value: \"specialRequirements\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"agreementPeriod\",\r\n text: \"AgreementPeriod\",\r\n sortValue: AgreementSupplierOrderBy.AgreementPeriod,\r\n width: 1\r\n },\r\n {\r\n value: \"distance\",\r\n text: \"Kilometer\",\r\n sortValue: AgreementSupplierOrderBy.Distance,\r\n width: 1\r\n },\r\n {\r\n value: \"currencyName\",\r\n text: \"Currency\",\r\n sortValue: AgreementSupplierOrderBy.Currency,\r\n width: 70\r\n },\r\n {\r\n value: \"truckTypeName\",\r\n text: \"TruckType\",\r\n sortValue: AgreementSupplierOrderBy.TruckType,\r\n width: 120\r\n },\r\n {\r\n value: \"ranking\",\r\n text: \"Ranking\",\r\n sortValue: AgreementSupplierOrderBy.Ranking,\r\n width: 1\r\n }\r\n ];\r\n if (this.searchCriteria.unitBasePrice) {\r\n headers.push({\r\n value: \"unitBasePrice\",\r\n text: \"UnitBasePrice\",\r\n sortValue: AgreementSupplierOrderBy.Price,\r\n width: 65\r\n });\r\n } else {\r\n headers.push({\r\n value: \"basePrice\",\r\n text: \"AgreedPrice\",\r\n sortValue: AgreementSupplierOrderBy.Price,\r\n width: 65\r\n });\r\n }\r\n switch (this.cargoType) {\r\n case CargoType.Road:\r\n headers.push({\r\n value: \"invoicePrice\",\r\n text: \"InvoicePrices\",\r\n sortValue: AgreementSupplierOrderBy.Price,\r\n width: 65\r\n });\r\n headers.push({\r\n value: \"stopPrice\",\r\n text: \"StopPrice\",\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"baseIndexName\",\r\n text: \"BaseIndex\",\r\n sortValue: AgreementSupplierOrderBy.BaseIndexDate,\r\n width: 1\r\n });\r\n break;\r\n case CargoType.Container:\r\n headers.push({\r\n value: \"serviceFee\",\r\n text: \"ServiceFee\",\r\n width: 1\r\n });\r\n break;\r\n case CargoType.MachineTransport:\r\n headers.push({\r\n value: \"initialFee\",\r\n text: \"TruckTypeFee\",\r\n width: 1\r\n });\r\n headers.push({\r\n value: \"stopPrice\",\r\n text: \"StopPrice\",\r\n width: 1\r\n });\r\n break;\r\n }\r\n headers.push({ value: \"note\", text: \"Note\", width: 1 });\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n customGroup(\r\n items: SupplierAgreementRowDto[]\r\n ): { name: string; sortVal: string; items: SupplierAgreementRowDto[] }[] {\r\n let res: {\r\n name: string;\r\n sortVal: string;\r\n items: SupplierAgreementRowDto[];\r\n }[] = [];\r\n for (let ar of items) {\r\n const matchingGroup = res.find(x => x.name === ar.clientName!);\r\n if (matchingGroup) {\r\n matchingGroup.items.push(ar);\r\n } else {\r\n res.push({\r\n name: ar.clientName!,\r\n sortVal: ar.clientName!,\r\n items: [ar]\r\n });\r\n }\r\n }\r\n res.sort((a, b) => {\r\n return stringCompare(a.sortVal, b.sortVal);\r\n });\r\n return res;\r\n },\r\n baseIndexDateFromString(dateString: string | undefined): CDate | undefined {\r\n return dateString\r\n ? CDate.fromString(dateString, TimeZone.Europe_Stockholm)\r\n : undefined;\r\n },\r\n pickupText(item: SupplierAgreementRowDto): string {\r\n return `${item.pickupCounty}, ${item.pickupZipcode}, ${item.pickupCountryISO}`;\r\n },\r\n deliveryText(item: SupplierAgreementRowDto): string {\r\n return `${item.deliveryCounty}, ${item.deliveryZipcode}, ${item.deliveryCountryISO}`;\r\n },\r\n indexTooltip(item: SupplierAgreementRowDto): string {\r\n return indexDateTooltip(\r\n item.indexFactor,\r\n item.baseIndexName!,\r\n this.searchCriteria.date\r\n );\r\n },\r\n goToIndexes(item: SupplierAgreementRowDto) {\r\n window.open(\r\n `/indexes?from=${item.baseIndexDate.datePrint()}&to=${this.searchCriteria.date.datePrint()}`,\r\n \"_blank\"\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementTable.vue?vue&type=template&id=439a3be2&\"\nimport script from \"./AgreementTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementSupplierOrderBy,\r\n AgreementsSupplierClient,\r\n ApiConfiguration,\r\n SupplierAgreementContainerDto,\r\n SupplierAgreementSearchCriteria,\r\n SupplierAgreementSearchCriteriaContainer,\r\n UserConfigurationType,\r\n ActorType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport AgreementSearch from \"@/components/web/agreements/supplier/AgreementSearch.vue\";\r\nimport AgreementTable from \"@/components/web/agreements/supplier/AgreementTable.vue\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementSearch,\r\n AgreementTable\r\n },\r\n watch: {\r\n \"$route.query.cargoType\": {\r\n handler(newVal, oldVal) {\r\n this.cargoType = Number(newVal);\r\n this.searchCriteria.date = CDate.now(this.actorZone);\r\n if (oldVal !== undefined) {\r\n this.agreementContainer.agreementRows = [];\r\n this.search(true, false);\r\n }\r\n },\r\n immediate: true\r\n },\r\n \"searchCriteria.invoicePrice\"() {\r\n this.search(false, true);\r\n }\r\n },\r\n computed: {\r\n searchCriteria(): SupplierAgreementSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.SupplierAgreement,\r\n this.cargoType\r\n );\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n sorting(): { orderBy: AgreementSupplierOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as AgreementSupplierOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n }\r\n },\r\n methods: {\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(false, false);\r\n },\r\n search(goToFirstPage: boolean, saveUserConf: boolean) {\r\n if (!this.searchCriteria.date) {\r\n return;\r\n }\r\n if (goToFirstPage) {\r\n this.tableOptions.page = 1;\r\n scrollTableToTop(this);\r\n }\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new AgreementsSupplierClient(new ApiConfiguration(this.$store))\r\n .bySearchCriteria(\r\n new SupplierAgreementSearchCriteriaContainer({\r\n agreementSearchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.agreementContainer = res;\r\n this.exportDisabled =\r\n this.agreementContainer.agreementRows!.length === 0;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n if (saveUserConf) {\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.SupplierAgreement,\r\n subTypeId: this.cargoType\r\n });\r\n }\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.SupplierAgreement,\r\n subTypeId: this.cargoType,\r\n actorType: ActorType.Supplier\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [AgreementSupplierOrderBy.PickupLocation];\r\n this.tableOptions.sortDesc = [false];\r\n this.search(true, true);\r\n });\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new AgreementsSupplierClient(new ApiConfiguration(this.$store))\r\n .exportToExcel(\r\n new SupplierAgreementSearchCriteriaContainer({\r\n agreementSearchCriteria: this.searchCriteria,\r\n itemsPerPage: 0,\r\n pageNumber: 0,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n cargoType: number;\r\n exportDisabled: boolean;\r\n exportLoading: boolean;\r\n agreementContainer: SupplierAgreementContainerDto;\r\n tableOptions: TableOptions;\r\n } => ({\r\n loading: 0,\r\n cargoType: NaN,\r\n exportDisabled: true,\r\n exportLoading: false,\r\n agreementContainer: new SupplierAgreementContainerDto({\r\n count: 0,\r\n agreementRows: []\r\n }),\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [AgreementSupplierOrderBy.PickupLocation],\r\n sortDesc: [false],\r\n groupBy: [\"oviktigt\"]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Agreements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Agreements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Agreements.vue?vue&type=template&id=4c931160&\"\nimport script from \"./Agreements.vue?vue&type=script&lang=ts&\"\nexport * from \"./Agreements.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.loading)?_c('v-row',_vm._l((_vm.surveys),function(survey){return _c('v-col',{key:survey.id,staticClass:\"no-padding-top large-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('SurveyIterationCard',{attrs:{\"survey\":survey,\"submissions\":_vm.submissions.filter(function (a) { return a.survey === survey.id; })},on:{\"submissionClicked\":_vm.submissionClicked}})],1)}),1):_c('Spinner',{attrs:{\"size\":180,\"top-margin\":\"\"}})],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('SearchCard',{attrs:{\"title\":_vm.title},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{staticClass:\"medium-margin-right\",attrs:{\"color\":\"btn-cyan\",\"disabled\":_vm.surveyInProgress},on:{\"click\":function($event){return _vm.submissionClicked()}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Survey_Respond\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},_vm._l((_vm.submissions),function(submission){return _c('div',{key:submission.id,staticClass:\"clickable\",on:{\"click\":function($event){return _vm.submissionClicked(submission.id, submission.completed)}}},[_c('v-alert',{directives:[{name:\"ripple\",rawName:\"v-ripple\"}],attrs:{\"outlined\":\"\",\"color\":_vm.color(submission),\"icon\":false}},[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{staticClass:\"survey-icon\",attrs:{\"size\":\"28\",\"color\":_vm.color(submission)}},[_vm._v(\" \"+_vm._s(_vm.icon(submission))+\" \")])],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-list-item-title',{staticClass:\"black-text\"},[_vm._v(_vm._s(_vm.submissionTitle(submission)))]),_c('v-list-item-subtitle',{staticClass:\"black-text\"},[_vm._v(_vm._s(_vm.submissionSubtitle(submission)))])],1),_c('v-spacer'),(submission.completed)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-row',{staticClass:\"black-text font-weight-medium\"},[_c('v-col',{staticClass:\"no-padding medium-padding-top\"},[_vm._v(\" \"+_vm._s(submission.pointsPercentage)+\"% \")]),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left small-padding-top\"},[_c('v-icon',{staticClass:\"tiny-padding-top\",attrs:{\"color\":_vm.color(submission)}},[_vm._v(\" mdi-leaf \")])],1)],1)],1):_vm._e()],1)],1)],1)}),0)],1),(_vm.noSubmission)?_c('div',{staticClass:\"medium-padding-bottom small-padding-top\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Survey_NoSubmissionsYet\"))+\" \")]):_vm._e()]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { SurveyDto, SurveySubmissionDto } from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard\r\n },\r\n props: {\r\n survey: SurveyDto,\r\n submissions: Array as () => SurveySubmissionDto[]\r\n },\r\n computed: {\r\n title(): string {\r\n return `${this.$t(\"Survey_SustainabilitySurvey\")} ${\r\n this.survey.iteration\r\n }`;\r\n },\r\n surveyInProgress() {\r\n return (this.submissions as SurveySubmissionDto[]).some(\r\n s => s.completed === false\r\n );\r\n },\r\n noSubmission() {\r\n return this.submissions.length === 0;\r\n }\r\n },\r\n methods: {\r\n submissionTitle(submission: SurveySubmissionDto) {\r\n let res = submission.completed\r\n ? this.$t(\"Survey_Completed\")\r\n : this.$t(\"Survey_Ongoing\");\r\n res += ` ${submission.answerDate!.datePrint()}`;\r\n return res;\r\n },\r\n submissionSubtitle(submission: SurveySubmissionDto) {\r\n let res = submission.loadUserName;\r\n if (submission.completed) {\r\n res = `${submission.respondentName}, ${submission.respondentRole} (${res})`;\r\n }\r\n return res;\r\n },\r\n color(submission: SurveySubmissionDto) {\r\n if (!submission.completed) {\r\n return \"warning\";\r\n } else if (\r\n (this.submissions as SurveySubmissionDto[]).some(\r\n s =>\r\n s.completed &&\r\n s.answerDate!.toSeconds() > submission.answerDate!.toSeconds()\r\n )\r\n ) {\r\n return \"grey\";\r\n } else {\r\n return \"icon-green\";\r\n }\r\n },\r\n icon(submission: SurveySubmissionDto) {\r\n return submission.completed\r\n ? \"mdi-check-circle-outline\"\r\n : \"mdi-progress-clock\";\r\n },\r\n submissionClicked(surveySubmissionId?: number, readonly?: boolean) {\r\n if (readonly === false) {\r\n readonly = undefined;\r\n }\r\n this.$emit(\r\n \"submissionClicked\",\r\n this.survey.id,\r\n surveySubmissionId,\r\n readonly\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyIterationCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyIterationCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SurveyIterationCard.vue?vue&type=template&id=676e68d4&scoped=true&\"\nimport script from \"./SurveyIterationCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./SurveyIterationCard.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SurveyIterationCard.vue?vue&type=style&index=0&id=676e68d4&scoped=true&lang=css&\"\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 \"676e68d4\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VBtn,VCol,VIcon,VListItemSubtitle,VListItemTitle,VRow,VSpacer})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Ripple from 'vuetify/lib/directives/ripple'\ninstallDirectives(component, {Ripple})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SurveySubmissionDto,\r\n SurveySupplierClient,\r\n SurveyDto\r\n} from \"@/scripts/cld.api\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport SurveyIterationCard from \"@/components/web/survey/supplier/SurveyIterationCard.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner,\r\n SurveyIterationCard\r\n },\r\n methods: {\r\n submissionClicked(\r\n surveyId: number,\r\n submissionId?: number,\r\n readonly?: boolean\r\n ) {\r\n setTimeout(() => {\r\n this.$router.push({\r\n path: \"/survey\",\r\n query: {\r\n surveyId: surveyId.toString(),\r\n submissionId:\r\n submissionId !== undefined ? submissionId.toString() : undefined,\r\n readonly: readonly !== undefined ? readonly.toString() : undefined\r\n }\r\n });\r\n }, 100);\r\n }\r\n },\r\n mounted() {\r\n let pending = 2;\r\n new SurveySupplierClient(new ApiConfiguration(this.$store))\r\n .surveys()\r\n .then(res => {\r\n res.sort((a, b) => b.id - a.id);\r\n this.surveys = res;\r\n pending--;\r\n if (pending === 0) {\r\n this.loading = false;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n new SurveySupplierClient(new ApiConfiguration(this.$store))\r\n .submissions()\r\n .then(res => {\r\n res.sort(\r\n (a, b) => b.answerDate!.toSeconds() - a.answerDate!.toSeconds()\r\n );\r\n this.submissions = res;\r\n pending--;\r\n if (pending === 0) {\r\n this.loading = false;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n loading: boolean;\r\n surveys: SurveyDto[];\r\n submissions: SurveySubmissionDto[];\r\n } => ({\r\n loading: true,\r\n surveys: [],\r\n submissions: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyOverview.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyOverview.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SurveyOverview.vue?vue&type=template&id=69524860&\"\nimport script from \"./SurveyOverview.vue?vue&type=script&lang=ts&\"\nexport * from \"./SurveyOverview.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.loading)?_c('Spinner',{attrs:{\"size\":180,\"top-margin\":\"\"}}):_c('div',{staticClass:\"leave-space-for-footer leave-space-for-back-button\"},[_c('v-btn',{staticClass:\"back-button\",attrs:{\"fab\":\"\",\"color\":\"cyan white-text\"},on:{\"click\":_vm.goBack}},[_c('v-icon',{attrs:{\"x-large\":\"\"}},[_vm._v(\"mdi-chevron-left\")])],1),_c('h1',{staticClass:\"font-weight-regular\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"Survey_SustainabilitySurvey\"))+\" \"+_vm._s(_vm.survey.iteration)+\" \")]),_c('SurveyContent',{attrs:{\"readonly\":_vm.readonly,\"answerGroups\":_vm.answerGroups},on:{\"changeMade\":function($event){_vm.pendingChanges = true}}}),(!_vm.readonly)?_c('v-footer',{attrs:{\"fixed\":\"\",\"elevation\":\"1\",\"width\":\"600\"}},[_c('ContentContainer',[_c('v-row',{staticClass:\"leave-space-for-back-button\"},[_c('v-col',{staticClass:\"progress-container no-padding-sides\"},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},_vm._l((_vm.answerRowsX),function(row){return _c('v-col',{key:row.questionId},[_c('v-progress-linear',{attrs:{\"value\":_vm.progress(row.questionId),\"color\":\"green\"}})],1)}),1)],1),_c('v-col',{staticClass:\"tiny-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"cyan white-text\",\"disabled\":!_vm.pendingChanges},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1),_c('v-col',{staticClass:\"tiny-vertical-padding no-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"success\",\"disabled\":_vm.numInvalidAnswers > 0},on:{\"click\":function($event){_vm.submitSurveyDialog = true}}},[_c('v-icon',{attrs:{\"size\":\"17\",\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Survey_Submit\"))+\" \")],1)],1)],1)],1)],1):_vm._e()],1),_c('SubmitSurveyDialog',{attrs:{\"dialog\":_vm.submitSurveyDialog,\"submission\":_vm.submission},on:{\"close\":function($event){_vm.submitSurveyDialog = false},\"submitSurvey\":_vm.submitSurvey}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('Survey_SubmitAnswers'),\"width\":500},on:{\"close\":function($event){return _vm.$emit('close')}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"11\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Survey_RespondentName'),\"rules\":[_vm.lengthRule],\"asterisk\":\"\"},model:{value:(_vm.submission.respondentName),callback:function ($$v) {_vm.$set(_vm.submission, \"respondentName\", $$v)},expression:\"submission.respondentName\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"11\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Survey_RespondentRole'),\"rules\":[_vm.lengthRule],\"asterisk\":\"\"},model:{value:(_vm.submission.respondentRole),callback:function ($$v) {_vm.$set(_vm.submission, \"respondentRole\", $$v)},expression:\"submission.respondentRole\"}})],1)],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"success\",\"loading\":_vm.loading,\"disabled\":!_vm.valid},on:{\"click\":_vm.submitSurvey}},[_c('v-icon',{attrs:{\"size\":\"17\",\"left\":\"\"}},[_vm._v(\"mdi-send\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Survey_Submit\"))+\" \")],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport { SurveySubmissionSaveDto } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextSingle,\r\n DialogCard\r\n },\r\n props: {\r\n dialog: Boolean,\r\n submission: SurveySubmissionSaveDto\r\n },\r\n methods: {\r\n submitSurvey() {\r\n this.loading = true;\r\n this.$emit(\"submitSurvey\");\r\n },\r\n lengthRule(value?: string | null): boolean {\r\n return !!value && value.length <= 50;\r\n }\r\n },\r\n data: (): { valid: boolean; loading: boolean } => ({\r\n valid: false,\r\n loading: false\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmitSurveyDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubmitSurveyDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubmitSurveyDialog.vue?vue&type=template&id=0331e226&\"\nimport script from \"./SubmitSurveyDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubmitSurveyDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SurveySupplierClient,\r\n SurveyDto,\r\n SurveyAnswerRowDto,\r\n SurveySubmissionSaveDto\r\n} from \"@/scripts/cld.api\";\r\nimport {\r\n getAnswerGroups,\r\n SurveyAnswerRowDtoX,\r\n SurveyAnswerRowDtoXGroup\r\n} from \"@/scripts/misc/surveyQuestions\";\r\nimport {\r\n popupDialog,\r\n saveBeforeContinueDialog\r\n} from \"@/scripts/misc/popupDialogs\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport ContentContainer from \"@/components/shared/ui/ContentContainer.vue\";\r\nimport SurveyContent from \"@/components/web/survey/SurveyContent.vue\";\r\nimport SubmitSurveyDialog from \"@/components/web/survey/supplier/SubmitSurveyDialog.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner,\r\n SurveyContent,\r\n ContentContainer,\r\n SubmitSurveyDialog\r\n },\r\n computed: {\r\n numInvalidAnswers(): number {\r\n return this.answerRowsX.filter(a => a.valid === false).length;\r\n },\r\n readonly(): boolean {\r\n return this.$route.query.readonly === \"true\";\r\n },\r\n answerRowsX(): SurveyAnswerRowDtoX[] {\r\n let answers: SurveyAnswerRowDtoX[] = [];\r\n for (let group of this.answerGroups) {\r\n answers = answers.concat(group.answers);\r\n }\r\n return answers;\r\n }\r\n },\r\n methods: {\r\n progress(questionId: number): number {\r\n return (\r\n 100 *\r\n this.answerRowsX.filter(a => a.questionId === questionId && a.valid)\r\n .length\r\n );\r\n },\r\n goBack() {\r\n if (this.pendingChanges) {\r\n saveBeforeContinueDialog(() => {\r\n return this.saveCallback().then(() => {\r\n this.goBackCallback();\r\n });\r\n }, this.goBackCallback);\r\n } else {\r\n this.goBackCallback();\r\n }\r\n },\r\n goBackCallback() {\r\n this.$router.push({\r\n path: \"/surveys\"\r\n });\r\n },\r\n submitSurvey() {\r\n this.submission.completed = true;\r\n this.saveCallback().then(() => {\r\n this.submitSurveyDialog = false;\r\n this.$router.push(\"/surveys\");\r\n });\r\n },\r\n save() {\r\n popupDialog({\r\n title: this.$t(\"Survey_Save\").toString(),\r\n body: this.$t(\"Survey_SaveText\").toString(),\r\n btnText1: this.$t(\"Save\").toString(),\r\n btnColor1: \"success\",\r\n btnCallback1: this.saveCallback\r\n });\r\n },\r\n saveCallback() {\r\n this.submission.surveyAnswerRows = this.answerRowsX\r\n .filter(r => r.valid)\r\n .map(\r\n r =>\r\n new SurveyAnswerRowDto({\r\n questionId: r.questionId,\r\n selectedOption: r.selectedOption,\r\n text: r.text\r\n })\r\n );\r\n this.pendingChanges = false;\r\n return new SurveySupplierClient(new ApiConfiguration(this.$store))\r\n .submit(this.submission)\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n async mounted() {\r\n const surveyId = Number(this.$route.query.surveyId);\r\n await new SurveySupplierClient(new ApiConfiguration(this.$store))\r\n .surveys()\r\n .then(res => {\r\n this.survey = res.filter(s => s.id === surveyId)[0];\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n const submissionId = Number(this.$route.query.submissionId);\r\n if (!isNaN(submissionId)) {\r\n new SurveySupplierClient(new ApiConfiguration(this.$store))\r\n .submission(submissionId)\r\n .then(res => {\r\n this.submission = res;\r\n this.answerGroups = getAnswerGroups(\r\n res.surveyAnswerRows!,\r\n this.survey.questionGroups!\r\n );\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n } else {\r\n this.submission = new SurveySubmissionSaveDto({\r\n survey: surveyId,\r\n respondentName: \"\",\r\n respondentRole: \"\",\r\n completed: false,\r\n surveyAnswerRows: undefined\r\n });\r\n this.answerGroups = getAnswerGroups([], this.survey.questionGroups!);\r\n this.loading = false;\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n pendingChanges: boolean;\r\n submitSurveyDialog: boolean;\r\n survey: SurveyDto;\r\n submission: SurveySubmissionSaveDto;\r\n answerGroups: SurveyAnswerRowDtoXGroup[];\r\n } => ({\r\n loading: true,\r\n pendingChanges: false,\r\n submitSurveyDialog: false,\r\n survey: new SurveyDto(),\r\n submission: new SurveySubmissionSaveDto(),\r\n answerGroups: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Survey.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Survey.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Survey.vue?vue&type=template&id=14fa5e25&scoped=true&\"\nimport script from \"./Survey.vue?vue&type=script&lang=ts&\"\nexport * from \"./Survey.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Survey.vue?vue&type=style&index=0&id=14fa5e25&scoped=true&lang=css&\"\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 \"14fa5e25\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VFooter } from 'vuetify/lib/components/VFooter';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VFooter,VIcon,VProgressLinear,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('BusinessQualitypoints')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Client'),\"items\":_vm.clients},on:{\"input\":_vm.fetchQualitypoints},model:{value:(_vm.clientId),callback:function ($$v) {_vm.clientId=$$v},expression:\"clientId\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"6\"}},[_c('SubjectiveQualityPointsTable',{attrs:{\"qualityPoints\":_vm.qualityPoints,\"loading\":_vm.loading}})],1),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"6\"}},[_c('SubjectiveQualityPointsHistory',{attrs:{\"historyItems\":_vm.historyItems,\"loading\":_vm.loading}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SubjectiveQPDto,\r\n SubjectiveQualityPointsHistoryDto,\r\n RepositoryDto,\r\n QualityPointsSupplierClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport SubjectiveQualityPointsTable from \"@/components/web/qp/SubjectiveQualityPointsTable.vue\";\r\nimport SubjectiveQualityPointsHistory from \"@/components/web/qp/SubjectiveQualityPointsHistory.vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n SubjectiveQualityPointsTable,\r\n SubjectiveQualityPointsHistory\r\n },\r\n methods: {\r\n fetchQualitypoints() {\r\n if (!this.clientId) {\r\n return;\r\n }\r\n this.loading = true;\r\n new QualityPointsSupplierClient(new ApiConfiguration(this.$store))\r\n .subjectivePoints(this.clientId)\r\n .then(res => {\r\n this.qualityPoints = res;\r\n this.fetchHistory();\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchHistory() {\r\n new QualityPointsSupplierClient(new ApiConfiguration(this.$store))\r\n .subjectiveHistory(this.clientId!)\r\n .then(res => {\r\n this.historyItems = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n cached(\"clients\", [true, true, false])\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n clients: RepositoryDto[];\r\n clientId?: number;\r\n qualityPoints: SubjectiveQPDto[];\r\n historyItems: SubjectiveQualityPointsHistoryDto[];\r\n loading: boolean;\r\n } => ({\r\n clients: [],\r\n clientId: undefined,\r\n qualityPoints: [],\r\n historyItems: [],\r\n loading: false\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPoints.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPoints.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SubjectiveQualityPoints.vue?vue&type=template&id=750f03e0&\"\nimport script from \"./SubjectiveQualityPoints.vue?vue&type=script&lang=ts&\"\nexport * from \"./SubjectiveQualityPoints.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('WeightningQualitypoint')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Client'),\"items\":_vm.clients,\"loading\":_vm.clients.length === 0},model:{value:(_vm.clientId),callback:function ($$v) {_vm.clientId=$$v},expression:\"clientId\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes()},model:{value:(_vm.cargoType),callback:function ($$v) {_vm.cargoType=$$v},expression:\"cargoType\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"12\"}},[_c('QualityPointsWeightsTable',{attrs:{\"loading\":_vm.loading,\"performanceWeights\":_vm.performanceWeights}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n PerformanceQPWeightsDto,\r\n RepositoryClient,\r\n RepositoryDto,\r\n QualityPointsSupplierClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport QualityPointsWeightsTable from \"@/components/web/qp/QualityPointsWeightsTable.vue\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n Dropdown,\r\n QualityPointsWeightsTable\r\n },\r\n watch: {\r\n \"$route.query\": {\r\n handler() {\r\n this.fetchPerformanceWeights();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n clientId: {\r\n get(): number {\r\n return Number(this.$route.query.clientid);\r\n },\r\n set(clientId: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n clientid: clientId.toString(),\r\n cargoType: this.cargoType.toString()\r\n }\r\n });\r\n }\r\n },\r\n cargoType: {\r\n get(): number {\r\n return Number(this.$route.query.cargoType);\r\n },\r\n set(cargoType: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n clientid: this.clientId.toString(),\r\n cargoType: cargoType.toString()\r\n }\r\n });\r\n }\r\n }\r\n },\r\n methods: {\r\n cargoTypes: cargoTypes,\r\n fetchPerformanceWeights() {\r\n if (!this.cargoType || !this.clientId) {\r\n return;\r\n }\r\n this.loading = true;\r\n new QualityPointsSupplierClient(new ApiConfiguration(this.$store))\r\n .performanceWeights(this.cargoType, this.clientId)\r\n .then(res => {\r\n this.performanceWeights = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .clients(true, true, false)\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n loading: boolean;\r\n clients: RepositoryDto[];\r\n performanceWeights: PerformanceQPWeightsDto[];\r\n } => ({\r\n loading: false,\r\n clients: [],\r\n performanceWeights: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeights.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeights.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsWeights.vue?vue&type=template&id=92a251d4&\"\nimport script from \"./QualityPointsWeights.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsWeights.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('SearchCard',{attrs:{\"title\":_vm.$t('PublishRules'),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"disabled\":_vm.loading},on:{\"click\":function($event){_vm.dialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-clock\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"WorkingHours\"))+\" \")],1)]},proxy:true},{key:\"body\",fn:function(){return [(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"many\",\"height\":_vm.tableHeight}}):_c('v-form',{ref:\"form\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-simple-table',{attrs:{\"height\":_vm.tableHeight,\"fixed-header\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_c('br'),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t(\"PublishRuleLevel\"))+\" \")]),_vm._l((_vm.publishRuleTypes()),function(type){return _c('th',{key:type.id},[(type.id === 1)?_c('span',[_vm._v(_vm._s(_vm.$t(\"ValueOfDelay\")))]):_vm._e(),_c('br'),_c('br'),_vm._v(\" \"+_vm._s(type.text)+\" \")])}),_c('th')],2)]),_c('tbody',_vm._l((_vm.publishRules),function(item,index){return _c('tr',{key:index,class:{\n 'green-row': _vm.newRows.includes(index)\n }},[_c('td',[_vm._v(\" \"+_vm._s(index + 1)+\" \")]),_vm._l((item.publishRuleRows),function(type){return _c('td',{key:type.publishRuleType},[_c('v-text-field',{attrs:{\"spellcheck\":false,\"rules\":[function (v) { return _vm.isValid(index, type.publishRuleType); }],\"type\":\"number\",\"outlined\":\"\",\"dense\":\"\"},on:{\"input\":_vm.validate},model:{value:(type.delay),callback:function ($$v) {_vm.$set(type, \"delay\", $$v)},expression:\"type.delay\"}})],1)}),_c('td',[_c('span',{staticClass:\"dont-render-newlines\"},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.add(index)}}},[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\" mdi-plus-thick \")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.publishRules.length <= _vm.minNumRules},on:{\"click\":function($event){return _vm.remove(index)}}},[_c('v-icon',{attrs:{\"color\":\"error\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)],1)])],2)}),0)]},proxy:true}])})],1)]},proxy:true}])}),_c('v-sheet',{staticClass:\"small-margin-top\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"warning\",\"disabled\":_vm.saveInProgress || _vm.loading || !_vm.pendingChanges},on:{\"click\":_vm.fetch}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Cancel\"))+\" \")],1)],1),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"},on:{\"mouseenter\":_vm.validate}},[_c('v-btn',{attrs:{\"depressed\":\"\",\"color\":\"success\",\"loading\":_vm.saveInProgress,\"disabled\":_vm.loading || !_vm.pendingChanges || !_vm.valid},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)],1),_c('WorkingHoursEditDialog',{attrs:{\"dialog\":_vm.dialog},on:{\"close\":function($event){_vm.dialog = false}}})],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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.$t('WorkingHours'),\"width\":1000,\"loading\":_vm.loading,\"fullHeight\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('WorkingHoursDesc'),\"icon\":\"mdi-information\",\"color\":\"black\"}})]},proxy:true},{key:\"body\",fn:function(){return [_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t(\"Selected\")))]),_c('th'),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayStart\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayEnd\"))+\" \")]),_c('th')])]),_c('tbody',_vm._l((_vm.dayTypes()),function(dayType){return _c('tr',{key:dayType.id},[_c('td',[_c('CheckboxTiny',{model:{value:(_vm.dayTypeIncluded[dayType.id - 1]),callback:function ($$v) {_vm.$set(_vm.dayTypeIncluded, dayType.id - 1, $$v)},expression:\"dayTypeIncluded[dayType.id - 1]\"}})],1),_c('td',{class:{ 'grey-text': !_vm.dayTypeIncluded[dayType.id - 1] },staticStyle:{\"width\":\"130px\"}},[_vm._v(\" \"+_vm._s(dayType.text)+\" \")]),_c('td',[_c('TimePickerDuration',{attrs:{\"value\":_vm.getWorkingHours(dayType.id).start,\"disabled\":!_vm.dayTypeIncluded[dayType.id - 1],\"zone\":_vm.actorZone},on:{\"input\":function (v) { return (_vm.getWorkingHours(dayType.id).start = _vm.getTime(v)); }}})],1),_c('td',[_c('TimePickerDuration',{attrs:{\"value\":_vm.getWorkingHours(dayType.id).stop,\"timeOk\":_vm.timeOk(_vm.getWorkingHours(dayType.id).start),\"disabled\":!_vm.dayTypeIncluded[dayType.id - 1],\"zone\":_vm.actorZone},on:{\"input\":function (v) { return (_vm.getWorkingHours(dayType.id).stop = _vm.getTime(v)); }}})],1),_c('td',{staticStyle:{\"width\":\"360px\"}})])}),0)]),_c('v-row',{staticClass:\"medium-padding-top\",attrs:{\"align\":\"center\"}},[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){_vm.selectedYear--}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-left\")])],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t(\"DeviatingDays\"))+\" \"+_vm._s(_vm.selectedYear))])]),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"width\":\"45\",\"height\":\"40\",\"text\":\"\",\"color\":\"icon-grey\"},on:{\"click\":function($event){_vm.selectedYear++}}},[_c('v-icon',{attrs:{\"size\":\"45\"}},[_vm._v(\"mdi-chevron-right\")])],1)],1),_c('v-spacer')],1),_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Date\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ClosedAllDay\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayStart\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"WorkDayEnd\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Description\"))+\" \")]),_c('th')])]),_c('tbody',[_vm._l((_vm.holidaysDuringYear),function(holiday,index){return _c('tr',{key:index,class:{ 'green-row': holiday.id === 0 }},[_c('td',{staticStyle:{\"width\":\"185px\"}},[(!holiday.hasPassed)?_c('DatePicker',{attrs:{\"rules\":[function (v) { return _vm.holidayRules(v, holiday); }],\"zone\":_vm.actorZone},model:{value:(holiday.date),callback:function ($$v) {_vm.$set(holiday, \"date\", $$v)},expression:\"holiday.date\"}}):_c('ReadOnlyText',{attrs:{\"value\":holiday.date.datePrint()}})],1),_c('td',[_c('v-tooltip',{attrs:{\"top\":\"\",\"open-delay\":\"100\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('CheckboxTiny',{attrs:{\"value\":_vm.isAllDay(holiday),\"disabled\":holiday.hasPassed},on:{\"input\":function($event){return _vm.toggleAllDay(holiday)}}})],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.$t(\"ClosedAllDayDesc\"))+\" \")])],1),_c('td',[_c('TimePickerDuration',{attrs:{\"value\":holiday.start,\"disabled\":_vm.isAllDay(holiday) || holiday.hasPassed,\"zone\":_vm.actorZone},on:{\"input\":function (v) { return (holiday.start = _vm.getTime(v)); }}})],1),_c('td',[_c('TimePickerDuration',{attrs:{\"value\":holiday.stop,\"timeOk\":_vm.timeOk(holiday.start),\"disabled\":_vm.isAllDay(holiday) || holiday.hasPassed,\"zone\":_vm.actorZone},on:{\"input\":function (v) { return (holiday.stop = _vm.getTime(v)); }}})],1),_c('td',{staticStyle:{\"width\":\"240px\"}},[(holiday.hasPassed)?_c('ReadOnlyText',{attrs:{\"value\":holiday.description}}):_c('TextSingle',{attrs:{\"onlyOnBlur\":\"\"},model:{value:(holiday.description),callback:function ($$v) {_vm.$set(holiday, \"description\", $$v)},expression:\"holiday.description\"}})],1),_c('td',{staticStyle:{\"width\":\"50px\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":holiday.hasPassed},on:{\"click\":function($event){return _vm.removeHoliday(index)}}},[_c('v-icon',{attrs:{\"color\":\"error\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)],1)])}),_c('tr',[_c('td',{attrs:{\"colspan\":\"99\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.firstOkDay(_vm.selectedYear) === undefined,\"color\":\"btn-cyan\"},on:{\"click\":_vm.addHoliday}},[_vm._v(\" \"+_vm._s(_vm.$t(\"AddRow\"))+\" \")])],1)])],2)])]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.valid || _vm.loading || !_vm.pendingChanges,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{ref:\"menu\",staticClass:\"large-padding-left menu-center\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"bottom\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"disabled\":_vm.disabled,\"color\":_vm.color}},on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\" mdi-clock-outline \")]),_vm._v(\" \"+_vm._s(_vm.value.hoursAndMinutes())+\" \")],1)]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('TimePickerDialog',{attrs:{\"originalValue\":_vm.value,\"timeOk\":_vm.timeOk ? _vm.timeOk : function () { return true; },\"zone\":_vm.zone,\"more-minutes\":\"\",\"update-on-close\":\"\"},on:{\"input\":function (v) { return _vm.$emit('input', v); },\"close\":function($event){_vm.menu = false}}})],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\r\nimport Vue from \"vue\";\r\nimport CDate, { CDuration } from \"@/scripts/misc/cdate\";\r\nimport TimePickerDialog from \"@/components/shared/input/TimePickerDialog.vue\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TimePickerDialog\r\n },\r\n props: {\r\n value: Object as () => CDuration,\r\n timeOk: (Function as any) as () => { (date: CDate): boolean } | undefined,\r\n disabled: Boolean,\r\n zone: Number as () => TimeZone\r\n },\r\n computed: {\r\n color(): string {\r\n if (this.selectedTimeOk) {\r\n return \"btn-cyan\";\r\n }\r\n return \"error\";\r\n },\r\n selectedTimeOk(): boolean {\r\n return !this.timeOk || this.timeOk(this.value.toCDate(this.zone));\r\n }\r\n },\r\n methods: {},\r\n data: (): {\r\n menu: boolean;\r\n } => ({\r\n menu: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePickerDuration.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePickerDuration.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimePickerDuration.vue?vue&type=template&id=e77bac2a&scoped=true&\"\nimport script from \"./TimePickerDuration.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimePickerDuration.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimePickerDuration.vue?vue&type=style&index=0&id=e77bac2a&scoped=true&lang=css&\"\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 \"e77bac2a\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport TimePickerDuration from \"@/components/shared/input/TimePickerDuration.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport {\r\n ActorsClient,\r\n ApiConfiguration,\r\n WorkingHoursDto,\r\n HolidayDto,\r\n DayType,\r\n ClientScheduleDto,\r\n IHolidayDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate, { CDuration } from \"@/scripts/misc/cdate\";\r\nimport { dayTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nclass HolidayDtoX extends HolidayDto {\r\n originalDate: string;\r\n hasPassed: boolean;\r\n constructor(dto: IHolidayDto, hasPassed: boolean) {\r\n super(dto);\r\n this.originalDate = dto.date.datePrint();\r\n this.hasPassed = hasPassed;\r\n }\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle,\r\n CheckboxTiny,\r\n TimePickerDuration,\r\n DatePicker,\r\n InfoTooltip,\r\n ReadOnlyText\r\n },\r\n props: {\r\n dialog: Boolean\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.fetch();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n actorId(): number {\r\n return this.$store.getters[gets.userInfo].actorId;\r\n },\r\n holidaysDuringYear(): HolidayDtoX[] {\r\n return [\r\n ...this.holidays!.filter(h => h.date.year() === this.selectedYear)\r\n ].sort((a, b) => a.date.toSeconds() - b.date.toSeconds());\r\n },\r\n valid(): boolean {\r\n return (\r\n this.dayTypeIncluded.some(v => !!v) &&\r\n this.workingHours.every(\r\n w =>\r\n !this.dayTypeIncluded[w.dayType - 1] ||\r\n w.stop.toCDate(this.actorZone) > w.start.toCDate(this.actorZone)\r\n ) &&\r\n this.holidays.every(\r\n h =>\r\n this.isAllDay(h) ||\r\n h.stop!.toCDate(this.actorZone) > h.start!.toCDate(this.actorZone)\r\n ) &&\r\n this.holidays.every(h => this.holidayRules(h.date, h))\r\n );\r\n },\r\n pendingChanges(): boolean {\r\n return (\r\n JSON.stringify(this.dayTypeIncluded) !== this.originalDayTypeIncluded ||\r\n JSON.stringify(this.workingHours) !== this.originalWorkingHours ||\r\n JSON.stringify(this.holidays) !== this.originalHolidays\r\n );\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n }\r\n },\r\n methods: {\r\n dayTypes: dayTypes,\r\n holidayRules(newDate: CDate, dto: HolidayDtoX | undefined): boolean {\r\n if (dto && dto.hasPassed) {\r\n return newDate.datePrint() === dto.originalDate;\r\n }\r\n const today = CDate.now(this.actorZone).toSeconds();\r\n if (newDate.toSeconds() <= today) {\r\n //New dates have to be in the future\r\n return false;\r\n }\r\n if (!dto || newDate.datePrint() !== dto.date.datePrint()) {\r\n return (\r\n this.holidays.filter(h => h.date.datePrint() === newDate.datePrint())\r\n .length === 0\r\n );\r\n }\r\n return (\r\n this.holidays.filter(h => h.date.datePrint() === newDate.datePrint())\r\n .length <= 1\r\n );\r\n },\r\n timeOk(start: CDuration | undefined): { (date: CDate): boolean } {\r\n return (date: CDate) => !start || date > start.toCDate(this.actorZone);\r\n },\r\n getTime(date: CDate): CDuration {\r\n return date.toDuration();\r\n },\r\n getWorkingHours(t: DayType): WorkingHoursDto {\r\n return this.workingHours.find(w => w.dayType === t)!;\r\n },\r\n isAllDay(holiday: HolidayDto): boolean {\r\n return (\r\n holiday.start!.hours() === 0 &&\r\n holiday.start!.minutes() === 0 &&\r\n holiday.stop!.hours() === 0 &&\r\n holiday.stop!.minutes() === 0\r\n );\r\n },\r\n toggleAllDay(holiday: HolidayDto) {\r\n if (this.isAllDay(holiday)) {\r\n holiday.start = CDuration.fromObject({ hours: 7, minutes: 0 });\r\n holiday.stop = CDuration.fromObject({ hours: 13, minutes: 0 });\r\n } else {\r\n holiday.start = CDuration.fromObject({ hours: 0, minutes: 0 });\r\n holiday.stop = CDuration.fromObject({ hours: 0, minutes: 0 });\r\n }\r\n },\r\n removeHoliday(index: number) {\r\n const holidayToRemove = this.holidaysDuringYear[index];\r\n this.holidays = this.holidays.filter(h => h !== holidayToRemove);\r\n },\r\n firstOkDay(year: number): CDate | undefined {\r\n let firstOkDay = CDate.fromString(year + \"-01-01\", this.actorZone);\r\n while (!this.holidayRules(firstOkDay, undefined)) {\r\n firstOkDay = firstOkDay.addDays(1);\r\n if (firstOkDay.year() > year) {\r\n return undefined;\r\n }\r\n }\r\n return firstOkDay;\r\n },\r\n addHoliday() {\r\n const firstOkDay = this.firstOkDay(this.selectedYear);\r\n if (!firstOkDay) {\r\n return;\r\n }\r\n this.holidays.push(\r\n new HolidayDtoX(\r\n {\r\n id: 0,\r\n date: firstOkDay,\r\n start: CDuration.fromObject({ hours: 0, minutes: 0 }),\r\n stop: CDuration.fromObject({ hours: 0, minutes: 0 }),\r\n description: undefined\r\n },\r\n false\r\n )\r\n );\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n const saveDto = new ClientScheduleDto({\r\n clientId: this.actorId,\r\n clientTimeZone: this.actorZone,\r\n workingHours: this.workingHours\r\n .filter(w => this.dayTypeIncluded[w.dayType - 1])\r\n .map(\r\n w =>\r\n new WorkingHoursDto({\r\n ...w,\r\n start: CDuration.fromObject({\r\n hours: w.start.hours(),\r\n minutes: w.start.minutes()\r\n }),\r\n stop: CDuration.fromObject({\r\n hours: w.stop.hours(),\r\n minutes: w.stop.minutes()\r\n })\r\n })\r\n ),\r\n holidays: this.holidays.map(\r\n h =>\r\n new HolidayDto({\r\n ...h,\r\n start: this.isAllDay(h)\r\n ? undefined\r\n : CDuration.fromObject({\r\n hours: h.start!.hours(),\r\n minutes: h.start!.minutes()\r\n }),\r\n stop: this.isAllDay(h)\r\n ? undefined\r\n : CDuration.fromObject({\r\n hours: h.stop!.hours(),\r\n minutes: h.stop!.minutes()\r\n })\r\n })\r\n )\r\n });\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .saveClientSchedule(saveDto)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetch();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetch() {\r\n this.loading = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientSchedule(this.actorId)\r\n .then(res => {\r\n this.workingHours = res.workingHours!;\r\n this.dayTypeIncluded = [true, true, true];\r\n dayTypes()\r\n .filter(d => !this.workingHours.some(w => w.dayType === d.id))\r\n .map(d => {\r\n this.dayTypeIncluded[d.id - 1] = false;\r\n this.workingHours.push(\r\n new WorkingHoursDto({\r\n id: 0,\r\n dayType: d.id,\r\n start: CDuration.fromObject({ hours: 7, minutes: 0 }),\r\n stop: CDuration.fromObject({ hours: 13, minutes: 0 })\r\n })\r\n );\r\n });\r\n res.holidays!.map(h => {\r\n if (!h.start) {\r\n h.start = CDuration.fromObject({ hours: 0, minutes: 0 });\r\n }\r\n if (!h.stop) {\r\n h.stop = CDuration.fromObject({ hours: 0, minutes: 0 });\r\n }\r\n });\r\n this.holidays = res.holidays!.map(\r\n h =>\r\n new HolidayDtoX(\r\n h,\r\n h.date.toSeconds() <=\r\n CDate.now(this.actorZone)\r\n .startOfDay()\r\n .toSeconds()\r\n )\r\n );\r\n this.originalWorkingHours = JSON.stringify(this.workingHours);\r\n this.originalDayTypeIncluded = JSON.stringify(this.dayTypeIncluded);\r\n this.originalHolidays = JSON.stringify(this.holidays);\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n mounted() {\r\n this.selectedYear = CDate.now(this.actorZone).year();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n saveInProgress: boolean;\r\n dayTypeIncluded: [boolean, boolean, boolean];\r\n selectedYear: number;\r\n workingHours: WorkingHoursDto[];\r\n holidays: HolidayDtoX[];\r\n originalDayTypeIncluded: string;\r\n originalWorkingHours: string;\r\n originalHolidays: string;\r\n } => ({\r\n loading: true,\r\n saveInProgress: false,\r\n dayTypeIncluded: [true, true, true],\r\n selectedYear: CDate.now(TimeZone.Europe_Stockholm).year(), //Skrivs över direkt i mounted\r\n workingHours: [],\r\n holidays: [],\r\n originalDayTypeIncluded: \"\",\r\n originalWorkingHours: \"\",\r\n originalHolidays: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkingHoursEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkingHoursEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./WorkingHoursEditDialog.vue?vue&type=template&id=0e57a31f&\"\nimport script from \"./WorkingHoursEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./WorkingHoursEditDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSimpleTable,VSpacer,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n PublishRuleDto,\r\n ActorsClient,\r\n PublishRuleType,\r\n PublishRuleRowDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport { publishRuleTypes } from \"@/scripts/misc/enumLists\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport WorkingHoursEditDialog from \"@/components/web/settings/WorkingHoursEditDialog.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n SkeletonLoader,\r\n WorkingHoursEditDialog\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 198);\r\n },\r\n changedValues(): boolean {\r\n return this.publishRules.some(\r\n (r, index) =>\r\n this.originalRulesAsJSON[index] === undefined ||\r\n JSON.stringify(r) !== this.originalRulesAsJSON[index]\r\n );\r\n },\r\n newRows(): number[] {\r\n return this.publishRules\r\n .map((r, index) => (this.originalRules.includes(r) ? -1 : index))\r\n .filter(x => x !== -1);\r\n },\r\n pendingChanges(): boolean {\r\n return this.changedValues || this.newRows.length > 0;\r\n },\r\n actorId(): number {\r\n return this.$store.getters[gets.userInfo].actorId;\r\n }\r\n },\r\n methods: {\r\n publishRuleTypes: publishRuleTypes,\r\n add(index: number) {\r\n this.publishRules.splice(\r\n index + 1,\r\n 0,\r\n new PublishRuleDto({\r\n removable: true,\r\n publishRuleRows: publishRuleTypes().map(\r\n x =>\r\n new PublishRuleRowDto({\r\n publishRuleType: x.id,\r\n delay: this.publishRules[index].publishRuleRows.find(\r\n r => r.publishRuleType === x.id\r\n )!.delay\r\n })\r\n )\r\n })\r\n );\r\n },\r\n remove(index: number) {\r\n this.publishRules.splice(index, 1);\r\n },\r\n isValid(index: number, type: PublishRuleType): boolean | string {\r\n const delay = Number(\r\n this.publishRules[index].publishRuleRows.find(\r\n x => x.publishRuleType === type\r\n )!.delay\r\n );\r\n if (index === 0) {\r\n return delay >= 0 || t(\"MustBeAtLeastX\").replace(\"{0}\", \"0\");\r\n }\r\n const delayPrevLevel = Number(\r\n this.publishRules[index - 1].publishRuleRows.find(\r\n x => x.publishRuleType === type\r\n )!.delay\r\n );\r\n if (delay >= delayPrevLevel) {\r\n return true;\r\n }\r\n return t(\"MustBeAtLeastX\").replace(\"{0}\", delayPrevLevel.toString());\r\n },\r\n validate() {\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.form;\r\n form.validate();\r\n });\r\n },\r\n roundValues() {\r\n this.publishRules.map(r =>\r\n r.publishRuleRows.map(x => (x.delay = Math.round(x.delay * 4) / 4))\r\n );\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n this.roundValues();\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .savePublishRules(this.publishRules)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetch();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n this.loading = false;\r\n });\r\n },\r\n fetch() {\r\n this.loading = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .publishRules(this.actorId)\r\n .then(res => {\r\n this.publishRules = res;\r\n this.minNumRules = Math.max(3, res.filter(r => !r.removable).length);\r\n this.originalRules = [...this.publishRules];\r\n this.originalRulesAsJSON = this.originalRules.map(r =>\r\n JSON.stringify(r)\r\n );\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetch();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n saveInProgress: boolean;\r\n valid: boolean;\r\n dialog: boolean;\r\n minNumRules: number;\r\n publishRules: PublishRuleDto[];\r\n originalRules: PublishRuleDto[];\r\n originalRulesAsJSON: string[];\r\n } => ({\r\n loading: true,\r\n saveInProgress: false,\r\n valid: false,\r\n dialog: false,\r\n minNumRules: 0,\r\n publishRules: [],\r\n originalRules: [],\r\n originalRulesAsJSON: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublishRules.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublishRules.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PublishRules.vue?vue&type=template&id=5b39e824&\"\nimport script from \"./PublishRules.vue?vue&type=script&lang=ts&\"\nexport * from \"./PublishRules.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSheet,VSimpleTable,VSpacer,VTextField})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.$t('Documents')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('div',{staticClass:\"medium-vertical-padding\"},[(_vm.loading)?_c('Spinner',{attrs:{\"size\":120,\"smallTopMargin\":\"\",\"smallBottomMargin\":\"\"}}):_vm._e(),_c('v-treeview',{attrs:{\"open\":_vm.expanded,\"items\":_vm.clients,\"item-key\":\"id\",\"dense\":\"\",\"open-on-click\":\"\"},on:{\"update:open\":function($event){_vm.expanded=$event}},scopedSlots:_vm._u([{key:\"label\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"tiny-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-icon',{attrs:{\"size\":20}},[_vm._v(\" \"+_vm._s(_vm.icon(item.nodeType, item.documentType))+\" \")])],1),_c('v-col',{staticClass:\"tiny-padding\",attrs:{\"cols\":\"auto\"}},[_c('div',{staticClass:\"text-div\"},[(item.documentType)?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(\" [\"+_vm._s(_vm.docName(item))+\"] \")]):_vm._e(),_vm._v(\" \"+_vm._s(item.text)+\" \")])]),_vm._l((_vm.documents(item)),function(d){return _c('v-col',{key:d.diskName,staticClass:\"tiny-padding\",attrs:{\"cols\":\"auto\"}},[_c('DocumentButton',{attrs:{\"document\":d,\"small\":\"\"}})],1)})],2)]}}])})],1)]},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\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n DocType,\r\n DocumentDto,\r\n DocumentGroupDto,\r\n DocumentsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DocumentButton from \"@/components/shared/ui/DocumentButton.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { docTypeName } from \"@/scripts/misc/enumNames\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\ntype ClientNodeType = \"client\";\r\ntype DocNodeType = \"doc\";\r\ntype RouteNodeType = \"route\";\r\ntype NodeType = ClientNodeType | DocNodeType | RouteNodeType;\r\n\r\ninterface ClientNode {\r\n id: number;\r\n text: string;\r\n children: DocumentNode[];\r\n nodeType: ClientNodeType;\r\n}\r\n\r\ninterface DocumentNode {\r\n id: number;\r\n text: string;\r\n documentType: DocType;\r\n documentGroup: DocumentGroupDto;\r\n children: RouteNode[] | undefined;\r\n nodeType: DocNodeType;\r\n}\r\n\r\ninterface RouteNode {\r\n id: number;\r\n text: string;\r\n nodeType: RouteNodeType;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner,\r\n SearchCard,\r\n DocumentButton\r\n },\r\n methods: {\r\n documents(item: DocumentNode): DocumentDto[] {\r\n return item.documentGroup ? item.documentGroup.documents! : [];\r\n },\r\n docName(item: DocumentNode): string {\r\n return docTypeName(item.documentType);\r\n },\r\n icon(nodeType: NodeType, docType: DocType): string {\r\n switch (nodeType) {\r\n case \"client\":\r\n return \"mdi-domain\";\r\n case \"doc\":\r\n return docType === DocType.TermsOfAgreement\r\n ? \"mdi-file-sign\"\r\n : \"mdi-currency-usd\";\r\n case \"route\":\r\n return \"mdi-routes\";\r\n default:\r\n return neverHappens(nodeType);\r\n }\r\n }\r\n },\r\n mounted() {\r\n this.loading = true;\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .clientDocumentsForSuppliers()\r\n .then(res => {\r\n this.clients = res.map(c => ({\r\n id: c.clientId,\r\n text: c.clientName!,\r\n children: c.termsOfAgreement!.map(d => ({\r\n id: nextUnique(),\r\n text: `${d.documentGroup!.description} (${d.routes!.length} ${t(\r\n \"AgreementRoutes\"\r\n )})`,\r\n documentType: d.documentGroup!.docType,\r\n documentGroup: d.documentGroup!,\r\n children: d.routes!.map(r => ({\r\n id: nextUnique(),\r\n text: `${r.pickupLocation} - ${\r\n r.deliveryLocation\r\n } (${r.from.datePrint()} - ${r.to.datePrint()})`,\r\n nodeType: \"route\"\r\n })),\r\n nodeType: \"doc\"\r\n })),\r\n nodeType: \"client\"\r\n }));\r\n this.clients.map(client => {\r\n client.children.unshift(\r\n res\r\n .find(r => r.clientId === client.id)!\r\n .invoicingInformation!.sort((a, b) => b.id - a.id)\r\n .map(x => ({\r\n id: nextUnique(),\r\n text: `${x.description}`,\r\n documentType: x.docType,\r\n documentGroup: x,\r\n children: undefined,\r\n nodeType: \"doc\" as DocNodeType\r\n }))[0]\r\n );\r\n });\r\n const clientId = Number(this.$route.query.clientId);\r\n if (clientId && !isNaN(clientId)) {\r\n this.expanded = [clientId];\r\n this.$router.push(this.$route.path);\r\n }\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n loading: boolean;\r\n clients: ClientNode[];\r\n expanded: number[];\r\n } => ({\r\n loading: true,\r\n clients: [],\r\n expanded: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Documents.vue?vue&type=template&id=6a6525aa&scoped=true&\"\nimport script from \"./Documents.vue?vue&type=script&lang=ts&\"\nexport * from \"./Documents.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Documents.vue?vue&type=style&index=0&id=6a6525aa&scoped=true&lang=css&\"\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 \"6a6525aa\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VCol,VIcon,VRow,VTreeview})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('Snow'),_c('v-col',{staticClass:\"no-padding-sides no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',{attrs:{\"justify\":\"space-around\",\"align\":\"center\"}},[(_vm.loadingSemaphore === 0 && !!_vm.timeSinceRefresh)?_c('v-col',{staticClass:\"small-vertical-padding large-padding-sides\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" Refreshades \"+_vm._s(_vm.timeSinceRefresh)+\" \")]):_vm._e(),_c('v-spacer'),_c('v-col',{staticClass:\"small-vertical-padding large-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{on:{\"click\":_vm.refresh}},[_c('v-icon',{class:{ spin: _vm.loadingSemaphore > 0 },attrs:{\"size\":\"25\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-refresh \")])],1)],1)],1)],1)],1),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"6\"}},[_c('SearchCard',{attrs:{\"title\":\"Upphandlingar\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Client\"))+\" \")]),_c('th',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" Prislämningsfas \")])]}}])},[_vm._v(\" Upphandlingar öppna för leverantörer att lämna pris på. \")])],1),_c('th',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" Rankingfas \")])]}}])},[_vm._v(\" Upphandlingar som stängt men där beställaren ännu inte skapat avtal. \")])],1),_c('th',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" Ej påbörjade \")])]}}])},[_vm._v(\" Upphandlingar som skapats men ännu inte nått sin första prislämningsfas. \")])],1),_c('th',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" Långt fram \")])]}}])},[_vm._v(\" Upphandlingar som hör hemma under \\\"Ej påbörjade\\\", men med ett startdatum över 90 dagar in i framtiden. Om upphandlingar hamnar här finns en stark misstanke om att beställaren gjort fel när denne valt datum. \")])],1),_c('th',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(\" Gamla upphandlingar \")])]}}])},[_vm._v(\" Upphandlingar som legat fast i prislämningsfasen eller rankingfasen i mer än 60 dagar. Om många upphandlingar hamnar här kan det tyda på att beställare flyttat flöden från c-load och bör därför undersökas. \")])],1)])]),_c('tbody',[_vm._l((_vm.procurementStatusInfo),function(item){return _c('tr',{key:item.clientName},[_c('td',[_vm._v(_vm._s(item.clientName))]),_c('td',[_vm._v(_vm._s(item.pricePhase))]),_c('td',[_vm._v(_vm._s(item.rankingPhase))]),_c('td',[_vm._v(_vm._s(item.notStarted))]),_c('td',{class:item.farAhead > 0 ? 'red-text font-weight-bold' : ''},[_vm._v(\" \"+_vm._s(item.farAhead)+\" \")]),_c('td',{class:item.farBack > 0 ? 'red-text font-weight-bold' : ''},[_vm._v(\" \"+_vm._s(item.farBack)+\" \")])])}),_c('tr',{staticClass:\"font-weight-bold\"},[_c('td',[_vm._v(\"Totalt\")]),_c('td',[_vm._v(_vm._s(_vm.totalPricePhase))]),_c('td',[_vm._v(_vm._s(_vm.totalRankingPhase))]),_c('td',[_vm._v(_vm._s(_vm.totalNotStarted))]),_c('td',[_vm._v(_vm._s(_vm.totalFarAhead))]),_c('td',[_vm._v(_vm._s(_vm.totalFarBack))])])],2)]},proxy:true}])})]},proxy:true}])}),_c('SearchCard',{staticClass:\"medium-margin-top\",attrs:{\"title\":\"Lass i olika status senaste 30 dagarna\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Client\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Ordered\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"MissingAgreement\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Booked\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Loaded\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Delivered\"))+\" \")])])]),_c('tbody',[_vm._l((_vm.loadStatusInfo),function(item){return _c('tr',{key:item.clientName},[_c('td',[_vm._v(_vm._s(item.clientName))]),_c('td',{class:{ clickable: item.ordered.length },on:{\"click\":function($event){_vm.loadsBeingViewed = item.ordered}}},[_vm._v(\" \"+_vm._s(item.ordered.length)+\" \")]),_c('td',{class:{\n clickable: item.missingAgreement.length,\n 'red-text font-weight-bold': item.missingAgreement.length\n },on:{\"click\":function($event){_vm.loadsBeingViewed = item.missingAgreement}}},[_vm._v(\" \"+_vm._s(item.missingAgreement.length)+\" \")]),_c('td',{class:{ clickable: item.booked.length },on:{\"click\":function($event){_vm.loadsBeingViewed = item.booked}}},[_vm._v(\" \"+_vm._s(item.booked.length)+\" \")]),_c('td',{class:{ clickable: item.loaded.length },on:{\"click\":function($event){_vm.loadsBeingViewed = item.loaded}}},[_vm._v(\" \"+_vm._s(item.loaded.length)+\" \")]),_c('td',{class:{ clickable: item.delivered.length },on:{\"click\":function($event){_vm.loadsBeingViewed = item.delivered}}},[_vm._v(\" \"+_vm._s(item.delivered.length)+\" \")])])}),_c('tr',{staticClass:\"font-weight-bold\"},[_c('td',[_vm._v(\"Totalt\")]),_c('td',[_vm._v(_vm._s(_vm.totalOrdered))]),_c('td',[_vm._v(_vm._s(_vm.totalMissingAgreement))]),_c('td',[_vm._v(_vm._s(_vm.totalBooked))]),_c('td',[_vm._v(_vm._s(_vm.totalLoaded))]),_c('td',[_vm._v(_vm._s(_vm.totalDelivered))])])],2)]},proxy:true}])})]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding medium-padding-left\",attrs:{\"cols\":\"6\"}},[_c('SearchCard',{attrs:{\"title\":\"Avtal och dess sluttid\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-simple-table',{attrs:{\"dense\":\"\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Client\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"CargoType\"))+\" \")]),_c('th',[_vm._v(\" 30 dagar \")]),_c('th',[_vm._v(\" Utan nytt avtal \")]),_c('th',[_vm._v(\" 90 dagar \")]),_c('th',[_vm._v(\" Utan nytt avtal \")]),_c('th',[_vm._v(\" Längre än 90 dagar \")])])]),_c('tbody',[_vm._l((_vm.agreementStatusInfo),function(item,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(item.clientName))]),_c('td',[_vm._v(_vm._s(_vm.cargoTypeName(item.cargoType)))]),_c('td',[_vm._v(_vm._s(item.endingSoon.length))]),_c('td',{class:item.endingSoonWithoutSuccessors.length > 0\n ? 'red-text font-weight-bold clickable'\n : '',on:{\"click\":function($event){item.endingSoonWithoutSuccessors.length > 0\n ? _vm.viewAgreementRoutes(item.endingSoonWithoutSuccessors)\n : undefined}}},[_vm._v(\" \"+_vm._s(item.endingSoonWithoutSuccessors.length)+\" \")]),_c('td',[_vm._v(_vm._s(item.endingSoonish.length))]),_c('td',[_vm._v(_vm._s(item.endingSoonishWithoutSuccessors.length))]),_c('td',[_vm._v(_vm._s(item.endingLater.length))])])}),_c('tr',{staticClass:\"font-weight-bold\"},[_c('td',[_vm._v(\"Totalt\")]),_c('td',[_vm._v(\"-\")]),_c('td',[_vm._v(_vm._s(_vm.totalEndingSoon))]),_c('td',[_vm._v(_vm._s(_vm.totalEndingSoonWithoutSuccessors))]),_c('td',[_vm._v(_vm._s(_vm.totalEndingSoonish))]),_c('td',[_vm._v(_vm._s(_vm.totalEndingSoonishWithoutSuccessors))]),_c('td',[_vm._v(_vm._s(_vm.totalEndingLater))])])],2)]},proxy:true}])})]},proxy:true}])})],1),_c('DashboardLoadsDialog',{attrs:{\"loads\":_vm.loadsBeingViewed},on:{\"close\":function($event){_vm.loadsBeingViewed = []}}})],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.showSnow)?_c('div',{staticClass:\"snowflakes\",attrs:{\"aria-hidden\":\"true\"}},_vm._l((_vm.numFlakes),function(i){return _c('div',{key:i,staticClass:\"snowflake\",style:((\"left: \" + (_vm.pos(i)) + \"%; animation-delay: \" + (_vm.fallDelay(i)) + \"s, \" + (_vm.shakeDelay(i)) + \"s\"))},[_vm._v(\" ❅ \")])}),0):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n methods: {\r\n pos(i: number): number {\r\n return (i / this.numFlakes) * 90 + Math.random() * 10;\r\n },\r\n fallDelay(i: number): number {\r\n return ((i % 7) + (i % 3)) * 1.3 + Math.random();\r\n },\r\n shakeDelay(i: number): number {\r\n return ((i % 9) + (i % 7) + (i % 5)) / 7.5;\r\n }\r\n },\r\n mounted() {\r\n this.showSnow = [1, 2, 11, 12].includes(\r\n CDate.now(TimeZone.Europe_Stockholm).month() + 1\r\n );\r\n },\r\n data: (): { numFlakes: number; showSnow: boolean } => ({\r\n numFlakes: 43,\r\n showSnow: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Snow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Snow.vue?vue&type=template&id=63e6bbd4&\"\nimport script from \"./Snow.vue?vue&type=script&lang=ts&\"\nexport * from \"./Snow.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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":\"Lass\",\"width\":1600},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.sortedRows,\"height\":_vm.tableHeight,\"options\":_vm.tableOptions,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [100, 500, -1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.loadStatus\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'loadStatus' },\"placeholder\":\"Status\"},model:{value:(_vm.filters.loadStatus),callback:function ($$v) {_vm.$set(_vm.filters, \"loadStatus\", $$v)},expression:\"filters.loadStatus\"}})]},proxy:true},{key:\"filter.loadId\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Id\"},model:{value:(_vm.filters.loadId),callback:function ($$v) {_vm.$set(_vm.filters, \"loadId\", $$v)},expression:\"filters.loadId\"}})]},proxy:true},{key:\"filter.transportNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"TrpNo\"},model:{value:(_vm.filters.transportNo),callback:function ($$v) {_vm.$set(_vm.filters, \"transportNo\", $$v)},expression:\"filters.transportNo\"}})]},proxy:true},{key:\"filter.clientName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Actor')},model:{value:(_vm.filters.clientName),callback:function ($$v) {_vm.$set(_vm.filters, \"clientName\", $$v)},expression:\"filters.clientName\"}})]},proxy:true},{key:\"filter.truckType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'truckType' },\"placeholder\":\"Status\"},model:{value:(_vm.filters.truckType),callback:function ($$v) {_vm.$set(_vm.filters, \"truckType\", $$v)},expression:\"filters.truckType\"}})]},proxy:true}],null,true)})]}},{key:\"item.viewDetails\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn',{attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){_vm.selectedLoad = item}}},[_c('v-icon',[_vm._v(\" mdi-magnify \")])],1)]}},{key:\"item.loadStatus\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.loadStatusName(item.loadStatus)))])]}},{key:\"item.loadId\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.loadId))])]}},{key:\"item.transportNo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.transportNo))])]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.clientName))])]}},{key:\"item.truckType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.truckTypeName(item.truckType)))])]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.pickupLocation))])]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.deliveryLocation))])]}},{key:\"item.regDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.regDate))])]}},{key:\"item.pickupEarliest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.pickupEarliest))])]}},{key:\"item.deliverLatest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.deliverLatest))])]}}],null,true)})]},proxy:true},{key:\"dialogs\",fn:function(){return [_c('DialogCard',{attrs:{\"dialog\":_vm.selectedLoadAsExplorerNodeDto !== undefined,\"title\":\"Lass\",\"width\":1600},on:{\"close\":function($event){_vm.selectedLoad = undefined}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('ExplorerDialogLoadDetails',{attrs:{\"item\":_vm.selectedLoadAsExplorerNodeDto}})]},proxy:true}])})]},proxy:true}])})}\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',[(_vm.loading)?_c('Spinner',{attrs:{\"size\":120}}):_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"5\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('GeneralValues')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"8\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AgreementRoute'),\"value\":_vm.load.agreementRouteName}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckType'),\"value\":_vm.truckTypeName}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLocation'),\"value\":_vm.load.pickupLocation}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupAddress'),\"value\":_vm.load.pickupLocationAddress,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupInformation'),\"value\":_vm.load.pickupInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryLocation'),\"value\":_vm.load.deliveryLocation}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryAddress'),\"value\":_vm.load.deliveryLocationAddress,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DestinationInformation'),\"value\":_vm.load.destinationInformation,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":((_vm.$t('Distance')) + \" (km)\"),\"value\":_vm.load.distance}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Emission'),\"value\":\"För jobbig\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PublishSpeed'),\"value\":_vm.publishSpeedName}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('Dates')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('RegDate'),\"value\":_vm.load.regDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.load.pickupEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('PickupLatest'),\"value\":_vm.load.pickupLatest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('Checkbox',{attrs:{\"readonly\":\"\",\"label\":_vm.$t('RequiredPickupDate'),\"value\":_vm.load.mandatoryBookedPickupDate,\"small-font\":\"\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('BookingDate'),\"value\":_vm.load.bookingDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"value\":_vm.load.deliveryEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('DeliveryLatest'),\"value\":_vm.load.deliveryLatest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('Checkbox',{attrs:{\"readonly\":\"\",\"label\":_vm.$t('RequiredDeliveryDate'),\"value\":_vm.load.mandatoryBookedDeliveryDate,\"small-font\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('EventDates')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('AllSuppliersHaveBeenOffered'),\"value\":_vm.load.noSuppliersLeftToNotify}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('Loaded'),\"value\":_vm.load.loadedDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('BookedPickupDate'),\"value\":_vm.load.bookedPickupDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedPickupInfo'),\"value\":_vm.load.bookedPickupInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"3\"}}),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('Delivered'),\"value\":_vm.load.deliveryDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyDate',{attrs:{\"label\":_vm.$t('BookedDeliveryDate'),\"value\":_vm.load.bookedDeliveryDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookedDeliveryInfo'),\"value\":_vm.load.bookedDeliveryInfo,\"clickable\":\"\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ShippingInformation')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Client')},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":_vm.$t('ActorInformation'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewActor(_vm.load.clientId)}}})]},proxy:true}]),model:{value:(_vm.load.clientName),callback:function ($$v) {_vm.$set(_vm.load, \"clientName\", $$v)},expression:\"load.clientName\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Supplier')},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.load.supplierId)?_c('InfoTooltip',{attrs:{\"text\":_vm.$t('ActorInformation'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewActor(_vm.load.supplierId)}}}):_vm._e()]},proxy:true}]),model:{value:(_vm.load.supplierName),callback:function ($$v) {_vm.$set(_vm.load, \"supplierName\", $$v)},expression:\"load.supplierName\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Customer')},scopedSlots:_vm._u([{key:\"extra-info\",fn:function(){return [(_vm.load.customerId)?_c('InfoTooltip',{attrs:{\"text\":_vm.$t('ActorInformation'),\"icon\":\"mdi-information-outline\",\"color\":\"cyan\",\"small\":\"\"},on:{\"click\":function($event){return _vm.viewActor(_vm.load.customerId)}}}):_vm._e()]},proxy:true}]),model:{value:(_vm.load.customerName),callback:function ($$v) {_vm.$set(_vm.load, \"customerName\", $$v)},expression:\"load.customerName\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TransportNo')},model:{value:(_vm.load.transportNo),callback:function ($$v) {_vm.$set(_vm.load, \"transportNo\", $$v)},expression:\"load.transportNo\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Unit')},model:{value:(_vm.load.unit),callback:function ($$v) {_vm.$set(_vm.load, \"unit\", $$v)},expression:\"load.unit\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('ReferenceNo')},model:{value:(_vm.load.referenceNo),callback:function ($$v) {_vm.$set(_vm.load, \"referenceNo\", $$v)},expression:\"load.referenceNo\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('ConsignmentNote')},model:{value:(_vm.load.consignmentNote),callback:function ($$v) {_vm.$set(_vm.load, \"consignmentNote\", $$v)},expression:\"load.consignmentNote\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Note'),\"clickable\":\"\"},model:{value:(_vm.load.note),callback:function ($$v) {_vm.$set(_vm.load, \"note\", $$v)},expression:\"load.note\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckNo')},model:{value:(_vm.load.truckNo),callback:function ($$v) {_vm.$set(_vm.load, \"truckNo\", $$v)},expression:\"load.truckNo\"}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadID')},model:{value:(_vm.item.id),callback:function ($$v) {_vm.$set(_vm.item, \"id\", $$v)},expression:\"item.id\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadOrderNo')},model:{value:(_vm.load.loadOrderNo),callback:function ($$v) {_vm.$set(_vm.load, \"loadOrderNo\", $$v)},expression:\"load.loadOrderNo\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingNo')},model:{value:(_vm.load.bookingNo),callback:function ($$v) {_vm.$set(_vm.load, \"bookingNo\", $$v)},expression:\"load.bookingNo\"}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('ContainerInformation')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.load.terminalName,\"label\":_vm.$t('Terminal')}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.load.blno,\"label\":_vm.$t('BLNo')}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.load.incoterms,\"label\":_vm.$t('Incoterms')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.load.kncurrency,\"label\":_vm.$t('KNCurrency')}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.load.knvalue,\"label\":_vm.$t('KNValue')}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.load.knproductCode,\"label\":_vm.$t('KNProductCode')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"light\":\"\",\"text\":_vm.$t('MachineTransport')}})],1),_c('v-col',{staticClass:\"medium-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('EscortCarPriceKM')},model:{value:(_vm.load.escortCarPrice),callback:function ($$v) {_vm.$set(_vm.load, \"escortCarPrice\", $$v)},expression:\"load.escortCarPrice\"}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('VTLPrice')},model:{value:(_vm.load.vtlPrice),callback:function ($$v) {_vm.$set(_vm.load, \"vtlPrice\", $$v)},expression:\"load.vtlPrice\"}})],1)],1)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"4\"}},[_c('v-row',{staticClass:\"background-pale\"},[_c('v-col',{staticClass:\"no-padding-top no-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Price')}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"LassId\",\"value\":_vm.priceRow.loadId}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"PriceRowId\",\"value\":_vm.priceRow.priceRowId}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Valuta\",\"value\":_vm.currencyName(_vm.priceRow.currency)}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Baspris\"},model:{value:(_vm.priceRow.basePrice),callback:function ($$v) {_vm.$set(_vm.priceRow, \"basePrice\", $$v)},expression:\"priceRow.basePrice\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Fraktpris\",\"value\":_vm.priceRow.freightPrice}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Fakturapris\",\"value\":_vm.priceRow.invoicePrice}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Otherprice\",\"value\":_vm.priceRow.otherPrice}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Bokningsavgift\",\"value\":_vm.priceRow.bookingFee}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Indexpris\",\"value\":_vm.money(_vm.priceRow.indexPrice, 2)}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Basindexdatum\",\"value\":_vm.priceRow.baseIndexDate}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Indexdatum\",\"value\":_vm.priceRow.indexDate}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Index\",\"value\":_vm.percentage(_vm.priceRow.indexFactor - 1, 2)}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Stoppris (per stopp)\"},model:{value:(_vm.priceRow.stopPrice),callback:function ($$v) {_vm.$set(_vm.priceRow, \"stopPrice\", $$v)},expression:\"priceRow.stopPrice\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Antal extrastopp\",\"value\":_vm.priceRow.numExtraStops}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Avstånd\",\"value\":((_vm.priceRow.distance) + \" km\")}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"ServiceFee/BL-avgift\"},model:{value:(_vm.priceRow.serviceFee),callback:function ($$v) {_vm.$set(_vm.priceRow, \"serviceFee\", $$v)},expression:\"priceRow.serviceFee\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Containrar\",\"value\":_vm.priceRow.numContainers}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Senast ändrad\",\"value\":_vm.priceRow.alterDate}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Initial avgift\",\"value\":_vm.priceRow.initialFee}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"VTL\",\"value\":_vm.priceRow.vtlPrice}})],1),_c('v-col',{staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Escort car\",\"value\":_vm.priceRow.escortCarPrice}})],1),_c('v-col',{staticClass:\"no-padding-top no-padding-left small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Suppliers')}})],1),_c('v-col',{staticClass:\"no-padding-top small-padding-left\",attrs:{\"cols\":\"12\"}},[_c('v-simple-table',{attrs:{\"fixed-header\":\"\"}},[_c('thead',[_c('tr',[(_vm.isStatusOrdered)?_c('th'):_vm._e(),_c('th',[_vm._v(\" Rank \")]),_c('th',[_vm._v(\" Namn (id) \")]),_c('th',[_vm._v(\" Fakturapris \")])])]),_c('tbody',_vm._l((_vm.publishInfo),function(p){return _c('tr',{key:p.supplierId},[(_vm.isStatusOrdered)?_c('td',[_c('v-icon',{attrs:{\"color\":p.visible ? 'success darken-1' : 'grey darken-2'}},[_vm._v(\" \"+_vm._s(p.visible ? \"mdi-eye\" : \"mdi-eye-off\")+\" \")])],1):_vm._e(),_c('td',[_vm._v(\" \"+_vm._s(p.rank)+\" \")]),_c('td',[_vm._v(_vm._s(p.supplierName)+\" (\"+_vm._s(p.supplierId)+\")\")]),_c('td',[_vm._v(\" \"+_vm._s(p.invoicePrice)+\" \")])])}),0)])],1)],1)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":_vm.$t('Deviations')}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeviationCause'),\"value\":_vm.deviationCauseName}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeviationCause'),\"value\":_vm.load.deviationDesc}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('OtherPriceCause'),\"value\":_vm.otherPriceCauseName}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('OtherPriceCause'),\"value\":_vm.load.otherPriceDesc}})],1),_c('v-col',{staticClass:\"small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":\"Fler hämtorter\"}})],1),_vm._l((_vm.load.subPickupLocations || []),function(loc){return _c('v-col',{key:loc,staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(loc)+\" \")])}),(!(_vm.load.subPickupLocations || []).length)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Inga fler hämtorter \")]):_vm._e(),_c('v-col',{staticClass:\"small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":\"Fler leveransorter\"}})],1),_vm._l((_vm.load.subDeliveryLocations || []),function(loc){return _c('v-col',{key:loc,staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(loc)+\" \")])}),(!(_vm.load.subDeliveryLocations || []).length)?_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Inga fler leveransorter \")]):_vm._e(),_c('v-col',{staticClass:\"small-margin-top\",attrs:{\"cols\":\"12\"}},[_c('GreyTitle',{attrs:{\"text\":\"Övrigt\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('SpecialRequirements'),\"value\":_vm.load.specialRequirements}})],1)],2)],1)],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('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"mobile-breakpoint\":0,\"loading\":_vm.loading,\"items\":_vm.filteredActors,\"height\":_vm.tableHeight,\"item-key\":\"actorId\",\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [50],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"sort-by\":\"actorName\",\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.actorName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.actorNameFilter),callback:function ($$v) {_vm.actorNameFilter=$$v},expression:\"actorNameFilter\"}})]},proxy:true},{key:\"filter.allUsersDisabled\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'lockStatus' }},model:{value:(_vm.disabledFilter),callback:function ($$v) {_vm.disabledFilter=$$v},expression:\"disabledFilter\"}})]},proxy:true},{key:\"filter.active\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'activity' },\"placeholder\":_vm.$t('Status')},model:{value:(_vm.activeFilter),callback:function ($$v) {_vm.activeFilter=$$v},expression:\"activeFilter\"}})]},proxy:true},{key:\"filter.cargoTypes\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'cargoType' },\"placeholder\":_vm.$t('CargoType')},model:{value:(_vm.cargoTypeFilter),callback:function ($$v) {_vm.cargoTypeFilter=$$v},expression:\"cargoTypeFilter\"}})]},proxy:true},{key:\"filter.actorType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'actorType' },\"placeholder\":_vm.$t('ActorType')},model:{value:(_vm.actorTypeFilter),callback:function ($$v) {_vm.actorTypeFilter=$$v},expression:\"actorTypeFilter\"}})]},proxy:true},{key:\"filter.country\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'country' },\"placeholder\":_vm.$t('Country')},model:{value:(_vm.countryFilter),callback:function ($$v) {_vm.countryFilter=$$v},expression:\"countryFilter\"}})]},proxy:true},{key:\"filter.users\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Namn/Email\"},model:{value:(_vm.userFilter),callback:function ($$v) {_vm.userFilter=$$v},expression:\"userFilter\"}})]},proxy:true},{key:\"filter.mainContactName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Sök\"},model:{value:(_vm.mainContactName),callback:function ($$v) {_vm.mainContactName=$$v},expression:\"mainContactName\"}})]},proxy:true},{key:\"filter.mainContactEmail\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Sök\"},model:{value:(_vm.mainContactEmail),callback:function ($$v) {_vm.mainContactEmail=$$v},expression:\"mainContactEmail\"}})]},proxy:true},{key:\"filter.mainContactPhone\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Sök\"},model:{value:(_vm.mainContactPhone),callback:function ($$v) {_vm.mainContactPhone=$$v},expression:\"mainContactPhone\"}})]},proxy:true}],null,true)})]}},{key:\"item.edit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"dont-render-newlines\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"small-margin-right\",attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.openEditDialog(item.actorId)}}},on),[_vm._v(\" mdi-pencil \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Edit\")))])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"small-margin-right\",attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.openEditUsersDialog(item.actorId)}}},on),[_vm._v(\" mdi-account-edit-outline \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"EditUser\")))])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"20\",\"color\":item.invoiceInfos.length > 0 ? 'black' : ''},on:{\"click\":function($event){return _vm.openInvoiceDialog(item.actorId)}}},on),[_vm._v(\" mdi-numeric-\"+_vm._s(item.invoiceInfos.length)+\"-circle-outline \")])]}}],null,true)},[_c('span',[_vm._v(\"Faktureringsinformation\")])])],1)]}},{key:\"item.regDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.regDate,\"width\":\"120\"}})]}},{key:\"item.active\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:item.active ? 'green-text' : 'red-text'},[_vm._v(_vm._s(item.active ? \"Aktiv\" : \"Inaktiv\"))])]}},{key:\"item.allUsersDisabled\",fn:function(ref){\n var item = ref.item;\nreturn [(item.allUsersDisabled)?_c('v-icon',[_vm._v(\"mdi-lock-outline\")]):_vm._e()]}},{key:\"item.cargoTypes\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.cargoTypesText(item.cargoTypes))+\" \")]}},{key:\"item.actorType\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.actorTypeName(item.actorType))+\" \")]}},{key:\"item.country\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.isoName(item.country))+\" \")]}},{key:\"item.users\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({},on),[_vm._v(_vm._s(_vm.numUsers(item)))])]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.filteredUserDescriptions(item).join(\"\\n\"))+\" \")])]}},{key:\"item.mainContactName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.mainContactName,\"width\":\"120\"}})]}}],null,true)}),(_vm.actor !== undefined)?_c('ActorEditDialog',{attrs:{\"actorFromList\":_vm.actor,\"dialog\":_vm.dialog === _vm.ActorListDialogType.ActorDialog},on:{\"close\":_vm.close}}):_vm._e(),(_vm.actor !== undefined)?_c('UsersDialog',{attrs:{\"actor\":_vm.actor,\"dialog\":_vm.dialog === _vm.ActorListDialogType.UsersDialog},on:{\"close\":_vm.close}}):_vm._e(),(_vm.actor !== undefined)?_c('InvoiceDialog',{attrs:{\"actor\":_vm.actor,\"dialog\":_vm.dialog === _vm.ActorListDialogType.InvoiceDialog},on:{\"close\":_vm.close}}):_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('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":!_vm.actor,\"width\":1000},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.actor !== undefined && _vm.actorOriginal !== undefined)?_c('ActorEditForm',{attrs:{\"actor\":_vm.actor,\"actorOriginal\":_vm.actorOriginal},on:{\"validChanges\":function (v) { return (_vm.validChanges = v); }}}):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[(_vm.actorFromList.active)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"loading\":_vm.saveInProgress,\"color\":\"warning\"},on:{\"click\":_vm.lockUsers}},on),[_vm._v(\" \"+_vm._s(_vm.actorFromList.allUsersDisabled ? \"Lås upp temporärt låsta användare\" : \"Inaktivera alla användare temporärt\")+\" \")])]}}],null,false,661799505)},[_c('span',[_vm._v(\" Inaktivera alla användare för aktören. Används när aktören fortfarande ska vara med i C-Load, men tillsvidare inte ska kunna logga in. \")])])],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"loading\":_vm.saveInProgress,\"color\":\"error\"},on:{\"click\":function($event){return _vm.toggleActorEnabled(!_vm.actorFromList.active)}}},on),[_vm._v(\" \"+_vm._s(_vm.actorFromList.active ? \"Inaktivera aktör\" : \"Aktivera aktör\")+\" \")])]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.actorFromList.active ? \"Inaktivera aktören då denna inte längre ska vara med i C-Load\" : \"Aktivera aktören då denna nu ska vara med i C-Load (igen).\")+\" \")])])],1),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.validChanges,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.editActor}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{ref:\"editForm\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.regDate,\"label\":\"Registrerad\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.lastActive,\"label\":\"Senaste användaraktivitet\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.activatedDate,\"label\":\"Aktiverades senast\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.actor.inactivatedDate,\"label\":\"Inaktiverades senast\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Namn\",\"rules\":[function (v) { return !!v || 'Obligatorisk'; }],\"asterisk\":\"\"},model:{value:(_vm.actor.name),callback:function ($$v) {_vm.$set(_vm.actor, \"name\", $$v)},expression:\"actor.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Organisationsnummer/VAT\",\"rules\":[function (v) { return _vm.orgNoRules(v); }],\"asterisk\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":\"Får ej innehålla mellanslag eller bindestreck. Utländska OrgNo ska börja på landets ISO-kod (ex. DE123456789)\",\"icon\":\"mdi-help-circle-outline\"}})]},proxy:true}]),model:{value:(_vm.actor.orgNo),callback:function ($$v) {_vm.$set(_vm.actor, \"orgNo\", $$v)},expression:\"actor.orgNo\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Kontraktadress\",\"disabled\":!_vm.isSupplier,\"rules\":[function (v) { return !_vm.isSupplier || _vm.contractAddressRules(v); }],\"asterisk\":_vm.isSupplier},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":\"ex. Storgatan 7, 17547 JÄRFÄLLA\",\"icon\":\"mdi-help-circle-outline\"}})]},proxy:true}]),model:{value:(_vm.actor.contractAddress),callback:function ($$v) {_vm.$set(_vm.actor, \"contractAddress\", $$v)},expression:\"actor.contractAddress\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.countries,\"rules\":[function (v) { return !!v || 'Obligatorisk'; }],\"asterisk\":\"\"},on:{\"input\":_vm.fetchTimeZones},model:{value:(_vm.actor.country),callback:function ($$v) {_vm.$set(_vm.actor, \"country\", $$v)},expression:\"actor.country\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"disabled\":!_vm.isSupplier,\"label\":_vm.$t('ContractManagerName'),\"rules\":[function (v) { return !_vm.isSupplier || !!v || 'Obligatorisk'; }],\"asterisk\":_vm.isSupplier},model:{value:(_vm.actor.contractManager),callback:function ($$v) {_vm.$set(_vm.actor, \"contractManager\", $$v)},expression:\"actor.contractManager\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"items\":_vm.timeZones,\"label\":_vm.$t('TimeZone'),\"rules\":[function (v) { return !!v || 'Obligatorisk'; }],\"custom-item\":\"\"},on:{\"input\":function (v) { return (_vm.actor.timeZone = v.timeZone); }},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.name)+\" \")]}}]),model:{value:(_vm.actorTimeZone),callback:function ($$v) {_vm.actorTimeZone=$$v},expression:\"actorTimeZone\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('MainContact'),\"rules\":[function (v) { return _vm.isCustomer || !!v || 'Obligatorisk'; }],\"asterisk\":!_vm.isCustomer},model:{value:(_vm.actor.mainContact),callback:function ($$v) {_vm.$set(_vm.actor, \"mainContact\", $$v)},expression:\"actor.mainContact\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"disabled\":!_vm.isSupplier,\"label\":_vm.$t('ContractManagerPhone'),\"rules\":[function (v) { return !_vm.isSupplier || !!v || 'Obligatorisk'; }],\"asterisk\":_vm.isSupplier},model:{value:(_vm.actor.contractManagerPhone),callback:function ($$v) {_vm.$set(_vm.actor, \"contractManagerPhone\", $$v)},expression:\"actor.contractManagerPhone\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('MainContactPhone'),\"rules\":[function (v) { return _vm.isCustomer || !!v || 'Obligatorisk'; }],\"asterisk\":!_vm.isCustomer},model:{value:(_vm.actor.mainContactPhone),callback:function ($$v) {_vm.$set(_vm.actor, \"mainContactPhone\", $$v)},expression:\"actor.mainContactPhone\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"disabled\":!_vm.isSupplier,\"label\":_vm.$t('ContractManagerEmail'),\"rules\":[function (v) { return !_vm.isSupplier || _vm.validEmail(v); }],\"asterisk\":_vm.isSupplier},model:{value:(_vm.actor.contractManagerMail),callback:function ($$v) {_vm.$set(_vm.actor, \"contractManagerMail\", $$v)},expression:\"actor.contractManagerMail\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('MainContactEmail'),\"rules\":[function (v) { return (!v && _vm.isCustomer) || _vm.validEmail(v); }],\"asterisk\":!_vm.isCustomer},model:{value:(_vm.actor.mainContactEmail),callback:function ($$v) {_vm.$set(_vm.actor, \"mainContactEmail\", $$v)},expression:\"actor.mainContactEmail\"}})],1),(_vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DropdownMulti',{attrs:{\"label\":\"Fraktsätt\",\"items\":_vm.cargoTypes,\"rules\":[function (v) { return _vm.cargoTypeRules(v); }],\"asterisk\":\"\"},model:{value:(_vm.actor.cargoTypes),callback:function ($$v) {_vm.$set(_vm.actor, \"cargoTypes\", $$v)},expression:\"actor.cargoTypes\"}})],1):_vm._e(),(_vm.isCustomer)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('DropdownMulti',{attrs:{\"label\":\"Kopplade beställare\",\"items\":_vm.clients,\"rules\":[function (v) { return v.length > 0 || 'Obligatorisk'; }],\"asterisk\":\"\"},model:{value:(_vm.actor.connectedClients),callback:function ($$v) {_vm.$set(_vm.actor, \"connectedClients\", $$v)},expression:\"actor.connectedClients\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":\"Intern notering\",\"rows\":4},model:{value:(_vm.actor.internalNote),callback:function ($$v) {_vm.$set(_vm.actor, \"internalNote\", $$v)},expression:\"actor.internalNote\"}})],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorDto,\r\n ActorOrgNoDto,\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n CargoType,\r\n RepositoryClient,\r\n RepositoryDto,\r\n TimeZoneDto\r\n} from \"@/scripts/cld.api\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport objectsEqual from \"@/scripts/misc/objectsEqual\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { validEmail } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n actor: ActorDto,\r\n actorOriginal: Object as () => ActorDto | undefined\r\n },\r\n components: {\r\n TextSingle,\r\n TextMulti,\r\n Dropdown,\r\n DropdownMulti,\r\n Autocomplete,\r\n ReadOnlyText,\r\n InfoTooltip\r\n },\r\n mounted() {\r\n this.fetchCountries();\r\n this.fetchClients();\r\n this.fetchOrgNumbers();\r\n this.fetchTimeZones();\r\n },\r\n watch: {\r\n validChanges: {\r\n handler() {\r\n this.$emit(\"validChanges\", this.validChanges);\r\n },\r\n immediate: true\r\n },\r\n actor: {\r\n handler() {\r\n //Validera direkt för att fel sedan längesen ska highlightas\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.editForm;\r\n form.validate();\r\n });\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n isSupplier(): boolean {\r\n return this.actor.actorType === ActorType.Supplier;\r\n },\r\n isCustomer(): boolean {\r\n return this.actor.actorType === ActorType.Customer;\r\n },\r\n validChanges(): boolean {\r\n return !objectsEqual(this.actor, this.actorOriginal) && this.valid;\r\n }\r\n },\r\n methods: {\r\n validEmail: validEmail,\r\n orgNoRules(orgNo: string | undefined): string | boolean {\r\n if (!orgNo || !/^[A-Z0-9]+$/.test(orgNo)) {\r\n return \"Felaktigt format\";\r\n }\r\n const match = this.orgNumbers.find(\r\n n =>\r\n n.actorId !== this.actor.id &&\r\n n.orgNo &&\r\n n.orgNo.toLocaleUpperCase() === orgNo\r\n );\r\n if (match) {\r\n return `För likt ${match.orgNo} (${match.actorName})`;\r\n }\r\n return true;\r\n },\r\n contractAddressRules(a: string): string | boolean {\r\n if (!a) {\r\n return \"Obligatorisk\";\r\n }\r\n const parts = a.split(\",\");\r\n if (parts.length !== 2) {\r\n return \"Ska innehålla ett komma\";\r\n }\r\n if (parts.some(p => p.length <= 3)) {\r\n return \"Nånting är för kort\";\r\n }\r\n if (!parts[1].startsWith(\" \")) {\r\n return \"Ska ha mellanslag efter komma\";\r\n }\r\n if (\r\n !parts[1].substring(1).includes(\" \") ||\r\n !parts[1]\r\n .substring(1)\r\n .split(\" \")\r\n .every(p => p.length > 0)\r\n ) {\r\n return \"Ska innehålla adress, postnummer och postort\";\r\n }\r\n if (parts[1].toLocaleUpperCase() !== parts[1]) {\r\n return \"Postkod och postort får inte ha små bokstäver\";\r\n }\r\n return true;\r\n },\r\n cargoTypeRules(cargoTypes: CargoType[]): boolean | string {\r\n if (cargoTypes.length === 0) {\r\n return \"Obligatorisk\";\r\n } else if (\r\n this.actorOriginal &&\r\n this.actorOriginal.cargoTypes!.some(c => !cargoTypes.includes(c))\r\n ) {\r\n return \"Fraktsätt får inte tas bort\";\r\n }\r\n return true;\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchTimeZones() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .ianaTimeZones(this.actor.country)\r\n .then(res => {\r\n this.timeZones = res;\r\n if (this.actor.timeZone) {\r\n this.actorTimeZone = this.timeZones.find(\r\n tz => tz.timeZone === this.actor.timeZone\r\n );\r\n } else if (this.timeZones.length === 1) {\r\n this.actorTimeZone = this.timeZones[0];\r\n this.actor.timeZone = this.actorTimeZone.timeZone;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchClients() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientsForSupportAdmin(false)\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchOrgNumbers() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .orgNo()\r\n .then(res => {\r\n this.orgNumbers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n countries: RepositoryDto[];\r\n cargoTypes: RepositoryDto[];\r\n clients: RepositoryDto[];\r\n orgNumbers: ActorOrgNoDto[];\r\n timeZones: TimeZoneDto[];\r\n actorTimeZone: TimeZoneDto | undefined;\r\n } => ({\r\n valid: false,\r\n countries: [],\r\n cargoTypes: cargoTypes(),\r\n clients: [],\r\n orgNumbers: [],\r\n timeZones: [],\r\n actorTimeZone: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorEditForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorEditForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorEditForm.vue?vue&type=template&id=8c4fdec0&\"\nimport script from \"./ActorEditForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorEditForm.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VForm,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport ActorEditForm from \"@/components/support-admin/actor/ActorEditForm.vue\";\r\nimport {\r\n ActorDto,\r\n SupportAdminActorListDto,\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n ActorEditForm\r\n },\r\n props: {\r\n actorFromList: SupportAdminActorListDto,\r\n dialog: Boolean\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.init();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n return (\r\n this.$t(\"AdminActor\").toString() +\r\n \" - \" +\r\n this.actorFromList.actorName +\r\n \" (\" +\r\n this.actorFromList.actorId +\r\n \")\"\r\n );\r\n }\r\n },\r\n methods: {\r\n init() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .actorForSupportAdmin(this.actorFromList.actorId)\r\n .then(res => {\r\n this.actor = res;\r\n this.actorOriginal = this.copy(this.actor);\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n editActor() {\r\n this.saveInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .editForSupportAdmin(this.actor!)\r\n .then(() => {\r\n pushNotification(\r\n this.actorFromList.actorName + \" har sparats.\",\r\n \"mdi-check-circle\"\r\n );\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.saveInProgress = false;\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n toggleActorEnabled(enabled: boolean) {\r\n this.saveInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .enable(this.actorFromList.actorId, enabled)\r\n .then(() => {\r\n pushNotification(\r\n this.actorFromList.actorName +\r\n \" har \" +\r\n (enabled ? \"aktiverats.\" : \"inaktiverats.\"),\r\n \"mdi-check-circle\"\r\n );\r\n if (enabled && this.actor!.actorType === ActorType.Supplier) {\r\n pushNotification(\r\n 'Klicka här för att komma till \"Lägg till i pågående upphandling\"',\r\n \"mdi-check-circle\",\r\n \"/support-admin/add-to-procurements\",\r\n true\r\n );\r\n }\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.saveInProgress = false;\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n lockUsers() {\r\n this.saveInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .lockUsers(\r\n this.actorFromList.actorId,\r\n !this.actorFromList.allUsersDisabled\r\n )\r\n .then(() => {\r\n pushNotification(\r\n this.actorFromList.actorName + \"s användare har låsts.\",\r\n \"mdi-check-circle\"\r\n );\r\n this.saveInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.saveInProgress = false;\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n copy(a: ActorDto): ActorDto {\r\n return new ActorDto({\r\n id: a.id,\r\n name: a.name,\r\n orgNo: a.orgNo,\r\n regDate: a.regDate,\r\n activatedDate: a.activatedDate,\r\n inactivatedDate: a.inactivatedDate,\r\n lastActive: a.lastActive,\r\n mainContact: a.mainContact,\r\n mainContactEmail: a.mainContactEmail,\r\n mainContactPhone: a.mainContactPhone,\r\n contractManager: a.contractManager,\r\n contractManagerMail: a.contractManagerMail,\r\n contractManagerPhone: a.contractManagerPhone,\r\n contractAddress: a.contractAddress,\r\n country: a.country,\r\n timeZone: a.timeZone,\r\n cargoTypes: [...a.cargoTypes!],\r\n active: a.active,\r\n internalNote: a.internalNote,\r\n actorType: a.actorType,\r\n connectedClients: [...a.connectedClients!]\r\n });\r\n }\r\n },\r\n data: (): {\r\n actor: ActorDto | undefined;\r\n actorOriginal: ActorDto | undefined;\r\n saveInProgress: boolean;\r\n validChanges: boolean;\r\n } => ({\r\n actor: undefined,\r\n actorOriginal: undefined,\r\n saveInProgress: false,\r\n validChanges: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorEditDialog.vue?vue&type=template&id=c34677fc&\"\nimport script from \"./ActorEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorEditDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"width\":900,\"loading\":!_vm.actor},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-list',[_c('v-list-item-group',{attrs:{\"color\":\"cyan\"},model:{value:(_vm.selectedIndex),callback:function ($$v) {_vm.selectedIndex=$$v},expression:\"selectedIndex\"}},_vm._l((_vm.actor.invoiceInfos || []),function(i,index){return _c('v-list-item',{key:index},[_c('v-list-item-content',[_vm._v(\" \"+_vm._s(i.id ? i.customerNoAffe : \"Fyll i info och spara den nya raden\")+\" \")])],1)}),1)],1),(_vm.createEnabled)?_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"tiny-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\"},on:{\"click\":_vm.create}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Lägg till rad \")],1)],1)],1):_vm._e(),_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.info)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Kundnummer Affe\",\"rules\":[function (v) { return (!!v && v.length === 5) || '5 Siffror!'; }]},model:{value:(_vm.info.customerNoAffe),callback:function ($$v) {_vm.$set(_vm.info, \"customerNoAffe\", $$v)},expression:\"info.customerNoAffe\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Projektnummer Affe\",\"rules\":[function (v) { return (!!v && v.length === 4) || '4 Siffror!'; }]},model:{value:(_vm.info.projectNoAffe),callback:function ($$v) {_vm.$set(_vm.info, \"projectNoAffe\", $$v)},expression:\"info.projectNoAffe\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":\"Språk\",\"items\":_vm.cultures},model:{value:(_vm.info.culture),callback:function ($$v) {_vm.$set(_vm.info, \"culture\", $$v)},expression:\"info.culture\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":\"Valuta\",\"items\":_vm.currencies},model:{value:(_vm.info.currency),callback:function ($$v) {_vm.$set(_vm.info, \"currency\", $$v)},expression:\"info.currency\"}})],1)],1):_vm._e()],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"loading\":_vm.actionInProgress,\"color\":\"error\"},on:{\"click\":function($event){return _vm.toggleActorEnabled(!_vm.actor.active)}}},on),[_vm._v(\" \"+_vm._s(_vm.actor.active ? \"Inaktivera Aktör\" : \"Aktivera Aktör\")+\" \")])]}}])},[_c('span',[_vm._v(\" \"+_vm._s(_vm.actor.active ? \"Inaktivera aktören då denna inte längre ska vara med i C-Load\" : \"Aktivera aktören då denna nu ska vara med i C-Load (igen).\")+\" \")])])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.valid || !_vm.info,\"loading\":_vm.actionInProgress,\"color\":\"success\"},on:{\"click\":_vm.createInvoiceInformation}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport {\r\n ActorsClient,\r\n ApiConfiguration,\r\n EditInvoiceInformationDto,\r\n Culture,\r\n Currency,\r\n RepositoryDto,\r\n SupportAdminActorListDto,\r\n ActorType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport { cultures, currencies } from \"@/scripts/misc/enumLists\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n TextSingle,\r\n Dropdown\r\n },\r\n props: {\r\n actor: SupportAdminActorListDto,\r\n dialog: Boolean\r\n },\r\n computed: {\r\n title(): String {\r\n return (\r\n \"Skapa faktureringsinformation\" +\r\n \" - \" +\r\n this.actor.actorName +\r\n \" (\" +\r\n this.actor.actorId +\r\n \")\"\r\n );\r\n },\r\n info(): EditInvoiceInformationDto {\r\n return this.actor.invoiceInfos![this.selectedIndex];\r\n },\r\n createEnabled(): boolean {\r\n return (\r\n [ActorType.Client, ActorType.Supplier].includes(this.actor.actorType) &&\r\n this.actor.invoiceInfos!.every(x => x.id !== 0)\r\n );\r\n }\r\n },\r\n methods: {\r\n create() {\r\n this.actor.invoiceInfos!.push(\r\n new EditInvoiceInformationDto({\r\n id: 0,\r\n actorId: this.actor.actorId,\r\n customerNoAffe: undefined,\r\n projectNoAffe: undefined,\r\n culture: Culture.Swedish,\r\n currency: Currency.SEK\r\n })\r\n );\r\n this.selectedIndex = this.actor.invoiceInfos!.length - 1;\r\n },\r\n createInvoiceInformation() {\r\n this.actionInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .editInvoiceInformation(this.info!)\r\n .then(() => {\r\n pushNotification(\r\n \"Faktureringsinformation skapad\",\r\n \"mdi-check-circle\"\r\n );\r\n this.actionInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n toggleActorEnabled(enabled: boolean) {\r\n this.actionInProgress = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .enable(this.actor.actorId, enabled)\r\n .then(() => {\r\n pushNotification(\r\n this.actor.actorName +\r\n \" har \" +\r\n (enabled ? \"aktiverats.\" : \"inaktiverats.\"),\r\n \"mdi-check-circle\"\r\n );\r\n if (enabled && this.actor!.actorType === ActorType.Supplier) {\r\n pushNotification(\r\n 'Klicka här för att komma till \"Lägg till i pågående upphandling\"',\r\n \"mdi-check-circle\",\r\n \"/support-admin/add-to-procurements\",\r\n true\r\n );\r\n }\r\n this.actionInProgress = false;\r\n this.close();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.actionInProgress = false;\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n actionInProgress: boolean;\r\n valid: boolean;\r\n currencies: RepositoryDto[];\r\n cultures: RepositoryDto[];\r\n selectedIndex: number;\r\n } => ({\r\n actionInProgress: false,\r\n valid: false,\r\n currencies: currencies(),\r\n cultures: cultures(),\r\n selectedIndex: 0\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceDialog.vue?vue&type=template&id=1e260506&\"\nimport script from \"./InvoiceDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VList,VListItem,VListItemContent,VListItemGroup,VRow,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"loading\":_vm.loading,\"width\":1400},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [[_c('v-switch',{attrs:{\"label\":_vm.$t('ShowInactivated'),\"hide-details\":\"\"},model:{value:(_vm.showInactivated),callback:function ($$v) {_vm.showInactivated=$$v},expression:\"showInactivated\"}})],_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('UsersTable',{attrs:{\"users\":_vm.filteredUsers,\"selectedLoadUserId\":_vm.selectedLoadUserId},on:{\"selectUser\":function (id) { return (_vm.selectedLoadUserId = id); }}})],1),(_vm.user)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-form',{ref:\"userForm\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('UserForm',{attrs:{\"user\":_vm.user,\"actorType\":_vm.actor.actorType}})],1)],1):_vm._e()],1)]},proxy:true},{key:\"actions\",fn:function(){return [(_vm.user)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.clearConfigInProgress,\"disabled\":_vm.enableInProgress ||\n _vm.unlockInProgress ||\n _vm.resetCredentialsInProgress ||\n _vm.saveInProgress,\"color\":\"error\",\"depressed\":\"\"},on:{\"click\":_vm.clearConfigOnUser}},[_vm._v(\" Rensa inställningar \")])],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":_vm.actor.active},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-btn',{attrs:{\"loading\":_vm.enableInProgress,\"disabled\":_vm.clearConfigInProgress ||\n _vm.unlockInProgress ||\n _vm.resetCredentialsInProgress ||\n _vm.saveInProgress ||\n !_vm.actor.active,\"color\":\"warning\",\"depressed\":\"\"},on:{\"click\":_vm.toggleEnabled}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-account-cancel-outline\")]),_vm._v(\" \"+_vm._s(_vm.user && _vm.user.isEnabled ? \"Inaktivera användare\" : \"Aktivera användare\")+\" \")],1)],1)]}}],null,false,3105269349)},[_vm._v(\" Aktören är inaktiverad \")])],1),(_vm.user.lockoutEnd)?_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.unlockInProgress,\"disabled\":_vm.clearConfigInProgress ||\n _vm.enableInProgress ||\n _vm.resetCredentialsInProgress ||\n _vm.saveInProgress,\"color\":\"secondary\",\"depressed\":\"\"},on:{\"click\":_vm.unlockUser}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-lock-open-variant-outline\")]),_vm._v(\" Lås upp \")],1)],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.resetCredentialsInProgress,\"disabled\":_vm.clearConfigInProgress ||\n _vm.enableInProgress ||\n _vm.unlockInProgress ||\n _vm.saveInProgress,\"color\":\"purple lighten-3\",\"depressed\":\"\"},on:{\"click\":_vm.getResetCredentialsLink}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-link-lock\")]),_vm._v(\" Återställningslänk \")],1)],1),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.clearConfigInProgress ||\n _vm.enableInProgress ||\n _vm.unlockInProgress ||\n _vm.resetCredentialsInProgress ||\n _vm.saveInProgress,\"color\":\"btn-cyan\",\"depressed\":\"\"},on:{\"click\":function($event){_vm.notificationDialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-email-check-outline\")]),_vm._v(\" Notifieringar \")],1)],1),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.saveInProgress,\"disabled\":_vm.clearConfigInProgress ||\n _vm.enableInProgress ||\n _vm.unlockInProgress ||\n _vm.resetCredentialsInProgress,\"color\":\"success\",\"depressed\":\"\"},on:{\"click\":_vm.saveUser}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1):_vm._e()]},proxy:true},{key:\"dialogs\",fn:function(){return [(_vm.user)?_c('UserNotificationSettingsDialog',{attrs:{\"dialog\":_vm.notificationDialog,\"loadUserId\":_vm.user.loadUserId},on:{\"close\":function($event){_vm.notificationDialog = false}}}):_vm._e()]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{attrs:{\"elevation\":\"1\",\"rounded\":\"\"}},[_c('v-data-table',{attrs:{\"items\":_vm.users,\"headers\":_vm.headers,\"fixed-header\":\"\",\"disable-pagination\":\"\",\"hide-default-footer\":\"\",\"height\":\"700px\",\"item-class\":function (item) { return (item.loadUserId === _vm.selectedLoadUserId ? 'light-grey-row' : ''); }},on:{\"click:row\":function (item) { return _vm.$emit('selectUser', item.loadUserId); }},scopedSlots:_vm._u([{key:\"item.username\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"clickable\"},[_vm._v(_vm._s(item.username))])]}},{key:\"item.name\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"clickable\"},[_vm._v(_vm._s(item.name))])]}},{key:\"item.userLevel\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.userLevelName(item.userLevel))+\" \")]}},{key:\"item.icons\",fn:function(ref){\nvar item = ref.item;\nreturn [(!item.isEnabled)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"small-padding-right\",attrs:{\"size\":\"20\"}},on),[_vm._v(\" mdi-account-cancel-outline \")])]}}],null,true)},[_c('span',[_vm._v(\"Inaktiv\")])]):_vm._e(),(item.lockoutTimeLeft !== undefined)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"20\"}},on),[_vm._v(\" mdi-lock-outline \")])]}}],null,true)},[_c('span',[_vm._v(\"Låst\")])]):_vm._e()]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { UserDto } from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport { userLevelName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n users: Array as () => UserDto[],\r\n selectedLoadUserId: Number\r\n },\r\n methods: {\r\n userLevelName: userLevelName\r\n },\r\n computed: {\r\n headers(): TableHeader[] {\r\n let headers: TableHeader[] = [\r\n {\r\n value: \"username\",\r\n text: \"Username\"\r\n },\r\n {\r\n value: \"name\",\r\n text: \"Name\"\r\n },\r\n {\r\n value: \"userLevel\",\r\n text: \"Nivå\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"icons\"\r\n }\r\n ];\r\n return headers;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UsersTable.vue?vue&type=template&id=39620228&scoped=true&\"\nimport script from \"./UsersTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./UsersTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./UsersTable.vue?vue&type=style&index=0&id=39620228&scoped=true&lang=css&\"\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 \"39620228\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.user.createdDate,\"label\":\"Registrerad\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.user.lastActivityDate,\"label\":\"Senast aktiv\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.user.lockoutEnd,\"label\":\"Nuvarande utlåsning slutar\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.user.accessFailedCount,\"label\":\"Antal fel lösenord (För många låser användaren)\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.user.username,\"label\":\"Användarnamn\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Name'),\"rules\":[function (v) { return !!v || 'Obligatorisk'; }],\"asterisk\":\"\"},model:{value:(_vm.user.name),callback:function ($$v) {_vm.$set(_vm.user, \"name\", $$v)},expression:\"user.name\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Email'),\"rules\":[_vm.validEmail],\"asterisk\":\"\"},model:{value:(_vm.user.email),callback:function ($$v) {_vm.$set(_vm.user, \"email\", $$v)},expression:\"user.email\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Telefonnummer\"},model:{value:(_vm.user.mobileNo),callback:function ($$v) {_vm.$set(_vm.user, \"mobileNo\", $$v)},expression:\"user.mobileNo\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":\"Användarnivå\",\"items\":_vm.userLevels(),\"asterisk\":\"\"},model:{value:(_vm.user.userLevel),callback:function ($$v) {_vm.$set(_vm.user, \"userLevel\", $$v)},expression:\"user.userLevel\"}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"items\":_vm.cultures(),\"label\":\"Språk\",\"asterisk\":\"\"},model:{value:(_vm.user.culture),callback:function ($$v) {_vm.$set(_vm.user, \"culture\", $$v)},expression:\"user.culture\"}})],1),(_vm.actorInvoiceInformations.length > 1 && _vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('InvoiceRecipient'),\"items\":_vm.actorInvoiceInformations,\"rules\":[function (v) { return !!v || 'Obligatorisk'; }],\"clearable\":\"\",\"asterisk\":\"\"},model:{value:(_vm.user.actorInvoiceInformationId),callback:function ($$v) {_vm.$set(_vm.user, \"actorInvoiceInformationId\", $$v)},expression:\"user.actorInvoiceInformationId\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('TextMulti',{attrs:{\"label\":\"Intern notering\",\"rows\":4},model:{value:(_vm.user.internalNote),callback:function ($$v) {_vm.$set(_vm.user, \"internalNote\", $$v)},expression:\"user.internalNote\"}})],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\r\nimport Vue from \"vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport {\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n RepositoryDto,\r\n UserDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { validEmail } from \"@/scripts/misc/stringUtils\";\r\nimport { cultures, userLevels } from \"@/scripts/misc/enumLists\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n user: UserDto,\r\n actorType: Number as () => ActorType\r\n },\r\n components: {\r\n TextSingle,\r\n TextMulti,\r\n Dropdown,\r\n ReadOnlyText\r\n },\r\n computed: {\r\n isSupplier(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n }\r\n },\r\n methods: {\r\n validEmail: validEmail,\r\n userLevels: userLevels,\r\n cultures: cultures,\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchActorInvoiceInformations() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .actorInvoiceInformationForSupportAdmin(this.user.actorId)\r\n .then(res => {\r\n this.actorInvoiceInformations = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchCountries();\r\n this.fetchActorInvoiceInformations();\r\n },\r\n data: (): {\r\n countries: RepositoryDto[];\r\n actorInvoiceInformations: RepositoryDto[];\r\n } => ({\r\n countries: [],\r\n actorInvoiceInformations: []\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserForm.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserForm.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserForm.vue?vue&type=template&id=0af94145&\"\nimport script from \"./UserForm.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserForm.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":\"Notifieringar\",\"loading\":!_vm.notificationSettings,\"width\":1000},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('NotificationSettings',{attrs:{\"notificationSettings\":_vm.notificationSettings}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.saveInProgress,\"disabled\":!_vm.pendingChanges || !_vm.notificationSettings,\"color\":\"success\",\"depressed\":\"\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)]},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\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport NotificationSettings from \"@/components/web/settings/NotificationSettings.vue\";\r\nimport {\r\n ApiConfiguration,\r\n NotificationSettingsDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n NotificationSettings\r\n },\r\n props: {\r\n dialog: Boolean,\r\n loadUserId: Number\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.saveInProgress = false;\r\n this.notificationSettings = undefined;\r\n this.fetchNotificationSettings();\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n pendingChanges(): boolean {\r\n return (\r\n this.originalNotificationSettings !==\r\n JSON.stringify(this.notificationSettings)\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchNotificationSettings() {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .notificationSettings(this.loadUserId)\r\n .then(res => {\r\n this.notificationSettings = res;\r\n this.originalNotificationSettings = JSON.stringify(\r\n this.notificationSettings\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .saveNotificationSettings(this.notificationSettings!)\r\n .then(() => {\r\n pushNotification(\"Notifieringar har sparats!\", \"mdi-check-circle\");\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n notificationSettings: NotificationSettingsDto | undefined;\r\n originalNotificationSettings: string;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n notificationSettings: undefined,\r\n originalNotificationSettings: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserNotificationSettingsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserNotificationSettingsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserNotificationSettingsDialog.vue?vue&type=template&id=68d719c7&\"\nimport script from \"./UserNotificationSettingsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserNotificationSettingsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport UsersTable from \"@/components/support-admin/actor/user/UsersTable.vue\";\r\nimport UserForm from \"@/components/support-admin/actor/user/UserForm.vue\";\r\nimport UserNotificationSettingsDialog from \"@/components/support-admin/actor/user/UserNotificationSettingsDialog.vue\";\r\nimport {\r\n SupportAdminActorListDto,\r\n ApiConfiguration,\r\n UserDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog, popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { pushNotification } from \"@/scripts/misc/notifications\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n UsersTable,\r\n UserForm,\r\n UserNotificationSettingsDialog\r\n },\r\n props: {\r\n dialog: Boolean,\r\n actor: SupportAdminActorListDto\r\n },\r\n watch: {\r\n dialog: {\r\n handler() {\r\n if (this.dialog) {\r\n this.fetchUsers();\r\n }\r\n },\r\n immediate: true\r\n },\r\n filteredUsers: {\r\n handler() {\r\n if (this.filteredUsers.length === 0) {\r\n this.selectedLoadUserId = undefined;\r\n } else if (this.selectedLoadUserId === undefined) {\r\n this.selectedLoadUserId = this.filteredUsers[0]?.loadUserId;\r\n }\r\n },\r\n immediate: true\r\n },\r\n user: {\r\n handler() {\r\n if (this.user) {\r\n //Validera direkt för att fel sedan längesen ska highlightas\r\n this.$nextTick(() => {\r\n let form: any = this.$refs.userForm;\r\n form.validate();\r\n });\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n title(): String {\r\n return `Användare - ${this.actor.actorName} (${this.actor.actorId})`;\r\n },\r\n user(): UserDto | undefined {\r\n return this.users.find(u => u.loadUserId === this.selectedLoadUserId);\r\n },\r\n filteredUsers(): UserDto[] {\r\n return this.users.filter(u => this.showInactivated || u.isEnabled);\r\n }\r\n },\r\n methods: {\r\n fetchUsers() {\r\n this.loading = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .byActorId(this.actor.actorId)\r\n .then(res => {\r\n this.users = res;\r\n this.loading = false;\r\n this.$nextTick(() => {\r\n this.showInactivated = this.allUsersNotEnabled();\r\n });\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.close();\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n saveUser() {\r\n this.saveInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .edit(this.user!)\r\n .then(() => {\r\n pushNotification(\r\n this.user!.username + \" har sparats\",\r\n \"mdi-check-circle\"\r\n );\r\n this.saveInProgress = false;\r\n this.fetchUsers();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.saveInProgress = false;\r\n this.$emit(\"close\");\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n clearConfigOnUser() {\r\n this.clearConfigInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .clearConfigurations(this.user!.loadUserId)\r\n .then(() => {\r\n pushNotification(\r\n this.user!.username + \" har återställts till defaultinställningar.\",\r\n \"mdi-check-circle\"\r\n );\r\n this.clearConfigInProgress = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.clearConfigInProgress = false;\r\n this.$emit(\"close\");\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n toggleEnabled() {\r\n this.enableInProgress = true;\r\n const enable = !this.user!.isEnabled;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .enable(this.user!.loadUserId, enable)\r\n .then(() => {\r\n pushNotification(\r\n this.user!.username +\r\n \" har \" +\r\n (enable ? \"aktiverats\" : \"inaktiverats\"),\r\n \"mdi-check-circle\"\r\n );\r\n this.enableInProgress = false;\r\n this.fetchUsers();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.$emit(\"close\");\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n unlockUser() {\r\n this.unlockInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .resetLockout(this.user!.loadUserId)\r\n .then(() => {\r\n pushNotification(\r\n this.user!.username + \" har låsts upp\",\r\n \"mdi-check-circle\"\r\n );\r\n this.unlockInProgress = false;\r\n this.fetchUsers();\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {\r\n this.$emit(\"close\");\r\n });\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n getResetCredentialsLink() {\r\n this.resetCredentialsInProgress = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .resetCredentialsLink(this.user!.username!)\r\n .then(res => {\r\n popupDialog({\r\n noCloseButton: true,\r\n title: \"Lösenordslänk\",\r\n body: res,\r\n btnText1: \"OK\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {}\r\n });\r\n this.resetCredentialsInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n allUsersNotEnabled(): boolean {\r\n return this.users.every(user => !user.isEnabled);\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n saveInProgress: boolean;\r\n clearConfigInProgress: boolean;\r\n unlockInProgress: boolean;\r\n enableInProgress: boolean;\r\n resetCredentialsInProgress: boolean;\r\n notificationDialog: boolean;\r\n valid: boolean;\r\n users: UserDto[];\r\n selectedLoadUserId: number | undefined;\r\n showInactivated: boolean;\r\n } => ({\r\n loading: true,\r\n saveInProgress: false,\r\n clearConfigInProgress: false,\r\n unlockInProgress: false,\r\n enableInProgress: false,\r\n resetCredentialsInProgress: false,\r\n notificationDialog: false,\r\n valid: false,\r\n users: [],\r\n selectedLoadUserId: undefined,\r\n showInactivated: false\r\n })\r\n});\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n SupportAdminActorListDto,\r\n ActorType,\r\n CargoType,\r\n Country\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport ActorEditDialog from \"@/components/support-admin/actor/ActorEditDialog.vue\";\r\nimport InvoiceDialog from \"@/components/support-admin/actor/InvoiceDialog.vue\";\r\nimport UsersDialog from \"@/components/support-admin/actor/user/UsersDialog.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport {\r\n actorTypeName,\r\n cargoTypeName,\r\n isoName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\n\r\nexport enum ActorListDialogType {\r\n ActorDialog = 1,\r\n UsersDialog = 2,\r\n InvoiceDialog = 3\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n actors: Array as () => SupportAdminActorListDto[],\r\n loading: Boolean\r\n },\r\n components: {\r\n EllipsisTableItem,\r\n CustomTableHeader,\r\n CustomFilter,\r\n ActorEditDialog,\r\n UsersDialog,\r\n InvoiceDialog\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 190);\r\n },\r\n filteredActors(): SupportAdminActorListDto[] {\r\n const filteredActorsList = this.actors\r\n .filter(a => stringSearchHit(this.actorNameFilter, a.actorName, false))\r\n .filter(\r\n a => !this.actorTypeFilter || a.actorType! === this.actorTypeFilter\r\n )\r\n .filter(\r\n a =>\r\n !this.cargoTypeFilter ||\r\n a.cargoTypes!.includes(this.cargoTypeFilter)\r\n )\r\n .filter(a => !this.countryFilter || a.country! === this.countryFilter)\r\n .filter(\r\n a =>\r\n this.disabledFilter === undefined ||\r\n this.disabledFilter === null ||\r\n a.allUsersDisabled! === this.disabledFilter\r\n )\r\n .filter(\r\n a =>\r\n this.activeFilter === undefined ||\r\n this.activeFilter === null ||\r\n a.active === this.activeFilter\r\n )\r\n .filter(a => this.filteredUserDescriptions(a).length)\r\n .filter(a =>\r\n stringSearchHit(this.mainContactName, a.mainContactName, false)\r\n )\r\n .filter(a =>\r\n stringSearchHit(this.mainContactEmail, a.mainContactEmail, false)\r\n )\r\n .filter(a =>\r\n stringSearchHit(this.mainContactPhone, a.mainContactPhone, false)\r\n );\r\n this.$emit(\"filteredActorsList\", filteredActorsList);\r\n return filteredActorsList;\r\n },\r\n actor(): SupportAdminActorListDto | undefined {\r\n return this.actors.find(a => a.actorId === this.actorId);\r\n },\r\n actorId: {\r\n get(): number | undefined {\r\n const id = Number(this.$route.query.id);\r\n if (!id || isNaN(id)) {\r\n return undefined;\r\n }\r\n return id;\r\n },\r\n set(id: number | undefined) {\r\n this.$router.push({\r\n query: { ...this.$route.query, id: id ? id.toString() : undefined },\r\n path: this.$route.path\r\n });\r\n }\r\n },\r\n dialog: {\r\n get(): ActorListDialogType | undefined {\r\n const dialog = Number(this.$route.query.dialog);\r\n if (!dialog || isNaN(dialog)) {\r\n return undefined;\r\n }\r\n return dialog;\r\n },\r\n set(dialog: ActorListDialogType | undefined) {\r\n this.$router.push({\r\n query: {\r\n ...this.$route.query,\r\n dialog: dialog ? dialog.toString() : undefined\r\n },\r\n path: this.$route.path\r\n });\r\n }\r\n }\r\n },\r\n methods: {\r\n actorTypeName: actorTypeName,\r\n isoName: isoName,\r\n numUsers(item: SupportAdminActorListDto): string {\r\n let text = this.filteredUserDescriptions(item).length.toString();\r\n if (this.userFilter) {\r\n text += ` (${item.users!.length})`;\r\n }\r\n return text;\r\n },\r\n filteredUserDescriptions(item: SupportAdminActorListDto): string[] {\r\n return item\r\n .users!.map(u => u.userName + \", \" + u.name + \", \" + u.email)\r\n .filter(r => stringSearchHit(this.userFilter, r, false))\r\n .sort(stringCompare);\r\n },\r\n openEditDialog(actorId: number) {\r\n this.actorId = actorId;\r\n this.dialog = 1;\r\n },\r\n openEditUsersDialog(actorId: number) {\r\n this.actorId = actorId;\r\n this.dialog = 2;\r\n },\r\n openInvoiceDialog(actorId: number) {\r\n this.actorId = actorId;\r\n this.dialog = 3;\r\n },\r\n close() {\r\n this.actorId = undefined;\r\n this.dialog = undefined;\r\n this.$emit(\"search\");\r\n },\r\n cargoTypesText(cargoTypes: CargoType[]): string {\r\n return cargoTypes.map(ct => cargoTypeName(ct).slice(0, 3)).join(\", \");\r\n }\r\n },\r\n data: (): {\r\n actorNameFilter: string;\r\n actorTypeFilter: ActorType | undefined;\r\n cargoTypeFilter: CargoType | undefined;\r\n countryFilter: Country | undefined;\r\n disabledFilter: boolean | undefined;\r\n activeFilter: boolean | undefined;\r\n userFilter: string;\r\n mainContactName: string;\r\n mainContactEmail: string;\r\n mainContactPhone: string;\r\n ActorListDialogType: typeof ActorListDialogType;\r\n headers: TableHeader[];\r\n } => ({\r\n actorNameFilter: \"\",\r\n actorTypeFilter: undefined,\r\n cargoTypeFilter: undefined,\r\n countryFilter: undefined,\r\n disabledFilter: undefined,\r\n activeFilter: true,\r\n userFilter: \"\",\r\n mainContactName: \"\",\r\n mainContactEmail: \"\",\r\n mainContactPhone: \"\",\r\n ActorListDialogType: ActorListDialogType,\r\n headers: [\r\n {\r\n value: \"edit\",\r\n width: 1\r\n },\r\n {\r\n value: \"actorId\",\r\n text: \"ID\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"actorName\",\r\n text: \"Actor\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"active\",\r\n text: \"Status\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"allUsersDisabled\",\r\n text: \"Anv. Inakt.\",\r\n sortValue: true,\r\n untranslated: true,\r\n tooltip:\r\n \"Samtliga användare inaktiverade. Görs typiskt om leverantören inte betalar sina avgifter.\",\r\n width: 1\r\n },\r\n {\r\n value: \"regDate\",\r\n text: \"Registrerad\",\r\n untranslated: true,\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"cargoTypes\",\r\n text: \"CargoType\"\r\n },\r\n {\r\n value: \"actorType\",\r\n text: \"ActorType\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"country\",\r\n text: \"Country\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"users\",\r\n text: \"Användare\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 130\r\n },\r\n {\r\n value: \"mainContactName\",\r\n text: \"Huvudkontakt\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"mainContactEmail\",\r\n text: \"Huvudkontakt email\",\r\n untranslated: true,\r\n sortValue: true,\r\n multiLine: true\r\n },\r\n {\r\n value: \"mainContactPhone\",\r\n text: \"Huvudkontakt telefon\",\r\n untranslated: true,\r\n sortValue: true,\r\n multiLine: true\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UsersDialog.vue?vue&type=template&id=578e5b82&\"\nimport script from \"./UsersDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./UsersDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer,VSwitch,VTooltip})\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorTable.vue?vue&type=template&id=4b752afa&\"\nimport script from \"./ActorTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ExplorerClient,\r\n ExplorerNodeDto,\r\n ApiConfiguration,\r\n LoadCompleteDto,\r\n UpdateLoadPriceDto,\r\n PublishInfoDto,\r\n LoadStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport GreyTitle from \"@/components/shared/ui/GreyTitle.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport ReadOnlyDate from \"@/components/shared/ui/ReadOnlyDate.vue\";\r\nimport {\r\n currencyName,\r\n deviationCauseName,\r\n otherPriceCauseName,\r\n publishSpeedName,\r\n truckTypeName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport { ActorListDialogType } from \"../actor/ActorTable.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ExplorerNodeDto\r\n },\r\n components: {\r\n Spinner,\r\n ReadOnlyText,\r\n Checkbox,\r\n GreyTitle,\r\n InfoTooltip,\r\n ReadOnlyDate\r\n },\r\n watch: {\r\n \"item.guid\": {\r\n immediate: true,\r\n handler() {\r\n if (this.item === undefined) {\r\n return;\r\n }\r\n this.fetchLoad();\r\n this.fetchPriceRow();\r\n this.fetchPublishInfo();\r\n }\r\n }\r\n },\r\n computed: {\r\n loading(): boolean {\r\n return !this.load || !this.priceRow;\r\n },\r\n isStatusOrdered(): boolean {\r\n return this.load.statusId === LoadStatus.Ordered;\r\n },\r\n truckTypeName(): string {\r\n return truckTypeName(this.load.truckTypeId!);\r\n },\r\n publishSpeedName(): string {\r\n return publishSpeedName(this.load.publishSpeed);\r\n },\r\n deviationCauseName(): string {\r\n if (!this.load.deviationCauseId) {\r\n return \"\";\r\n }\r\n return deviationCauseName(this.load.deviationCauseId);\r\n },\r\n otherPriceCauseName(): string {\r\n if (!this.load.otherPriceCauseId) {\r\n return \"\";\r\n }\r\n return otherPriceCauseName(this.load.otherPriceCauseId);\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n percentage: percentage,\r\n currencyName: currencyName,\r\n viewActor(actorId: number | undefined) {\r\n if (!actorId) {\r\n return;\r\n }\r\n window.open(\r\n \"/support-admin/actors?dialog=\" +\r\n ActorListDialogType.ActorDialog +\r\n \"&id=\" +\r\n actorId,\r\n \"_blank\"\r\n );\r\n },\r\n fetchLoad() {\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .load(this.item.id)\r\n .then(res => {\r\n this.load = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPriceRow() {\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .pricerowByLoadid(this.item.id)\r\n .then(res => {\r\n this.priceRow = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPublishInfo() {\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .publishInfo(this.item.id)\r\n .then(res => {\r\n this.publishInfo = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data(): {\r\n load: LoadCompleteDto;\r\n priceRow: UpdateLoadPriceDto;\r\n publishInfo: PublishInfoDto[];\r\n } {\r\n return {\r\n load: undefined as any,\r\n priceRow: undefined as any,\r\n publishInfo: []\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogLoadDetails.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogLoadDetails.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialogLoadDetails.vue?vue&type=template&id=4efbeb7c&scoped=true&\"\nimport script from \"./ExplorerDialogLoadDetails.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialogLoadDetails.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ExplorerDialogLoadDetails.vue?vue&type=style&index=0&id=4efbeb7c&scoped=true&lang=css&\"\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 \"4efbeb7c\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VIcon,VRow,VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n SupportAdminDashboardLoadDto,\r\n LoadStatus,\r\n TruckType,\r\n ExplorerNodeDto\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport ExplorerDialogLoadDetails from \"@/components/support-admin/explorer/ExplorerDialogLoadDetails.vue\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { TableOptions, TableHeader } from \"@/scripts/types\";\r\nimport { loadStatusName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nconst emptyFilter = () => ({\r\n loadId: \"\",\r\n transportNo: \"\",\r\n clientName: \"\",\r\n loadStatus: undefined,\r\n truckType: undefined\r\n});\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n CustomTableHeader,\r\n CustomFilter,\r\n ExplorerDialogLoadDetails\r\n },\r\n props: {\r\n loads: Array as () => SupportAdminDashboardLoadDto[]\r\n },\r\n watch: {\r\n dialog() {\r\n this.filters = emptyFilter();\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 310);\r\n },\r\n dialog(): boolean {\r\n return this.loads.length > 0;\r\n },\r\n selectedLoadAsExplorerNodeDto(): ExplorerNodeDto | undefined {\r\n if (!this.selectedLoad) {\r\n return undefined;\r\n }\r\n const res = new ExplorerNodeDto();\r\n res.guid = this.selectedLoad.loadId.toString();\r\n res.id = this.selectedLoad.loadId;\r\n return res;\r\n },\r\n sortedRows(): SupportAdminDashboardLoadDto[] {\r\n let res = [...this.filteredRows];\r\n const sortBy = this.tableOptions.sortBy[0];\r\n const sortDesc = this.tableOptions.sortDesc[0];\r\n let c = (\r\n a: SupportAdminDashboardLoadDto,\r\n b: SupportAdminDashboardLoadDto\r\n ) => stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n res = res.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) || stringCompare(a.loadId, b.loadId)\r\n );\r\n return res;\r\n },\r\n filteredRows(): SupportAdminDashboardLoadDto[] {\r\n return this.loads\r\n .filter(\r\n l =>\r\n !this.filters.loadId ||\r\n stringSearchHit(this.filters.loadId, l.loadId.toString(), true)\r\n )\r\n .filter(\r\n l =>\r\n !this.filters.transportNo ||\r\n stringSearchHit(this.filters.transportNo, l.transportNo, true)\r\n )\r\n .filter(\r\n l =>\r\n !this.filters.clientName ||\r\n stringSearchHit(this.filters.clientName, l.clientName, true)\r\n )\r\n .filter(\r\n l =>\r\n !this.filters.loadStatus || l.loadStatus === this.filters.loadStatus\r\n )\r\n .filter(\r\n l => !this.filters.truckType || l.truckType === this.filters.truckType\r\n );\r\n }\r\n },\r\n methods: {\r\n loadStatusName: loadStatusName,\r\n truckTypeName: truckTypeName,\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n },\r\n data: (): {\r\n selectedLoad: SupportAdminDashboardLoadDto | undefined;\r\n filters: {\r\n loadId: string;\r\n transportNo: string;\r\n clientName: string;\r\n loadStatus: LoadStatus | undefined;\r\n truckType: TruckType | undefined;\r\n };\r\n tableOptions: TableOptions;\r\n headers: TableHeader[];\r\n } => ({\r\n selectedLoad: undefined,\r\n filters: emptyFilter(),\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 100,\r\n sortBy: [\"loadStatus\"],\r\n sortDesc: [false]\r\n }),\r\n headers: [\r\n { value: \"viewDetails\", width: 1 },\r\n {\r\n value: \"loadStatus\",\r\n text: \"Status\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"loadId\",\r\n text: \"LassId\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"transportNo\",\r\n text: \"TransportNo\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"clientName\",\r\n text: \"Beställare\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"truckType\",\r\n text: \"TruckType\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"pickupLocation\",\r\n text: \"Hämtort\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"deliveryLocation\",\r\n text: \"Leveransort\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"regDate\",\r\n text: \"Skapad\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"pickupEarliest\",\r\n text: \"Hämtas tidigast\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"deliverLatest\",\r\n text: \"Lämnas senast\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 1\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DashboardLoadsDialog.vue?vue&type=template&id=058b79d8&\"\nimport script from \"./DashboardLoadsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./DashboardLoadsDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDataTable,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SupportAdminDashboardAgreements,\r\n SupportAdminDashboardClient,\r\n SupportAdminDashboardCurrentLoads,\r\n SupportAdminDashboardLoadDto,\r\n SupportAdminDashboardProcurements,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Snow from \"@/components/shared/ui/Snow.vue\";\r\nimport DashboardLoadsDialog from \"@/components/support-admin/dashboard/DashboardLoadsDialog.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport { cargoTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Snow,\r\n DashboardLoadsDialog\r\n },\r\n computed: {\r\n totalOrdered(): number {\r\n return this.loadStatusInfo.reduce((t, e) => t + e.ordered.length, 0);\r\n },\r\n totalMissingAgreement(): number {\r\n return this.loadStatusInfo.reduce(\r\n (t, e) => t + e.missingAgreement.length,\r\n 0\r\n );\r\n },\r\n totalBooked(): number {\r\n return this.loadStatusInfo.reduce((t, e) => t + e.booked.length, 0);\r\n },\r\n totalLoaded(): number {\r\n return this.loadStatusInfo.reduce((t, e) => t + e.loaded.length, 0);\r\n },\r\n totalDelivered(): number {\r\n return this.loadStatusInfo.reduce((t, e) => t + e.delivered.length, 0);\r\n },\r\n totalPricePhase(): number {\r\n return this.procurementStatusInfo.reduce((t, e) => t + e.pricePhase, 0);\r\n },\r\n totalRankingPhase(): number {\r\n return this.procurementStatusInfo.reduce((t, e) => t + e.rankingPhase, 0);\r\n },\r\n totalNotStarted(): number {\r\n return this.procurementStatusInfo.reduce((t, e) => t + e.notStarted, 0);\r\n },\r\n totalFarAhead(): number {\r\n return this.procurementStatusInfo.reduce((t, e) => t + e.farAhead, 0);\r\n },\r\n totalFarBack(): number {\r\n return this.procurementStatusInfo.reduce((t, e) => t + e.farBack, 0);\r\n },\r\n totalEndingSoon(): number {\r\n return this.agreementStatusInfo.reduce(\r\n (t, e) => t + e.endingSoon.length,\r\n 0\r\n );\r\n },\r\n totalEndingSoonWithoutSuccessors(): number {\r\n return this.agreementStatusInfo.reduce(\r\n (t, e) => t + e.endingSoonWithoutSuccessors.length,\r\n 0\r\n );\r\n },\r\n totalEndingSoonish(): number {\r\n return this.agreementStatusInfo.reduce(\r\n (t, e) => t + e.endingSoonish.length,\r\n 0\r\n );\r\n },\r\n totalEndingSoonishWithoutSuccessors(): number {\r\n return this.agreementStatusInfo.reduce(\r\n (t, e) => t + e.endingSoonishWithoutSuccessors.length,\r\n 0\r\n );\r\n },\r\n totalEndingLater(): number {\r\n return this.agreementStatusInfo.reduce(\r\n (t, e) => t + e.endingLater.length,\r\n 0\r\n );\r\n }\r\n },\r\n methods: {\r\n cargoTypeName: cargoTypeName,\r\n refresh() {\r\n this.loadingSemaphore = 3;\r\n this.refreshDate = CDate.now(TimeZone.Europe_Stockholm);\r\n this.fetchCurrentLoads();\r\n this.fetchProcurements();\r\n this.fetchAgreements();\r\n },\r\n fetchCurrentLoads() {\r\n new SupportAdminDashboardClient(new ApiConfiguration(this.$store))\r\n .currentLoads()\r\n .then(res => {\r\n this.loadStatusInfo = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchProcurements() {\r\n new SupportAdminDashboardClient(new ApiConfiguration(this.$store))\r\n .procurements()\r\n .then(res => {\r\n this.procurementStatusInfo = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchAgreements() {\r\n new SupportAdminDashboardClient(new ApiConfiguration(this.$store))\r\n .agreements()\r\n .then(res => {\r\n this.agreementStatusInfo = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n viewAgreementRoutes(agreementRouteIds: number[]) {\r\n popupDialog({\r\n title: \"AgreementRouteIds\",\r\n body: agreementRouteIds.join(\", \"),\r\n btnText1: \"OK\",\r\n btnCallback1: () => {}\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.refresh();\r\n this.$nextTick(function() {\r\n this.intervalId = setInterval(() => {\r\n this.timeSinceRefresh = CDate.now(TimeZone.Europe_Stockholm).toRelative(\r\n this.refreshDate,\r\n localeCode()\r\n );\r\n\r\n if (\r\n this.refreshDate.addMinutes(15) < CDate.now(TimeZone.Europe_Stockholm)\r\n ) {\r\n this.refresh();\r\n }\r\n }, 1000);\r\n });\r\n },\r\n destroyed() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n },\r\n data: (): {\r\n loadingSemaphore: number;\r\n intervalId: number;\r\n refreshDate: CDate;\r\n timeSinceRefresh: string;\r\n loadStatusInfo: SupportAdminDashboardCurrentLoads[];\r\n procurementStatusInfo: SupportAdminDashboardProcurements[];\r\n agreementStatusInfo: SupportAdminDashboardAgreements[];\r\n loadsBeingViewed: SupportAdminDashboardLoadDto[];\r\n } => ({\r\n loadingSemaphore: 0,\r\n intervalId: 0,\r\n refreshDate: CDate.now(TimeZone.Europe_Stockholm),\r\n timeSinceRefresh: \"\",\r\n loadStatusInfo: [],\r\n procurementStatusInfo: [],\r\n agreementStatusInfo: [],\r\n loadsBeingViewed: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Dashboard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Dashboard.vue?vue&type=template&id=55c38d41&\"\nimport script from \"./Dashboard.vue?vue&type=script&lang=ts&\"\nexport * from \"./Dashboard.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSheet,VSimpleTable,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Aktörslistan\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding small-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exporting,\"disabled\":_vm.loading},on:{\"click\":_vm.exportSelectionToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('MenuButton',{attrs:{\"text\":\"Ny aktör\",\"options\":_vm.actorTypes},on:{\"input\":_vm.createNewActor}})],1)],1)]},proxy:true}])})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('ActorTable',{attrs:{\"actors\":_vm.actors,\"loading\":_vm.loading},on:{\"search\":_vm.search,\"filteredActorsList\":_vm.setFilteredActorsList}})],1)],1),_c('ActorCreateDialog',{attrs:{\"actorType\":_vm.createActorActorType},on:{\"close\":function($event){_vm.createActorActorType = undefined}}})],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('DialogCard',{key:_vm.key,attrs:{\"dialog\":_vm.actorType !== undefined,\"title\":_vm.title,\"loading\":!_vm.actor,\"width\":1000},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('ActorEditForm',{attrs:{\"actor\":_vm.actor,\"actorOriginal\":undefined},on:{\"validChanges\":function (v) { return (_vm.validChanges = v); }}}),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('TextSingle',{attrs:{\"label\":\"Första användarens användarnamn\",\"errorMessage\":_vm.usernameError,\"loading\":_vm.checkingUsername,\"asterisk\":\"\"},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}})],1)],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.validChanges ||\n !_vm.username ||\n _vm.usernameError !== undefined ||\n _vm.checkingUsername,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.createActor}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" Skapa \")],1)],1)],1)]},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\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport ActorEditForm from \"@/components/support-admin/actor/ActorEditForm.vue\";\r\nimport {\r\n ActorDto,\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration,\r\n Country,\r\n Culture,\r\n TimeZone,\r\n UserDto,\r\n UserLevel,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actorTypeName } from \"@/scripts/misc/enumNames\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { ActorListDialogType } from \"./ActorTable.vue\";\r\nimport { usernameErrors } from \"@/scripts/misc/stringUtils\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nconst emptyActor = (actorType: ActorType): ActorDto =>\r\n new ActorDto({\r\n id: 0,\r\n name: \"\",\r\n orgNo: \"\",\r\n regDate: CDate.now(TimeZone.Europe_Stockholm),\r\n activatedDate: CDate.now(TimeZone.Europe_Stockholm),\r\n inactivatedDate: undefined,\r\n lastActive: CDate.now(TimeZone.Europe_Stockholm),\r\n mainContact: \"\",\r\n mainContactEmail: \"\",\r\n mainContactPhone: \"\",\r\n contractManager: \"\",\r\n contractManagerMail: \"\",\r\n contractManagerPhone: \"\",\r\n contractAddress: \"\",\r\n country: Country.Sweden,\r\n timeZone: TimeZone.Europe_Stockholm,\r\n cargoTypes: [],\r\n active: true,\r\n internalNote: \"\",\r\n actorType: actorType,\r\n connectedClients: []\r\n });\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n ActorEditForm,\r\n TextSingle\r\n },\r\n props: {\r\n actorType: Number as () => ActorType | undefined\r\n },\r\n watch: {\r\n actorType: {\r\n handler() {\r\n if (this.actorType) {\r\n this.key = nextUnique();\r\n this.actor = emptyActor(this.actorType);\r\n }\r\n },\r\n immediate: true\r\n },\r\n username() {\r\n this.checkUsername();\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n if (!this.actorType) {\r\n return \"\";\r\n }\r\n return \"Ny \" + actorTypeName(this.actorType).toLocaleLowerCase();\r\n }\r\n },\r\n methods: {\r\n createActor() {\r\n this.saveInProgress = true;\r\n this.actor.actorType = this.actorType!;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .editForSupportAdmin(this.actor!)\r\n .then(actorId => {\r\n this.createUser(actorId);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n createUser(actorId: number) {\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .edit(\r\n new UserDto({\r\n actorId: actorId,\r\n loadUserId: 0,\r\n username: this.username,\r\n name: this.username,\r\n isEnabled: false,\r\n lockoutEnd: undefined,\r\n accessFailedCount: 0,\r\n email: \"info@c-load.com\",\r\n mobileNo: \"\",\r\n culture:\r\n this.actor.country === Country.Sweden\r\n ? Culture.Swedish\r\n : Culture.English,\r\n lastActivityDate: CDate.now(TimeZone.Europe_Stockholm),\r\n createdDate: CDate.now(TimeZone.Europe_Stockholm),\r\n internalNote: \"\",\r\n userLevel: UserLevel.SuperAdmin,\r\n actorInvoiceInformationId: undefined\r\n })\r\n )\r\n .then(() => {\r\n window.location.href =\r\n \"/support-admin/actors?dialog=\" +\r\n ActorListDialogType.UsersDialog +\r\n \"&id=\" +\r\n actorId;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n checkUsername() {\r\n const usernameBeingChecked = this.username;\r\n const errors = usernameErrors(usernameBeingChecked);\r\n if (errors) {\r\n this.usernameError = errors;\r\n return;\r\n }\r\n this.checkingUsername = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .checkUsername(usernameBeingChecked!)\r\n .then(taken => {\r\n if (this.username === usernameBeingChecked) {\r\n this.usernameError = taken ? t(\"UsernameNotAvailable\") : undefined;\r\n this.checkingUsername = false;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n actor: ActorDto;\r\n saveInProgress: boolean;\r\n validChanges: boolean;\r\n key: number;\r\n usernameError: string | undefined;\r\n checkingUsername: boolean;\r\n username: string;\r\n } => ({\r\n actor: emptyActor(ActorType.Client),\r\n saveInProgress: false,\r\n validChanges: false,\r\n key: nextUnique(),\r\n usernameError: undefined,\r\n checkingUsername: false,\r\n username: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorCreateDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorCreateDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorCreateDialog.vue?vue&type=template&id=5e732939&\"\nimport script from \"./ActorCreateDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorCreateDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport ActorTable from \"@/components/support-admin/actor/ActorTable.vue\";\r\nimport MenuButton from \"@/components/shared/input/MenuButton.vue\";\r\nimport ActorCreateDialog from \"@/components/support-admin/actor/ActorCreateDialog.vue\";\r\nimport {\r\n SupportAdminActorListDto,\r\n ActorsClient,\r\n ActorType,\r\n ApiConfiguration\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { actorTypes } from \"@/scripts/misc/enumLists\";\r\nimport { actorTypeIcon } from \"@/scripts/misc/enumNames\";\r\nimport { MenuButtonOption } from \"@/components/shared/input/MenuButton.vue\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n ActorTable,\r\n MenuButton,\r\n ActorCreateDialog\r\n },\r\n computed: {\r\n actorTypes(): MenuButtonOption[] {\r\n return actorTypes().map(x => ({ ...x, icon: actorTypeIcon(x.id) }));\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.loading = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .listForSupportAdmin()\r\n .then(res => {\r\n this.actors = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n setFilteredActorsList(filteredList: SupportAdminActorListDto[]) {\r\n this.filteredActorsList = filteredList.map(x => x.actorId);\r\n },\r\n exportSelectionToExcel() {\r\n this.exporting = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .exportListForSupportAdmin(this.filteredActorsList)\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exporting = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n createNewActor(actorType: ActorType) {\r\n this.createActorActorType = actorType;\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n exporting: boolean;\r\n actors: SupportAdminActorListDto[];\r\n filteredActorsList: number[];\r\n createActorActorType: ActorType | undefined;\r\n } => ({\r\n loading: true,\r\n exporting: false,\r\n actors: [],\r\n filteredActorsList: [],\r\n createActorActorType: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actors.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Actors.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Actors.vue?vue&type=template&id=eec40e5c&\"\nimport script from \"./Actors.vue?vue&type=script&lang=ts&\"\nexport * from \"./Actors.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Användarlistan\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exporting,\"disabled\":_vm.loading},on:{\"click\":_vm.exportSelectionToExcel}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)]},proxy:true}])})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('UserTable',{attrs:{\"users\":_vm.users,\"loading\":_vm.loading},on:{\"search\":_vm.search,\"setFilteredUserIds\":function (ids) { return (_vm.filteredUserIds = ids); }}})],1)],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('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"mobile-breakpoint\":0,\"loading\":_vm.loading,\"items\":_vm.filteredUsers,\"height\":_vm.tableHeight,\"item-key\":\"loadUserId\",\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [50],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"sort-by\":\"loadUserName\",\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.active\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'activity' },\"placeholder\":_vm.$t('Status')},model:{value:(_vm.activeFilter),callback:function ($$v) {_vm.activeFilter=$$v},expression:\"activeFilter\"}})]},proxy:true},{key:\"filter.userName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.userNameFilter),callback:function ($$v) {_vm.userNameFilter=$$v},expression:\"userNameFilter\"}})]},proxy:true},{key:\"filter.name\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.nameFilter),callback:function ($$v) {_vm.nameFilter=$$v},expression:\"nameFilter\"}})]},proxy:true},{key:\"filter.actorName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.actorNameFilter),callback:function ($$v) {_vm.actorNameFilter=$$v},expression:\"actorNameFilter\"}})]},proxy:true},{key:\"filter.userLevel\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'userLevel' },\"placeholder\":_vm.$t('UserLevel')},model:{value:(_vm.userLevelFilter),callback:function ($$v) {_vm.userLevelFilter=$$v},expression:\"userLevelFilter\"}})]},proxy:true},{key:\"filter.actorType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'actorType' },\"placeholder\":_vm.$t('ActorType')},model:{value:(_vm.actorTypeFilter),callback:function ($$v) {_vm.actorTypeFilter=$$v},expression:\"actorTypeFilter\"}})]},proxy:true},{key:\"filter.cargoTypes\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'cargoType' },\"placeholder\":_vm.$t('CargoType')},model:{value:(_vm.cargoTypeFilter),callback:function ($$v) {_vm.cargoTypeFilter=$$v},expression:\"cargoTypeFilter\"}})]},proxy:true},{key:\"filter.country\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'country' },\"placeholder\":_vm.$t('Country')},model:{value:(_vm.countryFilter),callback:function ($$v) {_vm.countryFilter=$$v},expression:\"countryFilter\"}})]},proxy:true},{key:\"filter.hasAnyEmailSubscriptions\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'yesNo' },\"placeholder\":\"Har notif.\"},model:{value:(_vm.hasAnyEmailSubscriptionsFilter),callback:function ($$v) {_vm.hasAnyEmailSubscriptionsFilter=$$v},expression:\"hasAnyEmailSubscriptionsFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.edit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"dont-render-newlines\"},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"small-margin-right\",attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.openEditDialog(item.actorId)}}},on),[_vm._v(\" mdi-pencil \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"Edit\")))])]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"small-margin-right\",attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.openEditUsersDialog(item.actorId)}}},on),[_vm._v(\" mdi-account-edit-outline \")])]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"EditUser\")))])])],1)]}},{key:\"item.regDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.regDate,\"width\":\"120\"}})]}},{key:\"item.active\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:item.active ? 'green-text' : 'red-text'},[_vm._v(_vm._s(item.active ? \"Aktiv\" : \"Inaktiv\"))])]}},{key:\"item.userLevel\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.userLevelName(item.userLevel))+\" \")]}},{key:\"item.actorType\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.actorTypeName(item.actorType))+\" \")]}},{key:\"item.cargoTypes\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.cargoTypesText(item.cargoTypes))+\" \")]}},{key:\"item.country\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.isoName(item.country))+\" \")]}},{key:\"item.hasAnyEmailSubscriptions\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.textForBoolean(item.hasAnyEmailSubscriptions))+\" \")]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n SupportAdminUserListDto,\r\n ActorType,\r\n CargoType,\r\n Country,\r\n UserLevel\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport {\r\n actorTypeName,\r\n cargoTypeName,\r\n isoName,\r\n userLevelName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { ActorListDialogType } from \"../actor/ActorTable.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n users: Array as () => SupportAdminUserListDto[],\r\n loading: Boolean\r\n },\r\n components: {\r\n EllipsisTableItem,\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 190);\r\n },\r\n filteredUsers(): SupportAdminUserListDto[] {\r\n const filteredUsersList = this.users\r\n .filter(u => stringSearchHit(this.userNameFilter, u.userName, false))\r\n .filter(u => stringSearchHit(this.nameFilter, u.name, false))\r\n .filter(u => stringSearchHit(this.actorNameFilter, u.actorName, false))\r\n .filter(\r\n u => !this.actorTypeFilter || u.actorType! === this.actorTypeFilter\r\n )\r\n .filter(\r\n u => !this.userLevelFilter || u.userLevel! === this.userLevelFilter\r\n )\r\n .filter(\r\n u =>\r\n !this.cargoTypeFilter ||\r\n u.cargoTypes!.includes(this.cargoTypeFilter)\r\n )\r\n .filter(u => !this.countryFilter || u.country! === this.countryFilter)\r\n .filter(\r\n u =>\r\n this.activeFilter === undefined ||\r\n this.activeFilter === null ||\r\n u.active === this.activeFilter\r\n )\r\n .filter(\r\n u =>\r\n this.hasAnyEmailSubscriptionsFilter === undefined ||\r\n this.hasAnyEmailSubscriptionsFilter === null ||\r\n u.hasAnyEmailSubscriptions === this.hasAnyEmailSubscriptionsFilter\r\n );\r\n this.$emit(\r\n \"setFilteredUserIds\",\r\n filteredUsersList.map(u => u.loadUserId)\r\n );\r\n return filteredUsersList;\r\n }\r\n },\r\n methods: {\r\n actorTypeName: actorTypeName,\r\n isoName: isoName,\r\n userLevelName: userLevelName,\r\n cargoTypesText(cargoTypes: CargoType[]): string {\r\n return cargoTypes.map(ct => cargoTypeName(ct).slice(0, 3)).join(\", \");\r\n },\r\n openEditDialog(actorId: number) {\r\n window.open(\r\n `/support-admin/actors?id=${actorId}&dialog=${ActorListDialogType.ActorDialog}`,\r\n \"_blank\"\r\n );\r\n },\r\n openEditUsersDialog(actorId: number) {\r\n window.open(\r\n `/support-admin/actors?id=${actorId}&dialog=${ActorListDialogType.UsersDialog}`,\r\n \"_blank\"\r\n );\r\n },\r\n textForBoolean(hasAnyEmailSubscriptions: boolean): string {\r\n if (hasAnyEmailSubscriptions) {\r\n return t(\"Survey_Yes\");\r\n } else {\r\n return t(\"Survey_No\");\r\n }\r\n }\r\n },\r\n data: (): {\r\n userNameFilter: string;\r\n nameFilter: string;\r\n actorNameFilter: string;\r\n actorTypeFilter: ActorType | undefined;\r\n userLevelFilter: UserLevel | undefined;\r\n cargoTypeFilter: CargoType | undefined;\r\n countryFilter: Country | undefined;\r\n activeFilter: boolean | undefined;\r\n hasAnyEmailSubscriptionsFilter: boolean | undefined;\r\n headers: TableHeader[];\r\n } => ({\r\n userNameFilter: \"\",\r\n nameFilter: \"\",\r\n actorNameFilter: \"\",\r\n actorTypeFilter: undefined,\r\n userLevelFilter: undefined,\r\n cargoTypeFilter: undefined,\r\n countryFilter: undefined,\r\n activeFilter: true,\r\n hasAnyEmailSubscriptionsFilter: undefined,\r\n headers: [\r\n {\r\n value: \"edit\",\r\n width: 1\r\n },\r\n {\r\n value: \"loadUserId\",\r\n text: \"ID\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"active\",\r\n text: \"Status\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"userName\",\r\n text: \"UserName\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"name\",\r\n text: \"Namn person\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"actorName\",\r\n text: \"Namn aktör\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"email\",\r\n text: \"Email\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"mobileNo\",\r\n text: \"Mobile\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"userLevel\",\r\n text: \"UserLevel\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"actorType\",\r\n text: \"ActorType\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"regDate\",\r\n text: \"Registrerad\",\r\n untranslated: true,\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"cargoTypes\",\r\n text: \"CargoType\"\r\n },\r\n {\r\n value: \"country\",\r\n text: \"Country\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"hasAnyEmailSubscriptions\",\r\n text: \"Har Notif.\",\r\n sortValue: true,\r\n width: 1\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UserTable.vue?vue&type=template&id=06e53cea&\"\nimport script from \"./UserTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./UserTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport UserTable from \"@/components/support-admin/user/UserTable.vue\";\r\nimport {\r\n SupportAdminUserListDto,\r\n UsersClient,\r\n ActorType,\r\n ApiConfiguration\r\n} from \"@/scripts/cld.api\";\r\nimport { ble } from \"@/scripts/misc/apiErrors\";\r\nimport { errorDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n UserTable\r\n },\r\n methods: {\r\n search() {\r\n this.loading = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .listForSupportAdmin()\r\n .then(res => {\r\n this.users = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n if (ble(error)) {\r\n errorDialog(error, () => {});\r\n } else {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n }\r\n });\r\n },\r\n exportSelectionToExcel() {\r\n this.exporting = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .exportSelectionForSupportAdmin(this.filteredUserIds)\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exporting = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n exporting: boolean;\r\n users: SupportAdminUserListDto[];\r\n filteredUserIds: number[];\r\n createUserUserType: ActorType | undefined;\r\n } => ({\r\n loading: true,\r\n exporting: false,\r\n users: [],\r\n filteredUserIds: [],\r\n createUserUserType: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=b351ee50&\"\nimport script from \"./Users.vue?vue&type=script&lang=ts&\"\nexport * from \"./Users.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('AgreementListSearch',{attrs:{\"criteria\":_vm.criteria,\"toggles\":_vm.toggles,\"exporting\":_vm.exporting},on:{\"exportToExcel\":_vm.exportToExcel}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('AgreementListTable',{attrs:{\"loading\":!!_vm.loading,\"agreements\":_vm.agreements,\"criteria\":_vm.criteria,\"toggles\":_vm.toggles},on:{\"search\":function($event){return _vm.fetchAgreements(true)},\"tableOptionsChanged\":_vm.scrollToTop}})],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('SearchCard',{attrs:{\"title\":\"Avtal\"},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" @ = orankad \")]),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('SwitchDouble',{attrs:{\"labelFalse\":\"Baspris\",\"labelTrue\":\"Fakturapris\"},model:{value:(_vm.criteria.invoicePrice),callback:function ($$v) {_vm.$set(_vm.criteria, \"invoicePrice\", $$v)},expression:\"criteria.invoicePrice\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('SwitchDouble',{attrs:{\"labelFalse\":\"Utan\",\"labelTrue\":\"Stat\"},model:{value:(_vm.criteria.includeStatistics),callback:function ($$v) {_vm.$set(_vm.criteria, \"includeStatistics\", $$v)},expression:\"criteria.includeStatistics\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('SwitchDouble',{attrs:{\"labelFalse\":\"Utan\",\"labelTrue\":\"Rank\"},model:{value:(_vm.toggles.rank),callback:function ($$v) {_vm.$set(_vm.toggles, \"rank\", $$v)},expression:\"toggles.rank\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('SwitchDouble',{attrs:{\"labelFalse\":\"Utan\",\"labelTrue\":\"ArowId\"},model:{value:(_vm.toggles.arow),callback:function ($$v) {_vm.$set(_vm.toggles, \"arow\", $$v)},expression:\"toggles.arow\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exporting,\"disabled\":_vm.exportDisabled},on:{\"click\":function($event){return _vm.$emit('exportToExcel')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes},model:{value:(_vm.criteria.cargoType),callback:function ($$v) {_vm.$set(_vm.criteria, \"cargoType\", $$v)},expression:\"criteria.cargoType\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":_vm.$t('Date'),\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.criteria.date),callback:function ($$v) {_vm.$set(_vm.criteria, \"date\", $$v)},expression:\"criteria.date\"}})],1),_c('v-col',[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Client'),\"items\":_vm.clients},model:{value:(_vm.criteria.clientId),callback:function ($$v) {_vm.$set(_vm.criteria, \"clientId\", $$v)},expression:\"criteria.clientId\"}})],1),_c('v-col',[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Supplier'),\"items\":_vm.suppliers},model:{value:(_vm.criteria.supplierId),callback:function ($$v) {_vm.$set(_vm.criteria, \"supplierId\", $$v)},expression:\"criteria.supplierId\"}})],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport SwitchDouble from \"@/components/shared/input/SwitchDouble.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport {\r\n ActorsClient,\r\n AgreementSearchCriteriaDto,\r\n ApiConfiguration,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { Toggles } from \"@/views/support-admin/AgreementList.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n criteria: Object as () => AgreementSearchCriteriaDto,\r\n toggles: Object as () => Toggles,\r\n exporting: Boolean\r\n },\r\n components: {\r\n SearchCard,\r\n Dropdown,\r\n DatePicker,\r\n Autocomplete,\r\n SwitchDouble\r\n },\r\n watch: {\r\n \"criteria.cargoType\": {\r\n handler() {\r\n cached(\"suppliersForSupportAdmin\", this.criteria.cargoType)\r\n .then(res => (this.suppliers = res))\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n exportDisabled(): boolean {\r\n return !this.criteria.clientId && !this.criteria.supplierId;\r\n },\r\n supportAdminTimeZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n mounted() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientsForSupportAdmin(true)\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n cargoTypes: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n clients: RepositoryDto[];\r\n countries: RepositoryDto[];\r\n } => ({\r\n cargoTypes: cargoTypes(),\r\n suppliers: [],\r\n clients: [],\r\n countries: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementListSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementListSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementListSearch.vue?vue&type=template&id=108ce367&\"\nimport script from \"./AgreementListSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementListSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding-top\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.augmentedAgreements,\"height\":_vm.tableHeight,\"loading\":_vm.loading,\"options\":_vm.tableOptions,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [100, 500, -1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.procurement\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'withWithout'\n },\"placeholder\":\"Upph\"},model:{value:(_vm.filters.procurement),callback:function ($$v) {_vm.$set(_vm.filters, \"procurement\", $$v)},expression:\"filters.procurement\"}})]},proxy:true},{key:\"filter.pickup\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location',\n pickup: true,\n cargoTypeId: _vm.criteria.cargoType\n },\"placeholder\":\"Hämtort\",\"value\":{\n county: _vm.filters.pickupCounty,\n zipCode: _vm.filters.pickupZipCode,\n countryId: _vm.filters.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.filters.pickupCounty = val.county;\n _vm.filters.pickupZipCode = val.zipCode;\n _vm.filters.pickupCountry = val.countryId;\n }}})]},proxy:true},{key:\"filter.delivery\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location',\n pickup: false,\n cargoTypeId: _vm.criteria.cargoType\n },\"placeholder\":\"Leveransort\",\"value\":{\n county: _vm.filters.deliveryCounty,\n zipCode: _vm.filters.deliveryZipCode,\n countryId: _vm.filters.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.filters.deliveryCounty = val.county;\n _vm.filters.deliveryZipCode = val.zipCode;\n _vm.filters.deliveryCountry = val.countryId;\n }}})]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},model:{value:(_vm.filters.currency),callback:function ($$v) {_vm.$set(_vm.filters, \"currency\", $$v)},expression:\"filters.currency\"}})]},proxy:true}],null,true)})]}},{key:\"item.edit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\",\"disabled\":!_vm.invoicePriceTooltip && !_vm.megaUserTooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-btn',{attrs:{\"icon\":\"\",\"x-small\":\"\",\"disabled\":!!_vm.invoicePriceTooltip || !!_vm.megaUserTooltip},on:{\"click\":function($event){return _vm.edit(item)}}},[_c('v-icon',[_vm._v(\" mdi-pencil \")])],1)],1)]}}],null,true)},[_vm._v(\" \"+_vm._s(_vm.invoicePriceTooltip)+\" \"+_vm._s(_vm.megaUserTooltip)+\" \")])]}},{key:\"item.procurement\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.procurement ? \"Upph\" : \"Avtal\")+\" \")]}},{key:\"item.supplierName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.supplierName,\"width\":\"120\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.openActorDialog(item.supplierId)}}})]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.clientName,\"width\":\"120\",\"clickable\":\"\"},on:{\"click\":function($event){return _vm.openActorDialog(item.clientId)}}})]}},{key:\"item.pickup\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickup(item),\"width\":\"150\"}})]}},{key:\"item.delivery\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.delivery(item),\"width\":\"180\"}})]}},{key:\"item.agreementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.agreementPeriod))])]}},{key:\"item.procurementPeriod\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.procurementPeriod))])]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}}],null,true)}),_c('AgreementListEditDialog',{attrs:{\"agreementId\":_vm.editingAgreementId,\"supplierId\":_vm.editingSupplierId,\"agreements\":_vm.editingAgreements},on:{\"close\":function($event){_vm.editingAgreementId = undefined},\"changeSupplierId\":function (id) { return (_vm.editingSupplierId = id); },\"search\":_vm.search}})],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('DialogCard',{attrs:{\"dialog\":_vm.agreementId !== undefined,\"title\":_vm.title,\"width\":900},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-icon',{attrs:{\"color\":\"error\",\"large\":\"\"}},[_vm._v(\" mdi-skull \")])]},proxy:true},{key:\"body\",fn:function(){return [(_vm.agreementId)?_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('Autocomplete',{attrs:{\"value\":_vm.supplierId,\"label\":_vm.$t('Supplier'),\"items\":_vm.suppliers},on:{\"input\":function (id) { return _vm.$emit('changeSupplierId', id); }}})],1),_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.clientName,\"label\":_vm.$t('Client')}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('ReadOnlyText',{attrs:{\"value\":_vm.currencyName,\"label\":_vm.$t('Currency')}})],1)],1),_vm._l((_vm.updateModels),function(m,index){return _c('v-row',{key:index},[_c('v-col',[_c('NumberInput',{attrs:{\"label\":((_vm.truckTypeName(m.truckType)) + \" [Tidigare pris: \" + (m.prevPrice) + \"]\"),\"rules\":[\n function (v) { return v === undefined ||\n v === null ||\n (v > 0 && v < 200000 && v % 1 === 0) ||\n '0 < Värde < 200000'; }\n ],\"disabled\":!m.checked,\"allow-null\":\"\"},model:{value:(m.price),callback:function ($$v) {_vm.$set(m, \"price\", $$v)},expression:\"m.price\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('Checkbox',{attrs:{\"label\":\"Ändra\"},model:{value:(m.checked),callback:function ($$v) {_vm.$set(m, \"checked\", $$v)},expression:\"m.checked\"}})],1)],1)}),_c('v-row',[(_vm.stopPriceEnabled)?_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('StopPrice'),\"rules\":[\n function (v) { return v === undefined ||\n v === null ||\n (v > 0 && v < 200000 && v % 1 === 0) ||\n '0 < Värde < 200000'; }\n ],\"allow-null\":\"\"},model:{value:(_vm.stopPrice),callback:function ($$v) {_vm.stopPrice=$$v},expression:\"stopPrice\"}})],1):_vm._e(),(_vm.serviceFeeEnabled)?_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('ServiceFee'),\"rules\":[\n function (v) { return v === undefined ||\n v === null ||\n (v > 0 && v < 200000 && v % 1 === 0) ||\n '0 < Värde < 200000'; }\n ],\"allow-null\":\"\"},model:{value:(_vm.serviceFee),callback:function ($$v) {_vm.serviceFee=$$v},expression:\"serviceFee\"}})],1):_vm._e(),(_vm.initialFeeEnabled)?_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('NumberInput',{attrs:{\"label\":_vm.$t('TruckTypeFee'),\"rules\":[\n function (v) { return v === undefined ||\n v === null ||\n (v > 0 && v < 200000 && v % 1 === 0) ||\n '0 < Värde < 200000'; }\n ],\"allow-null\":\"\"},model:{value:(_vm.initialFee),callback:function ($$v) {_vm.initialFee=$$v},expression:\"initialFee\"}})],1):_vm._e()],1)],2):_vm._e()]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-spacer'),_c('v-btn',{staticClass:\"warning\",attrs:{\"disabled\":!_vm.valid || !_vm.updateModels.some(function (m) { return m.checked; }),\"loading\":_vm.saveInProgress},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-skull\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport {\r\n ActorsClient,\r\n AgreementListDto,\r\n AgreementRowPriceUpdateDto,\r\n AgreementsClient,\r\n ApiConfiguration,\r\n CargoType,\r\n RepositoryDto,\r\n TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Checkbox from \"@/components/shared/input/Checkbox.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport { currencyName, truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\n\r\ninterface PriceUpdateModel {\r\n agreementId: number;\r\n supplierId: number;\r\n truckType: TruckType;\r\n price: number | undefined;\r\n prevPrice: string;\r\n checked: boolean;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard,\r\n NumberInput,\r\n Autocomplete,\r\n Checkbox,\r\n ReadOnlyText\r\n },\r\n props: {\r\n agreementId: Number,\r\n supplierId: Number,\r\n agreements: Array as () => AgreementListDto[]\r\n },\r\n watch: {\r\n valuesToWatch: {\r\n handler() {\r\n if (this.agreementId && this.supplierId) {\r\n this.init();\r\n }\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n valuesToWatch(): any[] {\r\n return [this.agreementId, this.supplierId];\r\n },\r\n stopPriceEnabled(): boolean {\r\n return [CargoType.Road, CargoType.MachineTransport].includes(\r\n this.cargoType\r\n );\r\n },\r\n serviceFeeEnabled(): boolean {\r\n return [CargoType.Container].includes(this.cargoType);\r\n },\r\n initialFeeEnabled(): boolean {\r\n return [CargoType.MachineTransport].includes(this.cargoType);\r\n },\r\n cargoType(): CargoType {\r\n return this.agreements[0].cargoType;\r\n },\r\n clientName(): string {\r\n if (this.agreements.length === 0) {\r\n return \"\";\r\n }\r\n return this.agreements[0].clientName!;\r\n },\r\n currencyName(): string {\r\n if (this.agreements.length === 0) {\r\n return \"\";\r\n }\r\n return currencyName(this.agreements[0].currency);\r\n },\r\n title(): string {\r\n if (this.agreements.length === 0) {\r\n return \"\";\r\n }\r\n const a = this.agreements[0];\r\n return `${a.pickupCounty} ${a.pickupZipCode} - ${a.deliveryCounty} ${a.deliveryZipCode}`;\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n save() {\r\n this.saveInProgress = true;\r\n this.actuallySave();\r\n },\r\n actuallySave() {\r\n const saveDtos = this.updateModels\r\n .filter(m => m.checked)\r\n .map(\r\n m =>\r\n new AgreementRowPriceUpdateDto({\r\n agreementId: m.agreementId,\r\n supplierId: m.supplierId,\r\n truckType: m.truckType,\r\n price: m.price,\r\n stopPrice: this.stopPrice,\r\n serviceFee: this.serviceFee,\r\n initialFee: this.initialFee\r\n })\r\n );\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .updatePrice(saveDtos)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.$emit(\"search\");\r\n this.close();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n close() {\r\n this.$emit(\"close\");\r\n },\r\n init() {\r\n this.fetchSuppliers();\r\n const agreement = this.agreements.find(\r\n a => a.supplierId === this.supplierId\r\n );\r\n this.stopPrice = agreement ? agreement.stopPrice : undefined;\r\n this.serviceFee = agreement ? agreement.serviceFee : undefined;\r\n this.initialFee = agreement ? agreement.initialFee : undefined;\r\n this.updateModels = truckTypesByCargoType(this.cargoType).map(tt => {\r\n const p = agreement\r\n ? agreement.prices!.find(p => p.truckType === tt.id)\r\n : undefined;\r\n const price = p ? p.price : undefined;\r\n return {\r\n agreementId: this.agreementId,\r\n supplierId: this.supplierId,\r\n truckType: tt.id,\r\n price: price,\r\n prevPrice: price ? price.toString() : \"null\",\r\n checked: false\r\n };\r\n });\r\n },\r\n fetchSuppliers() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .suppliersForSupportAdmin(this.cargoType)\r\n .then(res => {\r\n this.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n stopPrice: number | undefined;\r\n serviceFee: number | undefined;\r\n initialFee: number | undefined;\r\n updateModels: PriceUpdateModel[];\r\n suppliers: RepositoryDto[];\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n stopPrice: undefined,\r\n serviceFee: undefined,\r\n initialFee: undefined,\r\n updateModels: [],\r\n suppliers: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementListEditDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementListEditDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementListEditDialog.vue?vue&type=template&id=2bb112d5&\"\nimport script from \"./AgreementListEditDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementListEditDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { currencyName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport {\r\n AgreementListDto,\r\n AgreementSearchCriteriaDto,\r\n Country,\r\n Currency\r\n} from \"@/scripts/cld.api\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport { truckTypesByCargoType } from \"@/scripts/misc/enumLists\";\r\nimport { Toggles } from \"@/views/support-admin/AgreementList.vue\";\r\nimport AgreementListEditDialog from \"@/components/support-admin/agreements/AgreementListEditDialog.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { ActorListDialogType } from \"../actor/ActorTable.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n agreements: Array as () => AgreementListDto[],\r\n criteria: AgreementSearchCriteriaDto,\r\n toggles: Object as () => Toggles\r\n },\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n AgreementListEditDialog\r\n },\r\n watch: {\r\n tableOptions() {\r\n this.$emit(\"tableOptionsChanged\");\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 255);\r\n },\r\n megaUserTooltip(): string {\r\n return this.$store.getters[gets.userInfo].supportAdminLevel >= 2\r\n ? \"\"\r\n : \"Endast megaanvändare kan redigera priser\";\r\n },\r\n invoicePriceTooltip(): string {\r\n return this.criteria.invoicePrice\r\n ? \"Kan inte göras när fakturapris visas\"\r\n : \"\";\r\n },\r\n editingAgreements(): AgreementListDto[] {\r\n return this.agreements.filter(\r\n a => a.agreementId === this.editingAgreementId\r\n );\r\n },\r\n augmentedAgreements(): AgreementListDto[] {\r\n const agreements = this.sortedAgreements;\r\n agreements.map(a =>\r\n a.prices!.map(\r\n p =>\r\n ((a as any)[`tt${p.truckType}price`] =\r\n p.price && !p.ranking ? \"@\" + p.price : p.price)\r\n )\r\n );\r\n agreements.map(a =>\r\n a.prices!.map(p => ((a as any)[`tt${p.truckType}rank`] = p.ranking))\r\n );\r\n agreements.map(a =>\r\n a.prices!.map(\r\n p => ((a as any)[`tt${p.truckType}arow`] = p.agreementRowId)\r\n )\r\n );\r\n return agreements;\r\n },\r\n filteredAgreements(): AgreementListDto[] {\r\n return this.agreements\r\n .filter(\r\n a => !this.filters.currency || a.currency === this.filters.currency\r\n )\r\n .filter(\r\n a =>\r\n this.filters.procurement === undefined ||\r\n this.filters.procurement === null ||\r\n a.procurement === this.filters.procurement\r\n )\r\n .filter(\r\n a =>\r\n !this.filters.pickupCounty ||\r\n a.pickupCounty === this.filters.pickupCounty\r\n )\r\n .filter(\r\n a =>\r\n !this.filters.deliveryCounty ||\r\n a.deliveryCounty === this.filters.deliveryCounty\r\n )\r\n .filter(\r\n a =>\r\n !this.filters.pickupZipCode ||\r\n stringSearchHit(this.filters.pickupZipCode, a.pickupZipCode, true)\r\n )\r\n .filter(\r\n a =>\r\n !this.filters.deliveryZipCode ||\r\n stringSearchHit(\r\n this.filters.deliveryZipCode,\r\n a.deliveryZipCode,\r\n true\r\n )\r\n )\r\n .filter(\r\n a =>\r\n !this.filters.pickupCountry ||\r\n a.pickupCountry === this.filters.pickupCountry\r\n )\r\n .filter(\r\n a =>\r\n !this.filters.deliveryCountry ||\r\n a.deliveryCountry === this.filters.deliveryCountry\r\n );\r\n },\r\n sortedAgreements(): AgreementListDto[] {\r\n let res = [...this.filteredAgreements];\r\n let c: { (a: AgreementListDto, b: AgreementListDto): number };\r\n const sortBy = this.tableOptions.sortBy[0];\r\n const sortDesc = this.tableOptions.sortDesc[0];\r\n switch (sortBy) {\r\n case \"pickup\":\r\n c = (a, b) => stringCompare(this.pickup(a), this.pickup(b));\r\n break;\r\n case \"delivery\":\r\n c = (a, b) => stringCompare(this.delivery(a), this.delivery(b));\r\n break;\r\n default:\r\n c = (a, b) => stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n }\r\n res = res.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) ||\r\n stringCompare(this.pickup(a), this.pickup(b)) ||\r\n stringCompare(this.delivery(a), this.delivery(b)) ||\r\n stringCompare(a.supplierName, b.supplierName)\r\n );\r\n return res;\r\n },\r\n headers(): TableHeader[] {\r\n const ttHeaders: TableHeader[][] = truckTypesByCargoType(\r\n this.criteria.cargoType\r\n ).map(tt => {\r\n const h = [\r\n {\r\n value: `tt${tt.id}price`,\r\n text: tt.text,\r\n untranslated: true,\r\n width: 1\r\n }\r\n ];\r\n if (this.toggles.rank) {\r\n h.push({\r\n value: `tt${tt.id}rank`,\r\n text: \"<-Rank\",\r\n untranslated: true,\r\n width: 1\r\n });\r\n }\r\n if (this.toggles.arow) {\r\n h.push({\r\n value: `tt${tt.id}arow`,\r\n text: \"<-Arow\",\r\n untranslated: true,\r\n width: 1\r\n });\r\n }\r\n return h;\r\n });\r\n const statHeaders = [\r\n {\r\n value: \"numLoadsOffered\",\r\n text: \"Erbjudna\",\r\n untranslated: true,\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"numLoadsDeclined\",\r\n text: \"Avböjda\",\r\n untranslated: true,\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"numLoadsLoaded\",\r\n text: \"Bokade\",\r\n untranslated: true,\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"numLoadsTotal\",\r\n text: \"Hela avtalet\",\r\n untranslated: true,\r\n sortValue: true,\r\n width: 1\r\n }\r\n ].filter(_ => this.criteria.includeStatistics);\r\n return [\r\n ...this.baseHeaders,\r\n ...ttHeaders.flatMap(x => x),\r\n ...statHeaders\r\n ];\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n pickup(a: AgreementListDto): string {\r\n return `${a.pickupCounty}, ${a.pickupZipCode}, ${isoName(\r\n a.pickupCountry\r\n )}`;\r\n },\r\n delivery(a: AgreementListDto): string {\r\n return `${a.deliveryCounty}, ${a.deliveryZipCode}, ${isoName(\r\n a.deliveryCountry\r\n )}`;\r\n },\r\n openActorDialog(id: number) {\r\n window.open(\r\n `/support-admin/actors?id=${id}&dialog=${ActorListDialogType.ActorDialog}`,\r\n \"_blank\"\r\n );\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n edit(item: AgreementListDto) {\r\n this.editingAgreementId = item.agreementId;\r\n this.editingSupplierId = item.supplierId;\r\n }\r\n },\r\n data: (): {\r\n editingAgreementId: number | undefined;\r\n editingSupplierId: number | undefined;\r\n baseHeaders: TableHeader[];\r\n filters: {\r\n procurement: boolean | undefined;\r\n pickupCounty: string;\r\n pickupZipCode: string;\r\n pickupCountry: Country | undefined;\r\n deliveryCounty: string;\r\n deliveryZipCode: string;\r\n deliveryCountry: Country | undefined;\r\n currency: Currency | undefined;\r\n };\r\n tableOptions: TableOptions;\r\n } => ({\r\n editingAgreementId: undefined,\r\n editingSupplierId: undefined,\r\n baseHeaders: [\r\n { value: \"edit\", width: 1 },\r\n {\r\n value: \"agreementId\",\r\n text: \"AvtalsId\",\r\n sortValue: true,\r\n width: 1,\r\n untranslated: true\r\n },\r\n {\r\n value: \"procurement\",\r\n text: \"Status\",\r\n sortValue: true,\r\n width: 1,\r\n untranslated: true\r\n },\r\n { value: \"pickup\", text: \"PickupLocation\", sortValue: true, width: 1 },\r\n {\r\n value: \"delivery\",\r\n text: \"DeliveryLocation\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n { value: \"clientName\", text: \"Client\", sortValue: true, width: 1 },\r\n { value: \"supplierName\", text: \"Supplier\", sortValue: true, width: 1 },\r\n {\r\n value: \"agreementPeriod\",\r\n text: \"Avtalsperiod\",\r\n sortValue: true,\r\n width: 1,\r\n untranslated: true\r\n },\r\n {\r\n value: \"procurementPeriod\",\r\n text: \"Upph. period\",\r\n sortValue: true,\r\n width: 1,\r\n untranslated: true\r\n },\r\n { value: \"currency\", text: \"Currency\", sortValue: true, width: 1 },\r\n { value: \"stopPrice\", text: \"StopPrice\", sortValue: true, width: 1 }\r\n ],\r\n filters: {\r\n procurement: undefined,\r\n pickupCounty: \"\",\r\n pickupZipCode: \"\",\r\n pickupCountry: undefined,\r\n deliveryCounty: \"\",\r\n deliveryZipCode: \"\",\r\n deliveryCountry: undefined,\r\n currency: undefined\r\n },\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 100,\r\n sortBy: [\"clientName\"],\r\n sortDesc: [false]\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementListTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementListTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementListTable.vue?vue&type=template&id=753086c0&\"\nimport script from \"./AgreementListTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementListTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementListDto,\r\n AgreementsClient,\r\n AgreementSearchCriteriaDto,\r\n ApiConfiguration,\r\n CargoType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport AgreementListSearch from \"@/components/support-admin/agreements/AgreementListSearch.vue\";\r\nimport AgreementListTable from \"@/components/support-admin/agreements/AgreementListTable.vue\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport interface Toggles {\r\n rank: boolean;\r\n arow: boolean;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AgreementListSearch,\r\n AgreementListTable\r\n },\r\n watch: {\r\n criteria: {\r\n handler() {\r\n this.fetchAgreements(false);\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n methods: {\r\n scrollToTop() {\r\n scrollTableToTop(this);\r\n },\r\n fetchAgreements(scrollToTop: boolean) {\r\n if (!this.criteria.supplierId && !this.criteria.clientId) {\r\n return;\r\n }\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n if (scrollToTop) {\r\n scrollTableToTop(this);\r\n }\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .agreements(this.criteria)\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.agreements = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n exportToExcel() {\r\n this.exporting = true;\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .exportToExcel(this.criteria)\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exporting = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n exporting: boolean;\r\n agreements: AgreementListDto[];\r\n criteria: AgreementSearchCriteriaDto;\r\n toggles: Toggles;\r\n } => ({\r\n loading: 0,\r\n exporting: false,\r\n agreements: [],\r\n criteria: new AgreementSearchCriteriaDto({\r\n clientId: undefined,\r\n supplierId: undefined,\r\n cargoType: CargoType.Road,\r\n invoicePrice: false,\r\n includeStatistics: false,\r\n date: CDate.now(TimeZone.Europe_Stockholm).startOfDay()\r\n }),\r\n toggles: {\r\n rank: false,\r\n arow: false\r\n }\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AgreementList.vue?vue&type=template&id=f0bcc000&\"\nimport script from \"./AgreementList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AgreementList.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ExplorerSearch',{attrs:{\"loading\":_vm.loading > 0},on:{\"search\":_vm.search}})],1),(!_vm.loading)?_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[_c('ExplorerTree',{attrs:{\"items\":_vm.items},on:{\"itemClicked\":_vm.itemClicked}})],1):_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Spinner',{attrs:{\"size\":180,\"small-margin-top\":\"\"}})],1)],1),_c('ExplorerDialog',{attrs:{\"dialog\":_vm.selectedItem !== undefined,\"item\":_vm.selectedItem},on:{\"search\":_vm.search,\"close\":function($event){_vm.selectedItem = undefined}}})],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('SearchCard',{attrs:{\"title\":\"Urval\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"refresh\":_vm.search},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":\"Sökmetod\",\"items\":_vm.options.methods,\"rules\":[function (value) { return !!value; }]},model:{value:(_vm.criteria.method),callback:function ($$v) {_vm.$set(_vm.criteria, \"method\", $$v)},expression:\"criteria.method\"}})],1),(!_vm.advancedSelection)?_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('TextSingle',{attrs:{\"label\":\"Söktext\",\"rules\":[function (value) { return !!value; }],\"only-on-blur\":\"\"},model:{value:(_vm.criteria.text),callback:function ($$v) {_vm.$set(_vm.criteria, \"text\", $$v)},expression:\"criteria.text\"}})],1):_vm._e(),(_vm.advancedSelection)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":\"From\",\"zone\":_vm.supportActorTimeZone},model:{value:(_vm.criteria.fromDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromDate\", $$v)},expression:\"criteria.fromDate\"}})],1):_vm._e(),(_vm.advancedSelection)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DatePicker',{attrs:{\"label\":\"To\",\"gteDates\":[_vm.criteria.fromDate],\"gteText\":_vm.$t('DatePeriodGreaterThanEqual'),\"zone\":_vm.supportActorTimeZone},model:{value:(_vm.criteria.toDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"toDate\", $$v)},expression:\"criteria.toDate\"}})],1):_vm._e(),(_vm.advancedSelection)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-select',{attrs:{\"label\":\"Status\",\"rules\":[function (arr) { return arr.length > 0; }],\"items\":_vm.options.loadStatuses,\"item-value\":\"id\",\"hide-details\":\"\",\"multiple\":\"\",\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.criteria.loadStatuses),callback:function ($$v) {_vm.$set(_vm.criteria, \"loadStatuses\", $$v)},expression:\"criteria.loadStatuses\"}})],1):_vm._e(),(_vm.advancedSelection)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":\"Beställare\",\"items\":_vm.options.clients},model:{value:(_vm.criteria.client),callback:function ($$v) {_vm.$set(_vm.criteria, \"client\", $$v)},expression:\"criteria.client\"}})],1):_vm._e(),_c('v-spacer'),(_vm.advancedSelection)?_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"large\":\"\",\"height\":\"39\",\"color\":\"btn-cyan\",\"loading\":_vm.loading,\"disabled\":!_vm.valid},on:{\"click\":_vm.search}},[_vm._v(\" Sök \")])],1):_vm._e()],1)],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ExplorerClient,\r\n ExplorerSelectionOptionsDto,\r\n ExplorerSelectionMethod,\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n ExplorerSearchCriteria,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Autocomplete,\r\n Dropdown,\r\n TextSingle\r\n },\r\n props: {\r\n loading: Boolean\r\n },\r\n watch: {\r\n \"criteria.text\"() {\r\n this.search();\r\n }\r\n },\r\n computed: {\r\n criteria(): ExplorerSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.Explorer,\r\n 1\r\n );\r\n },\r\n advancedSelection(): boolean {\r\n return this.criteria.method === ExplorerSelectionMethod.LoadByAdvanced;\r\n },\r\n supportActorTimeZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n if (this.valid) {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n },\r\n mounted() {\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .selectionOptions()\r\n .then(res => {\r\n this.options = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n valid: boolean;\r\n options: ExplorerSelectionOptionsDto;\r\n } => ({\r\n valid: false,\r\n options: new ExplorerSelectionOptionsDto()\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerSearch.vue?vue&type=template&id=61266068&\"\nimport script from \"./ExplorerSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VRow,VSelect,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.items.length > 0)?_c('v-treeview',{attrs:{\"items\":_vm.items,\"item-key\":\"guid\",\"load-children\":_vm.loadChildren,\"transition\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"prepend\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-icon',{attrs:{\"color\":item.color},on:{\"click\":function($event){return _vm.itemClicked(item)}}},[_vm._v(\" \"+_vm._s(_vm.icon(item.type))+\" \")])]}},{key:\"label\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.text(item.text))+\" \")]}}],null,false,1939632664)}):_c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" Inget resultat \")]),_c('v-spacer')],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport {\r\n ExplorerNodeType,\r\n ExplorerNodeDto,\r\n ExplorerClient,\r\n ExplorerSelectionMethod,\r\n ApiConfiguration,\r\n ExplorerSearchCriteria,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n items: Array\r\n },\r\n methods: {\r\n guid(): string {\r\n return Math.random().toString();\r\n },\r\n text(text: string) {\r\n while (text.indexOf(\"$\") >= 0) {\r\n const start = text.indexOf(\"$\");\r\n const sub = text.substring(start, text.indexOf(\"$\", start + 1) + 1);\r\n text = text.replaceAll(sub, t(sub.substring(1, sub.length - 1)));\r\n }\r\n return text;\r\n },\r\n icon(type: ExplorerNodeType) {\r\n switch (type) {\r\n case ExplorerNodeType.Load:\r\n case ExplorerNodeType.AgreementLoads:\r\n return \"mdi-dolly\";\r\n case ExplorerNodeType.Agreement:\r\n case ExplorerNodeType.AgreementRouteAgreements:\r\n return \"mdi-text-box\";\r\n case ExplorerNodeType.AgreementRow:\r\n case ExplorerNodeType.AgreementAgreementRows:\r\n return \"mdi-card-text\";\r\n case ExplorerNodeType.TruckType:\r\n return \"mdi-train-car\";\r\n case ExplorerNodeType.AgreementRoute:\r\n return \"mdi-map-marker-distance\";\r\n case ExplorerNodeType.Route:\r\n case ExplorerNodeType.LocationPickupRoutes:\r\n case ExplorerNodeType.LocationDeliveryRoutes:\r\n return \"mdi-sign-direction\";\r\n case ExplorerNodeType.Location:\r\n return \"mdi-map-marker\";\r\n case ExplorerNodeType.PriceRow:\r\n return \"mdi-cash-100\";\r\n case ExplorerNodeType.LoadClient:\r\n return \"mdi-saw-blade\";\r\n case ExplorerNodeType.LoadSupplier:\r\n return \"mdi-truck-fast\";\r\n default:\r\n return neverHappens(type);\r\n }\r\n },\r\n itemClicked(item: ExplorerNodeDto) {\r\n this.$emit(\"itemClicked\", item);\r\n },\r\n loadChildren(item: ExplorerNodeDto) {\r\n const ps: Promise[] = [];\r\n switch (item.type) {\r\n case ExplorerNodeType.Load:\r\n ps.push(\r\n ...[\r\n ExplorerSelectionMethod.ClientByLoadId,\r\n ExplorerSelectionMethod.SupplierByLoadId,\r\n ExplorerSelectionMethod.PriceRowByLoadId,\r\n ExplorerSelectionMethod.AgreementByLoadId\r\n ].map(e => this.getNodesPromise(e, item))\r\n );\r\n break;\r\n case ExplorerNodeType.Agreement:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.AgreementRouteByAgreementId].map(e =>\r\n this.getNodesPromise(e, item)\r\n ),\r\n new Promise(resolve => {\r\n resolve([\r\n new ExplorerNodeDto({\r\n type: ExplorerNodeType.AgreementAgreementRows,\r\n guid: this.guid(),\r\n id: item.id,\r\n text: \"Avtalsrader\",\r\n color: \"\",\r\n children: []\r\n }),\r\n new ExplorerNodeDto({\r\n type: ExplorerNodeType.AgreementLoads,\r\n guid: this.guid(),\r\n id: item.id,\r\n text: \"Lass\",\r\n color: \"\",\r\n children: []\r\n })\r\n ]);\r\n })\r\n );\r\n\r\n break;\r\n case ExplorerNodeType.AgreementLoads:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.LoadByAgreementId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.AgreementAgreementRows:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.AgreementRowByAgreementId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.AgreementRow:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.AgreementByAgreementRowId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.AgreementRoute:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.RouteByAgreementRouteId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n item.children!.push(\r\n new ExplorerNodeDto({\r\n type: ExplorerNodeType.AgreementRouteAgreements,\r\n guid: this.guid(),\r\n id: item.id,\r\n text: \"Avtal\",\r\n color: \"\",\r\n children: []\r\n })\r\n );\r\n break;\r\n case ExplorerNodeType.AgreementRouteAgreements:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.AgreementByAgreementRouteId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.Route:\r\n ps.push(\r\n ...[\r\n ExplorerSelectionMethod.LocationByRouteId,\r\n ExplorerSelectionMethod.AgreementRouteByRouteId\r\n ].map(e => this.getNodesPromise(e, item))\r\n );\r\n break;\r\n case ExplorerNodeType.Location:\r\n ps.push(...[].map(e => this.getNodesPromise(e, item)));\r\n item.children!.push(\r\n new ExplorerNodeDto({\r\n type: ExplorerNodeType.LocationPickupRoutes,\r\n guid: this.guid(),\r\n id: item.id,\r\n text: \"Hämtrutter\",\r\n color: \"\",\r\n children: []\r\n })\r\n );\r\n item.children!.push(\r\n new ExplorerNodeDto({\r\n type: ExplorerNodeType.LocationDeliveryRoutes,\r\n guid: this.guid(),\r\n id: item.id,\r\n text: \"Leveransrutter\",\r\n color: \"\",\r\n children: []\r\n })\r\n );\r\n break;\r\n case ExplorerNodeType.LocationPickupRoutes:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.RouteByPickupLocationId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.LocationDeliveryRoutes:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.RouteByDeliveryLocationId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.PriceRow:\r\n ps.push(\r\n ...[ExplorerSelectionMethod.LoadByPriceRowId].map(e =>\r\n this.getNodesPromise(e, item)\r\n )\r\n );\r\n break;\r\n case ExplorerNodeType.TruckType:\r\n ps.push(...[].map(e => this.getNodesPromise(e, item)));\r\n break;\r\n case ExplorerNodeType.LoadClient:\r\n ps.push(...[].map(e => this.getNodesPromise(e, item)));\r\n break;\r\n case ExplorerNodeType.LoadSupplier:\r\n ps.push(...[].map(e => this.getNodesPromise(e, item)));\r\n break;\r\n default:\r\n neverHappens(item.type);\r\n }\r\n return Promise.all(ps)\r\n .then(responses => {\r\n item.children!.push(...responses.flatMap(r => r));\r\n })\r\n .then(() => {\r\n const unexpandable = [\r\n ExplorerNodeType.LoadClient,\r\n ExplorerNodeType.LoadSupplier\r\n ];\r\n item\r\n .children!.filter(c => unexpandable.includes(c.type))\r\n .map(c => (c.children = undefined));\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n getNodesPromise(\r\n method: ExplorerSelectionMethod,\r\n item: ExplorerNodeDto\r\n ): Promise {\r\n return new ExplorerClient(new ApiConfiguration(this.$store)).nodes(\r\n new ExplorerSearchCriteria({\r\n method: method,\r\n loadStatuses: [],\r\n text: item.id.toString(),\r\n client: undefined,\r\n fromDate: CDate.now(TimeZone.Europe_Stockholm),\r\n toDate: CDate.now(TimeZone.Europe_Stockholm)\r\n })\r\n );\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerTree.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerTree.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerTree.vue?vue&type=template&id=70fa48b4&\"\nimport script from \"./ExplorerTree.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerTree.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VCol,VIcon,VRow,VSpacer,VTreeview})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":_vm.title,\"full-height\":\"\"},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-tabs',{attrs:{\"color\":\"card-cyan\",\"grow\":\"\"},model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},_vm._l((_vm.showOnlySelected(_vm.tabItems, _vm.item)),function(tab){return _c('v-tab',{key:tab.text},[_vm._v(\" \"+_vm._s(tab.text)+\" \")])}),1),_c('v-tabs-items',{model:{value:(_vm.selectedTab),callback:function ($$v) {_vm.selectedTab=$$v},expression:\"selectedTab\"}},_vm._l((_vm.showOnlySelected(_vm.tabItems, _vm.item)),function(tab){return _c('v-tab-item',{key:tab.text},[_c(tab.component,{tag:\"component\",attrs:{\"item\":_vm.item,\"apiMethod\":tab.apiMethod},on:{\"search\":function($event){return _vm.$emit('search')}}})],1)}),1)]},proxy:true}])})}\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',{class:_vm.saveInProgress && 'fire'},[(_vm.priceRow)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"LassId\",\"value\":_vm.priceRow.loadId}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"PriceRowId\",\"value\":_vm.priceRow.priceRowId}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Valuta\",\"value\":_vm.currencyName(_vm.priceRow.currency)}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Avstånd\",\"value\":((_vm.priceRow.distance) + \" km\")}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('NumberInput',{attrs:{\"label\":\"Baspris\",\"allowNull\":\"\"},model:{value:(_vm.priceRow.basePrice),callback:function ($$v) {_vm.$set(_vm.priceRow, \"basePrice\", $$v)},expression:\"priceRow.basePrice\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Otherprice\",\"value\":_vm.priceRow.otherPrice}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Fraktpris\",\"value\":_vm.priceRow.freightPrice}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Fakturapris\",\"value\":_vm.priceRow.invoicePrice}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Bokningsavgift\",\"value\":_vm.priceRow.bookingFee}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Indexpris\",\"value\":_vm.money(_vm.priceRow.indexPrice, 2)}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Indexfaktor\",\"value\":_vm.percentage(_vm.priceRow.indexFactor - 1, 2)}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('NumberInput',{attrs:{\"label\":\"Indexfaktor\"},model:{value:(_vm.priceRow.indexFactor),callback:function ($$v) {_vm.$set(_vm.priceRow, \"indexFactor\", $$v)},expression:\"priceRow.indexFactor\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Basindexdatum\",\"value\":_vm.priceRow.baseIndexDate}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Indexdatum\",\"value\":_vm.priceRow.indexDate}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Senast ändrad\",\"value\":_vm.priceRow.alterDate}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('NumberInput',{attrs:{\"label\":\"Stoppris (per stopp)\",\"allowNull\":\"\"},model:{value:(_vm.priceRow.stopPrice),callback:function ($$v) {_vm.$set(_vm.priceRow, \"stopPrice\", $$v)},expression:\"priceRow.stopPrice\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Antal extrastopp\",\"value\":_vm.priceRow.numExtraStops}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('NumberInput',{attrs:{\"label\":\"ServiceFee/BL-avgift\",\"allowNull\":\"\"},model:{value:(_vm.priceRow.serviceFee),callback:function ($$v) {_vm.$set(_vm.priceRow, \"serviceFee\", $$v)},expression:\"priceRow.serviceFee\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Containrar\",\"value\":_vm.priceRow.numContainers}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Initial avgift\",\"value\":_vm.priceRow.initialFee}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"VTL\",\"value\":_vm.priceRow.vtlPrice}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":\"Escort car\",\"value\":_vm.priceRow.escortCarPrice}})],1)],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-top\",attrs:{\"cols\":\"8\"}},[_c('v-btn',{staticClass:\"fire\",attrs:{\"x-large\":\"\",\"block\":\"\",\"loading\":_vm.saveInProgress},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" Spara \")],1)],1),_c('v-spacer')],1)],1):_c('Spinner',{attrs:{\"size\":120}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ExplorerClient,\r\n ExplorerNodeDto,\r\n ApiConfiguration,\r\n UpdateLoadPriceDto,\r\n PriceClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport money, { percentage } from \"@/scripts/misc/money\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ExplorerNodeDto,\r\n apiMethod: String as () => \"pricerowByLoadid\" | \"pricerowByPricerowid\"\r\n },\r\n components: {\r\n Spinner,\r\n ReadOnlyText,\r\n NumberInput\r\n },\r\n watch: {\r\n \"item.guid\": {\r\n immediate: true,\r\n handler() {\r\n if (this.item === undefined) {\r\n return;\r\n }\r\n this.fetchPriceRow();\r\n }\r\n }\r\n },\r\n methods: {\r\n currencyName: currencyName,\r\n percentage: percentage,\r\n money: money,\r\n fetchPriceRow() {\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n [this.apiMethod](this.item.id)\r\n .then(res => {\r\n this.priceRow = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n popupDialog({\r\n title: \"Jag hoppas du vet vad du gör\",\r\n body:\r\n \"Det är väldigt viktigt att du är med på vad du håller på att göra här, för man kan ställa till det rejält. Är du säker på att du vill uppdatera lassets pris?\",\r\n btnText1: \"JA\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.actuallySave();\r\n },\r\n btnText2: \"NEEEEEJ! TA MIG HÄRIFRÅN!!!!!!!!!!\",\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n },\r\n actuallySave() {\r\n this.saveInProgress = true;\r\n new PriceClient(new ApiConfiguration(this.$store))\r\n .updateLoadPrice(this.priceRow!)\r\n .then(() => {\r\n this.fetchPriceRow();\r\n this.saveInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data(): { priceRow?: UpdateLoadPriceDto; saveInProgress: boolean } {\r\n return {\r\n priceRow: undefined,\r\n saveInProgress: false\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogPrice.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogPrice.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialogPrice.vue?vue&type=template&id=404ed9b6&\"\nimport script from \"./ExplorerDialogPrice.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialogPrice.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.loading)?_c('div',_vm._l((_vm.data),function(outerEntry,outerIndex){return _c('v-sheet',{key:outerIndex,attrs:{\"color\":outerIndex % 2 === 0 ? 'grey lighten-5' : 'grey lighten-3'}},[_c('v-row',_vm._l((outerEntry),function(entry,index){return _c('v-col',{key:index,staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":entry[0],\"value\":entry[1],\"clickable\":\"\"}})],1)}),1)],1)}),1):_vm._e(),(_vm.loading)?_c('Spinner',{attrs:{\"size\":120}}):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default (obj: Object): any[][] => {\r\n const tmp: any[][] = [];\r\n for (const entry of Object.entries(obj)) {\r\n const key = entry[0];\r\n const val = entry[1];\r\n tmp.push([\r\n makeCamelCaseReadable(key),\r\n val === null || val === undefined || val === \"\"\r\n ? \" \"\r\n : CDate.isCDate(val)\r\n ? val.dateTimePrint()\r\n : val\r\n ]);\r\n }\r\n return tmp.sort((a, b) => {\r\n return a[0].localeCompare(b[0]);\r\n });\r\n};\r\n\r\nconst makeCamelCaseReadable = (cc: string) => {\r\n const result = cc.replace(/([A-Z])/g, \" $1\");\r\n const finalResult = result.charAt(0).toUpperCase() + result.slice(1);\r\n return finalResult;\r\n};\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport {\r\n ExplorerClient,\r\n ExplorerNodeDto,\r\n ApiConfiguration\r\n} from \"@/scripts/cld.api\";\r\nimport objectToArray from \"@/scripts/misc/objectToArray\";\r\nimport { ExplorerApiMethod } from \"@/components/support-admin/explorer/ExplorerDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ExplorerNodeDto,\r\n apiMethod: String as () => ExplorerApiMethod\r\n },\r\n components: {\r\n ReadOnlyText,\r\n Spinner\r\n },\r\n watch: {\r\n \"item.guid\": {\r\n immediate: true,\r\n handler() {\r\n if (this.item === undefined) {\r\n return;\r\n }\r\n let apiCall: Promise;\r\n let apiClient: ExplorerClient = new ExplorerClient(\r\n new ApiConfiguration(this.$store)\r\n );\r\n switch (this.apiMethod) {\r\n case \"loadhistory\":\r\n apiCall = apiClient.loadhistory(this.item.id);\r\n break;\r\n case \"visibility\":\r\n apiCall = apiClient.visibility(this.item.id);\r\n break;\r\n case \"resigns\":\r\n apiCall = apiClient.resigns(this.item.id);\r\n break;\r\n case \"suppliernotified\":\r\n apiCall = apiClient.suppliernotified(this.item.id);\r\n break;\r\n case \"supplierunbookedloads\":\r\n apiCall = apiClient.supplierunbookedloads(this.item.id);\r\n break;\r\n case \"agreement\":\r\n apiCall = apiClient.agreement(this.item.id);\r\n break;\r\n case \"agreementhistory\":\r\n apiCall = apiClient.agreementhistory(this.item.id);\r\n break;\r\n case \"agreementrow\":\r\n apiCall = apiClient.agreementrow(this.item.id);\r\n break;\r\n case \"agreementroute\":\r\n apiCall = apiClient.agreementroute(this.item.id);\r\n break;\r\n case \"agreementroutehistory\":\r\n apiCall = apiClient.agreementroutehistory(this.item.id);\r\n break;\r\n case \"agreementroutetrucktypes\":\r\n apiCall = apiClient.agreementroutetrucktypes(this.item.id);\r\n break;\r\n case \"location\":\r\n console.error(\"Tycks inte va implementerad.\");\r\n default:\r\n apiCall = new Promise(resolve => resolve());\r\n }\r\n apiCall.then(res => {\r\n if (res !== undefined && res !== null) {\r\n if (Array.isArray(res)) {\r\n for (let i = 0; i < res.length; i++) {\r\n this.data.push(objectToArray(res[i]));\r\n }\r\n } else {\r\n this.data.push(objectToArray(res));\r\n }\r\n } else {\r\n this.data = [\r\n [\r\n [\"OBS\", \"Det finns inga detaljer för den här typen av nod.\"],\r\n [\"OBS\", \"Det kan dock läggas till i framtiden om så önskas.\"]\r\n ]\r\n ];\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n },\r\n data(): { loading: boolean; data: any[][][] } {\r\n return {\r\n loading: true,\r\n data: []\r\n };\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogGeneric.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogGeneric.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialogGeneric.vue?vue&type=template&id=c259796e&\"\nimport script from \"./ExplorerDialogGeneric.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialogGeneric.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.loading)?_c('div',[(_vm.hasStatusLoaded)?_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"error\",\"loading\":_vm.undoLoadingInProgress,\"large\":\"\"},on:{\"click\":_vm.undoLoading}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-rewind\")]),_vm._v(\" Ångra lastning \")],1)],1),_c('v-col',{staticClass:\"body-1\"},[_vm._v(\" Backar lasset från status lastat till status bokat. All data som har med lastningen att göras kommer att nullas ut utan möjlighet till återställning. \")])],1):_vm._e()],1):_vm._e(),(_vm.loading)?_c('Spinner',{attrs:{\"size\":120}}):_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\r\nimport Vue from \"vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport {\r\n ExplorerClient,\r\n ExplorerNodeDto,\r\n LoadCompleteDto,\r\n ApiConfiguration,\r\n LoadStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ExplorerNodeDto\r\n },\r\n components: {\r\n Spinner\r\n },\r\n watch: {\r\n \"item.guid\": {\r\n immediate: true,\r\n handler() {\r\n if (this.item === undefined) {\r\n return;\r\n }\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .load(this.item.id)\r\n .then(res => {\r\n this.load = res;\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n },\r\n computed: {\r\n hasStatusLoaded(): boolean {\r\n return this.load.statusId === LoadStatus.Loaded;\r\n }\r\n },\r\n methods: {\r\n undoLoading() {\r\n this.undoLoadingInProgress = true;\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .undoloadingload(this.load.id)\r\n .then(() => {\r\n popupDialog({\r\n noCloseButton: true,\r\n title: \"Ångra lastning\",\r\n body: `Ångra lastningen gick bra!`,\r\n btnColor1: \"success\",\r\n btnText1: \"OK\",\r\n btnCallback1: () => {\r\n this.$emit(\"search\");\r\n this.undoLoadingInProgress = false;\r\n }\r\n });\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n undoLoadingInProgress: boolean;\r\n load: LoadCompleteDto;\r\n } => ({\r\n loading: true,\r\n undoLoadingInProgress: false,\r\n load: new LoadCompleteDto()\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogLoadActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogLoadActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialogLoadActions.vue?vue&type=template&id=5c5fe79c&\"\nimport script from \"./ExplorerDialogLoadActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialogLoadActions.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"error\",\"loading\":_vm.actionInProgress,\"large\":\"\"},on:{\"click\":_vm.setProcurementDate}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-rewind\")]),_vm._v(\" Backa upphandlingsdatum \")],1)],1),_c('v-col',{staticClass:\"body-1\"},[_vm._v(\" Backar upphandlingsdatumet så att upphandlingen kan avslutas. \")])],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\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementsClient,\r\n ApiConfiguration,\r\n ExplorerNodeDto\r\n} from \"@/scripts/cld.api\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ExplorerNodeDto\r\n },\r\n methods: {\r\n setProcurementDate() {\r\n this.actionInProgress = true;\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .setProcurementEnd(this.item.id)\r\n .then(() => {\r\n this.$emit(\"search\");\r\n this.actionInProgress = false;\r\n popupDialog({\r\n noCloseButton: true,\r\n title: \"Backa upphandlingsdatum\",\r\n body: `Backa upphandlingsdatum gick bra!`,\r\n btnColor1: \"success\",\r\n btnText1: \"OK\",\r\n btnCallback1: () => {}\r\n });\r\n });\r\n }\r\n },\r\n data: (): {\r\n actionInProgress: boolean;\r\n } => ({\r\n actionInProgress: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogAgreementActions.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogAgreementActions.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialogAgreementActions.vue?vue&type=template&id=8785a09c&\"\nimport script from \"./ExplorerDialogAgreementActions.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialogAgreementActions.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(!_vm.loading)?_c('div',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"rainbow\",attrs:{\"block\":\"\",\"large\":\"\"},on:{\"click\":_vm.qpVis}},[_vm._v(\" Kvalitetpoängsvisualisering \")])],1),_vm._l((_vm.entries),function(entry,index){return _c('v-col',{key:index,staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":entry[0],\"value\":entry[1],\"clickable\":\"\"}})],1)})],2)],1):_vm._e(),(_vm.loading)?_c('Spinner',{attrs:{\"size\":120}}):_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\r\nimport Vue from \"vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport {\r\n ExplorerClient,\r\n ExplorerNodeDto,\r\n ApiConfiguration,\r\n ExplorerAgreementQualityPoints\r\n} from \"@/scripts/cld.api\";\r\nimport objectToArray from \"@/scripts/misc/objectToArray\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: ExplorerNodeDto\r\n },\r\n components: {\r\n Spinner,\r\n ReadOnlyText\r\n },\r\n watch: {\r\n \"item.guid\": {\r\n immediate: true,\r\n handler() {\r\n if (this.item === undefined) {\r\n return;\r\n }\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .agreementqualitypoints(this.item.id)\r\n .then(res => {\r\n this.agreement = res;\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n },\r\n computed: {\r\n entries(): any[][] {\r\n if (!this.agreement) {\r\n return [];\r\n }\r\n return objectToArray(this.agreement);\r\n }\r\n },\r\n methods: {\r\n qpVis() {\r\n this.$router.push(\r\n `/support-admin/qp-vis?agreementid=${this.agreement!.agreementId}`\r\n );\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n agreement?: ExplorerAgreementQualityPoints;\r\n } => ({\r\n loading: true,\r\n agreement: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogQualityPoints.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialogQualityPoints.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialogQualityPoints.vue?vue&type=template&id=9c4e269e&\"\nimport script from \"./ExplorerDialogQualityPoints.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialogQualityPoints.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport {\r\n ApiConfiguration,\r\n ExplorerClient,\r\n ExplorerNodeDto,\r\n ExplorerNodeType\r\n} from \"@/scripts/cld.api\";\r\nimport ExplorerDialogLoadDetails from \"@/components/support-admin/explorer/ExplorerDialogLoadDetails.vue\";\r\nimport ExplorerDialogPrice from \"@/components/support-admin/explorer/ExplorerDialogPrice.vue\";\r\nimport ExplorerDialogGeneric from \"@/components/support-admin/explorer/ExplorerDialogGeneric.vue\";\r\nimport ExplorerDialogLoadActions from \"@/components/support-admin/explorer/ExplorerDialogLoadActions.vue\";\r\nimport ExplorerDialogAgreementActions from \"@/components/support-admin/explorer/ExplorerDialogAgreementActions.vue\";\r\nimport ExplorerDialogQualityPoints from \"@/components/support-admin/explorer/ExplorerDialogQualityPoints.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { ActorListDialogType } from \"../actor/ActorTable.vue\";\r\n\r\nexport type ExplorerApiMethod =\r\n | undefined\r\n | \"loadhistory\"\r\n | \"visibility\"\r\n | \"resigns\"\r\n | \"suppliernotified\"\r\n | \"supplierunbookedloads\"\r\n | \"pricerowByLoadid\"\r\n | \"pricerowByPricerowid\"\r\n | \"agreement\"\r\n | \"agreementhistory\"\r\n | \"agreementrow\"\r\n | \"agreementroute\"\r\n | \"agreementroutetrucktypes\"\r\n | \"agreementroutehistory\"\r\n | \"location\";\r\n\r\ninterface TabItem {\r\n text: string;\r\n forType: ExplorerNodeType;\r\n component: any;\r\n apiMethod: ExplorerApiMethod;\r\n onlyForMegaUsers?: boolean;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n dialog: Boolean,\r\n item: ExplorerNodeDto\r\n },\r\n watch: {\r\n \"item.guid\": {\r\n immediate: true,\r\n handler() {\r\n if (this.item === undefined) {\r\n return;\r\n }\r\n this.dialogType = this.item.type;\r\n this.additionalTitleInfo = \"\";\r\n if (this.item.type === ExplorerNodeType.AgreementRow) {\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .agreementrow(this.item.id)\r\n .then(res => {\r\n this.additionalTitleInfo = truckTypeName(res.truckType);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n if (\r\n [ExplorerNodeType.LoadClient, ExplorerNodeType.LoadSupplier].includes(\r\n this.item.type\r\n )\r\n ) {\r\n window.open(\r\n `/support-admin/actors?id=${this.item.id}&dialog=${ActorListDialogType.ActorDialog}`,\r\n \"_blank\"\r\n );\r\n this.close();\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n title(): string {\r\n if (this.item === undefined) {\r\n return \"\";\r\n }\r\n return (\r\n ExplorerNodeType[this.item.type] +\r\n \" : \" +\r\n this.item.id +\r\n \" \" +\r\n this.additionalTitleInfo\r\n );\r\n },\r\n isMegaUser(): boolean {\r\n return this.$store.getters[gets.userInfo].supportAdminLevel >= 2;\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.dialogType = -1;\r\n this.selectedTab = \"\";\r\n this.$emit(\"close\");\r\n },\r\n showOnlySelected(items: TabItem[], node: ExplorerNodeDto) {\r\n if (node === undefined) {\r\n return [];\r\n }\r\n return items\r\n .filter(item => item.forType === node.type)\r\n .filter(item => !item.onlyForMegaUsers || this.isMegaUser);\r\n }\r\n },\r\n data: (): {\r\n additionalTitleInfo: string;\r\n dialogType: number;\r\n selectedTab: string;\r\n tabItems: TabItem[];\r\n } => ({\r\n additionalTitleInfo: \"\",\r\n dialogType: -1,\r\n selectedTab: \"\",\r\n tabItems: [\r\n {\r\n text: \"Lass\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogLoadDetails,\r\n apiMethod: undefined\r\n },\r\n {\r\n text: \"Historik\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"loadhistory\"\r\n },\r\n {\r\n text: \"Synlighet\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"visibility\"\r\n },\r\n {\r\n text: \"Nekanden\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"resigns\"\r\n },\r\n {\r\n text: \"Notifieringar\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"suppliernotified\"\r\n },\r\n {\r\n text: \"Avbokningar\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"supplierunbookedloads\"\r\n },\r\n {\r\n text: \"Pris\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogPrice,\r\n apiMethod: \"pricerowByLoadid\"\r\n },\r\n {\r\n text: \"Pris\",\r\n forType: ExplorerNodeType.PriceRow,\r\n component: ExplorerDialogPrice,\r\n apiMethod: \"pricerowByPricerowid\"\r\n },\r\n {\r\n text: \"Åtgärder\",\r\n forType: ExplorerNodeType.Load,\r\n component: ExplorerDialogLoadActions,\r\n apiMethod: undefined\r\n },\r\n {\r\n text: \"Avtal\",\r\n forType: ExplorerNodeType.Agreement,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"agreement\"\r\n },\r\n {\r\n text: \"Historik\",\r\n forType: ExplorerNodeType.Agreement,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"agreementhistory\"\r\n },\r\n {\r\n text: \"Kvalitetspoäng\",\r\n forType: ExplorerNodeType.Agreement,\r\n component: ExplorerDialogQualityPoints,\r\n apiMethod: undefined\r\n },\r\n {\r\n text: \"Åtgärder\",\r\n forType: ExplorerNodeType.Agreement,\r\n component: ExplorerDialogAgreementActions,\r\n apiMethod: undefined,\r\n onlyForMegaUsers: true\r\n },\r\n {\r\n text: \"Avtalsrad\",\r\n forType: ExplorerNodeType.AgreementRow,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"agreementrow\"\r\n },\r\n {\r\n text: \"Avtalsrutt\",\r\n forType: ExplorerNodeType.AgreementRoute,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"agreementroute\"\r\n },\r\n {\r\n text: \"Kopplade Lastbärare\",\r\n forType: ExplorerNodeType.AgreementRoute,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"agreementroutetrucktypes\"\r\n },\r\n {\r\n text: \"Historik\",\r\n forType: ExplorerNodeType.AgreementRoute,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"agreementroutehistory\"\r\n },\r\n {\r\n text: \"Ort\",\r\n forType: ExplorerNodeType.Location,\r\n component: ExplorerDialogGeneric,\r\n apiMethod: \"location\"\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExplorerDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExplorerDialog.vue?vue&type=template&id=ab2d8732&\"\nimport script from \"./ExplorerDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExplorerDialog.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VTab,VTabItem,VTabs,VTabsItems})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ExplorerNodeDto,\r\n ExplorerClient,\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n ExplorerSearchCriteria\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport ExplorerSearch from \"@/components/support-admin/explorer/ExplorerSearch.vue\";\r\nimport ExplorerTree from \"@/components/support-admin/explorer/ExplorerTree.vue\";\r\nimport ExplorerDialog from \"@/components/support-admin/explorer/ExplorerDialog.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner,\r\n ExplorerSearch,\r\n ExplorerTree,\r\n ExplorerDialog\r\n },\r\n computed: {\r\n searchCriteria(): ExplorerSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.Explorer,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n itemClicked(item: ExplorerNodeDto): void {\r\n this.selectedItem = item;\r\n },\r\n search() {\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n const id = this.selectedItem ? this.selectedItem.id : undefined;\r\n this.selectedItem = undefined;\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .nodes(this.searchCriteria)\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n this.items = res;\r\n if (id) {\r\n this.selectedItem = this.items.find(i => i.id === id);\r\n }\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n selectedItem: ExplorerNodeDto | undefined;\r\n loading: number;\r\n items: ExplorerNodeDto[];\r\n } => ({\r\n selectedItem: undefined,\r\n loading: 0,\r\n items: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Explorer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Explorer.vue?vue&type=template&id=d922ff00&\"\nimport script from \"./Explorer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Explorer.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Urval\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":_vm.search},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('From'),\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.searchCriteria.fromDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"fromDate\", $$v)},expression:\"searchCriteria.fromDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('DatePicker',{attrs:{\"label\":_vm.$t('To'),\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.searchCriteria.toDate),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"toDate\", $$v)},expression:\"searchCriteria.toDate\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('NumberInput',{attrs:{\"label\":\"Max antal\"},model:{value:(_vm.searchCriteria.topMailCount),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"topMailCount\", $$v)},expression:\"searchCriteria.topMailCount\"}})],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('Dropdown',{attrs:{\"label\":\"RetryCount\",\"items\":_vm.retryCountItems},model:{value:(_vm.searchCriteria.withRetries),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"withRetries\", $$v)},expression:\"searchCriteria.withRetries\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":\"Email (Kan lämnas tom)\",\"only-on-blur\":\"\"},model:{value:(_vm.searchCriteria.emailAddressFilter),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"emailAddressFilter\", $$v)},expression:\"searchCriteria.emailAddressFilter\"}})],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextSingle',{attrs:{\"label\":\"Subject\",\"only-on-blur\":\"\"},on:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.search.apply(null, arguments)}},model:{value:(_vm.searchCriteria.subject),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"subject\", $$v)},expression:\"searchCriteria.subject\"}})],1),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('TextSingle',{attrs:{\"label\":\"Body\",\"only-on-blur\":\"\"},model:{value:(_vm.searchCriteria.body),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"body\", $$v)},expression:\"searchCriteria.body\"}})],1),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-btn',{attrs:{\"tabindex\":\"1\"},on:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.search.apply(null, arguments)},\"click\":_vm.search}},[_c('v-icon',[_vm._v(\"mdi-database-search-outline\")])],1)],1)],1)]},proxy:true}])})],1),(_vm.loading)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Spinner',{attrs:{\"size\":180,\"small-top-margin\":\"\"}})],1):_vm._e(),(!_vm.loading && _vm.emails.length > 0)?_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-container',{staticClass:\"scroll-container no-padding\"},[_c('v-list',{attrs:{\"width\":\"500\"}},[_c('v-list-item-group',{attrs:{\"color\":\"cyan\"},model:{value:(_vm.index),callback:function ($$v) {_vm.index=$$v},expression:\"index\"}},_vm._l((_vm.emails),function(email){return _c('v-list-item',{key:email.id,class:_vm.highlightRetries(email)},[_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(email.subject)+\" \")]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(email.mailAddress)+\" \")]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.dates(email))+\" \"),_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(_vm.retries(email)))])]),(email.retryCount === 2)?_c('v-btn',{on:{\"click\":function($event){return _vm.resetEmailRetryCount(email.id)}}},[_c('v-icon',[_vm._v(\"mdi-email-sync\")])],1):_vm._e()],1)],1)}),1)],1)],1)],1):_vm._e(),(!_vm.loading && _vm.emails.length > 0)?_c('v-col',{staticClass:\"no-padding-right\"},[_c('v-container',{staticClass:\"scroll-container no-padding small-padding-top\"},[_c('ReadOnlyText',{attrs:{\"label\":\"Sent to\",\"value\":_vm.emailSentTo(_vm.index)}}),_c('ReadOnlyText',{attrs:{\"label\":\"Subject\",\"value\":_vm.emailSubject(_vm.index)}}),_c('TextMulti',{attrs:{\"label\":\"Body\",\"value\":_vm.emailText(_vm.index),\"readonly\":\"\"}})],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n MailviewerClient,\r\n EmailDto,\r\n ApiConfiguration,\r\n EmailSearchCriteria,\r\n UserConfigurationType,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n TextMulti,\r\n ReadOnlyText,\r\n TextSingle,\r\n NumberInput,\r\n Spinner\r\n },\r\n computed: {\r\n searchCriteria(): EmailSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.Mailviewer,\r\n 1\r\n );\r\n },\r\n supportAdminTimeZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n search(): void {\r\n this.loading = true;\r\n this.searchCriteria.toDate = this.searchCriteria.toDate!.endOfDay();\r\n new MailviewerClient(new ApiConfiguration(this.$store))\r\n .emails(this.searchCriteria)\r\n .then(result => {\r\n this.loading = false;\r\n this.emails = result;\r\n this.index = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n resetEmailRetryCount(emailId: number): void {\r\n new MailviewerClient(new ApiConfiguration(this.$store))\r\n .resetEmailRetrycount(emailId)\r\n .then(() => {\r\n this.search();\r\n });\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.Mailviewer,\r\n subTypeId: 1,\r\n actorType: 0\r\n })\r\n .then(() => {\r\n this.search();\r\n });\r\n },\r\n dates(email: EmailDto): string {\r\n return `RegDate: ${email.regDate.dateTimePrint()} | SendDate: ${\r\n email.sendDate ? email.sendDate.dateTimePrint() : \"NULL\"\r\n }`;\r\n },\r\n retries(email: EmailDto): string {\r\n return email.retryCount === 0 ? \"\" : `| Retries: ${email.retryCount}`;\r\n },\r\n highlightRetries(email: EmailDto): string {\r\n return email.retryCount === 2\r\n ? \"highlighted-background highlighted-text\"\r\n : email.retryCount === 1\r\n ? \"highlighted-text\"\r\n : \"\";\r\n },\r\n emailText(index: number): string {\r\n if (index >= this.emails.length) {\r\n return \"Select an email\";\r\n }\r\n return this.emails[index].body!.replaceAll(\"
\", \"\\n\");\r\n },\r\n emailSubject(index: number): string {\r\n if (index >= this.emails.length) {\r\n return \"Select an email\";\r\n }\r\n return this.emails[index].subject!;\r\n },\r\n emailSentTo(index: number): string {\r\n if (index >= this.emails.length) {\r\n return \"Select an email\";\r\n }\r\n return this.emails[index].mailAddress!;\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n emails: EmailDto[];\r\n index: number;\r\n retryCountItems: RepositoryDto[];\r\n } => ({\r\n loading: false,\r\n emails: [],\r\n index: 0,\r\n retryCountItems: [\r\n new RepositoryDto({\r\n id: true as any,\r\n text: \"Med\"\r\n }),\r\n new RepositoryDto({\r\n id: false as any,\r\n text: \"Utan\"\r\n }),\r\n new RepositoryDto({\r\n id: null as any,\r\n text: \"Båda\"\r\n })\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailviewer.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Mailviewer.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Mailviewer.vue?vue&type=template&id=7867ff06&scoped=true&\"\nimport script from \"./Mailviewer.vue?vue&type=script&lang=ts&\"\nexport * from \"./Mailviewer.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./Mailviewer.vue?vue&type=style&index=0&id=7867ff06&scoped=true&lang=css&\"\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 \"7867ff06\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemGroup } from 'vuetify/lib/components/VList';\nimport { VListItemSubtitle } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VList,VListItem,VListItemContent,VListItemGroup,VListItemSubtitle,VListItemTitle,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.title,\"no-padding-sides\":\"\"},scopedSlots:_vm._u([(_vm.agreement)?{key:\"head-right\",fn:function(){return [_c('v-btn',{on:{\"click\":_vm.gotoQPWeights}},[_c('v-icon',[_vm._v(\"mdi-weight\")])],1)]},proxy:true}:null,{key:\"body\",fn:function(){return [_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredVisRows,\"height\":_vm.tableHeight,\"items-per-page\":-1,\"loading\":_vm.loading,\"sort-by\":\"truckTypeId\",\"sort-desc\":\"\",\"must-sort\":\"\",\"hide-default-header\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\nvar props = ref.props;\nvar on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.supplierName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Leverantör\"},model:{value:(_vm.supplierFilter),callback:function ($$v) {_vm.supplierFilter=$$v},expression:\"supplierFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.truckType\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.truckTypeName(item.truckType)))])]}},{key:\"item.supplierName\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.supplierName))])]}},{key:\"item.rankingType\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.rankingTypeName(item.rankingType))+\" \")]}},{key:\"item.factoredParameterPoints\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(((item.factoredParameterPoints) + \" (\" + (item.factor * 100) + \"% av \" + (item.baseParameterPoints) + \")\")))])]}},{key:\"item.priceForRanking\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(((item.priceForRanking) + \" (baspris: \" + (item.basePrice) + \")\")))])]}},{key:\"item.rankingTypeNames\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.rankingTypeName(1))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.rankingTypeName(2))+\" \"),_c('br'),_vm._v(\" \"+_vm._s(_vm.rankingTypeName(3))+\" \")]},proxy:true},{key:\"item.points\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"baseParameterPoints\")))])]}},{key:\"item.numLoads\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsTotal\")))])]}},{key:\"item.offered\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsOffered\")))])]}},{key:\"item.rejected\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsRejected\")))])]}},{key:\"item.loaded\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsLoaded\")))])]}},{key:\"item.loadedWithinRequestedTime\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsLoadedWithinRequestedTime\")))])]}},{key:\"item.loadedWithStatedTime\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsLoadedWithStatedTime\")))])]}},{key:\"item.loadedWithinStatedTime\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsLoadedWithinStatedTime\")))])]}},{key:\"item.delivered\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsDelivered\")))])]}},{key:\"item.deliveredUsingApp\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.triforce(item, \"numLoadsDeliveredUsingApp\")))])]}}],null,true)})]},proxy:true}],null,true)})],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\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport {\r\n ApiConfiguration,\r\n ExplorerAgreementQualityPoints,\r\n ExplorerClient,\r\n QualityPointsVisualisation,\r\n RankingType,\r\n SupportAdminQualityPointsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 140);\r\n },\r\n agreementId(): number {\r\n return Number(this.$route.query.agreementid);\r\n },\r\n filteredVisRows(): QualityPointsVisualisation[] {\r\n return this.visRows.filter(\r\n s =>\r\n !this.supplierFilter ||\r\n s\r\n .supplierName!.toLowerCase()\r\n .includes(this.supplierFilter.toLowerCase())\r\n );\r\n },\r\n title(): string {\r\n let res = \"Man måste gå till den här sidan via utforskaren\";\r\n if (this.agreement) {\r\n res = `${this.agreement.clientName}`;\r\n res += ` | ${this.agreement.agreementRouteName}`;\r\n res += ` | avt. ${this.agreement.agreementFrom.datePrint()} - ${this.agreement.agreementTo.datePrint()}`;\r\n res += ` | upp. ${this.agreement.procurementFrom.datePrint()} - ${this.agreement.procurementTo.datePrint()}`;\r\n res += ` | kva. ${this.agreement.qualityPointsFrom.datePrint()} - ${this.agreement.qualityPointsTo.datePrint()}`;\r\n }\r\n return res;\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n triforce(qp: QualityPointsVisualisation, key: string): string {\r\n let res = \"\";\r\n if (qp.routeQP) {\r\n res += (qp.routeQP as any)[key];\r\n }\r\n res += \"\\n\";\r\n if (qp.clientQP) {\r\n res += (qp.clientQP as any)[key];\r\n }\r\n res += \"\\n\";\r\n if (qp.systemQP) {\r\n res += (qp.systemQP as any)[key];\r\n }\r\n return res;\r\n },\r\n fetchQP(agreementId: number, clientId: number) {\r\n this.loading = true;\r\n new SupportAdminQualityPointsClient(new ApiConfiguration(this.$store))\r\n .visualisation(agreementId, clientId)\r\n .then(res => {\r\n this.visRows = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchAgreement(agreementId: number) {\r\n this.loading = true;\r\n new ExplorerClient(new ApiConfiguration(this.$store))\r\n .agreementqualitypoints(agreementId)\r\n .then(res => {\r\n this.agreement = res;\r\n this.fetchQP(this.agreement.agreementId, this.agreement.clientId);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n rankingTypeName(rankingType: RankingType): string {\r\n switch (rankingType) {\r\n case RankingType.Route:\r\n return t(\"Route\");\r\n case RankingType.Client:\r\n return t(\"Client\");\r\n case RankingType.System:\r\n return \"C-Load\";\r\n default:\r\n return t(\"NoLoadsFound\");\r\n }\r\n },\r\n gotoQPWeights() {\r\n this.$router.push(\r\n `/support-admin/qp-weights?clientid=${this.agreement!.clientId}`\r\n );\r\n }\r\n },\r\n mounted() {\r\n if (this.agreementId) {\r\n this.fetchAgreement(this.agreementId);\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n visRows: QualityPointsVisualisation[];\r\n agreement?: ExplorerAgreementQualityPoints;\r\n supplierFilter: string;\r\n headers: TableHeader[];\r\n } => ({\r\n loading: false,\r\n visRows: [],\r\n agreement: undefined,\r\n supplierFilter: \"\",\r\n headers: [\r\n {\r\n value: \"truckType\",\r\n text: \"TruckType\"\r\n },\r\n {\r\n value: \"ranking\",\r\n text: \"Ranking\"\r\n },\r\n {\r\n value: \"supplierName\",\r\n text: \"Supplier\"\r\n },\r\n {\r\n value: \"rankingType\",\r\n text: \"SourceForStatistics\"\r\n },\r\n {\r\n value: \"totalPoints\",\r\n text: \"Totalp.\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"factoredParameterPoints\",\r\n text: \"Parameterp.\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"subjectivePoints\",\r\n text: \"Affärsp.\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"pricePoints\",\r\n text: \"Prisp.\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"priceForRanking\",\r\n text: \"Pris (*Komplex sak)\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"rankingTypeNames\",\r\n text: \"\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"points\",\r\n text: \"Parameterp.\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"numLoads\",\r\n text: \"Lassunderlag\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"offered\",\r\n text: \"Erbjudna\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"rejected\",\r\n text: \"Avböjda\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"loaded\",\r\n text: \"Lastade\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"loadedWithinRequestedTime\",\r\n text: \"Inom begärd\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"loadedWithStatedTime\",\r\n text: \"Med utlovad\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"loadedWithinStatedTime\",\r\n text: \"Inom utlovad\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"delivered\",\r\n text: \"Lossade\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"deliveredUsingApp\",\r\n text: \"Applossade\",\r\n untranslated: true\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsVis.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsVis.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsVis.vue?vue&type=template&id=c1a7f618&scoped=true&\"\nimport script from \"./QualityPointsVis.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsVis.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./QualityPointsVis.vue?vue&type=style&index=0&id=c1a7f618&scoped=true&lang=css&\"\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 \"c1a7f618\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDataTable,VIcon,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":_vm.$t('WeightningQualitypoint')},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Client'),\"items\":_vm.clients},model:{value:(_vm.clientId),callback:function ($$v) {_vm.clientId=$$v},expression:\"clientId\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes()},model:{value:(_vm.cargoType),callback:function ($$v) {_vm.cargoType=$$v},expression:\"cargoType\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-left\",attrs:{\"cols\":\"5\"}},[_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\" Id \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"Name\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"FromWithInitialCaps\"))+\" \")]),_c('th',[_vm._v(\" \"+_vm._s(_vm.$t(\"ToWithInitialCaps\"))+\" \")])])]),(_vm.loadingSemaphore === 0)?_c('tbody',_vm._l((_vm.subjectiveWeights),function(item){return _c('tr',{key:item.parameterId},[_c('td',[_vm._v(_vm._s(item.parameterId))]),_c('td',[_vm._v(_vm._s(_vm.$t(item.parameterName ? item.parameterName : \"\")))]),_c('td',[_vm._v(_vm._s(item.minValue))]),_c('td',[_vm._v(_vm._s(item.maxValue))])])}),0):_c('tbody',[_c('tr',[_c('td',{attrs:{\"colspan\":\"99\"}},[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\"}})],1)])])]},proxy:true}])})],1)],1),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"7\"}},[_c('QualityPointsWeightsTable',{attrs:{\"loading\":_vm.loadingSemaphore > 0,\"performanceWeights\":_vm.performanceWeights}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n SubjectiveQPWeightsDto,\r\n PerformanceQPWeightsDto,\r\n RepositoryClient,\r\n RepositoryDto,\r\n SupportAdminQualityPointsClient,\r\n ActorsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport QualityPointsWeightsTable from \"@/components/web/qp/QualityPointsWeightsTable.vue\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n Dropdown,\r\n QualityPointsWeightsTable\r\n },\r\n watch: {\r\n \"$route.query\": {\r\n handler() {\r\n this.fetchPerformanceWeights();\r\n this.fetchSubjectiveWeights();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n clientId: {\r\n get(): number {\r\n return Number(this.$route.query.clientid);\r\n },\r\n set(clientId: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n clientid: clientId.toString(),\r\n cargoType: this.cargoType.toString()\r\n }\r\n });\r\n }\r\n },\r\n cargoType: {\r\n get(): number {\r\n return Number(this.$route.query.cargoType);\r\n },\r\n set(cargoType: number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n clientid: this.clientId.toString(),\r\n cargoType: cargoType.toString()\r\n }\r\n });\r\n }\r\n }\r\n },\r\n methods: {\r\n cargoTypes: cargoTypes,\r\n fetchPerformanceWeights() {\r\n if (!this.cargoType || !this.clientId) {\r\n return;\r\n }\r\n this.loadingSemaphore++;\r\n new SupportAdminQualityPointsClient(new ApiConfiguration(this.$store))\r\n .performanceWeights(this.cargoType, this.clientId)\r\n .then(res => {\r\n this.performanceWeights = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSubjectiveWeights() {\r\n if (!this.clientId) {\r\n return;\r\n }\r\n this.loadingSemaphore++;\r\n new SupportAdminQualityPointsClient(new ApiConfiguration(this.$store))\r\n .subjectiveWeights(this.clientId)\r\n .then(res => {\r\n this.subjectiveWeights = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientsForSupportAdmin(true)\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n data: (): {\r\n clients: RepositoryDto[];\r\n loadingSemaphore: number;\r\n performanceWeights: PerformanceQPWeightsDto[];\r\n subjectiveWeights: SubjectiveQPWeightsDto[];\r\n } => ({\r\n clients: [],\r\n loadingSemaphore: 0,\r\n performanceWeights: [],\r\n subjectiveWeights: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeights.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeights.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./QualityPointsWeights.vue?vue&type=template&id=30818806&\"\nimport script from \"./QualityPointsWeights.vue?vue&type=script&lang=ts&\"\nexport * from \"./QualityPointsWeights.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VProgressLinear,VRow,VSheet,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Uppdatera avstånd\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('DistanceTable',{attrs:{\"loading\":_vm.loading,\"tableOptions\":_vm.tableOptions,\"routesContainer\":_vm.routesContainer,\"toggled\":_vm.toggled,\"updating\":_vm.updating},on:{\"toggle\":_vm.toggle,\"toggleAll\":_vm.toggleAll,\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-row',[(_vm.updating.length > 0)?_c('v-col',{staticClass:\"large-padding-left\",attrs:{\"cols\":\"9\"}},[_c('v-progress-linear',{attrs:{\"value\":(100 * _vm.finishedUpdating) / _vm.updating.length,\"color\":\"btn-cyan\",\"height\":\"36\",\"rounded\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.finishedUpdating)+\" / \"+_vm._s(_vm.updating.length)+\" \")])],1):_vm._e(),_c('v-spacer'),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"}},[(_vm.updating.length === 0)?_c('v-btn',{attrs:{\"disabled\":!_vm.toggled.length,\"color\":\"warning\"},on:{\"click\":_vm.update}},[_vm._v(\" Uppdatera avstånd (\"+_vm._s(_vm.toggled.length)+\") \")]):_c('v-btn',{attrs:{\"loading\":_vm.finishedUpdating < _vm.updating.length,\"color\":\"btn-cyan\"},on:{\"click\":function($event){_vm.updating = []}}},[_vm._v(\" Cool! \")])],1)],1)],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\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport {\r\n AgreementRouteDistanceSearchCriteria,\r\n ApiConfiguration,\r\n DistanceClient,\r\n UserConfigurationType,\r\n AgreementRouteDistanceOrderBy,\r\n AgreementRouteDistanceSearchCriteriaContainer,\r\n AgreementRouteDistanceContainerDto,\r\n RoutingExactness\r\n} from \"@/scripts/cld.api\";\r\nimport DistanceTable from \"@/components/support-admin/DistanceTable.vue\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\n\r\nenum UpdateRes {\r\n Waiting,\r\n Fail,\r\n Changed,\r\n Unchanged\r\n}\r\n\r\nexport interface UpdatingRoute {\r\n id: number;\r\n distance: number | undefined;\r\n res: UpdateRes;\r\n color: string;\r\n}\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DistanceTable\r\n },\r\n computed: {\r\n searchCriteria(): AgreementRouteDistanceSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.Distance,\r\n 1\r\n );\r\n },\r\n sorting(): {\r\n orderBy: AgreementRouteDistanceOrderBy;\r\n orderByDesc: boolean;\r\n } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as AgreementRouteDistanceOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n finishedUpdating(): number {\r\n return this.updating.filter(x => x.res !== UpdateRes.Waiting).length;\r\n }\r\n },\r\n methods: {\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search();\r\n },\r\n toggle(id: number) {\r\n if (this.toggled.includes(id)) {\r\n this.toggled = this.toggled.filter(x => x !== id);\r\n } else {\r\n this.toggled.push(id);\r\n }\r\n },\r\n toggleAll(state: boolean | undefined) {\r\n if (state) {\r\n this.toggled = [];\r\n } else {\r\n this.toggled = this.routesContainer.rows!.map(r => r.id);\r\n }\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.Distance,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [\r\n AgreementRouteDistanceOrderBy.PickupLocation\r\n ];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search() {\r\n this.loading = true;\r\n new DistanceClient(new ApiConfiguration(this.$store))\r\n .list(\r\n new AgreementRouteDistanceSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n this.routesContainer = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n async update() {\r\n this.updating = this.toggled.map(id => ({\r\n id: id,\r\n distance: this.routesContainer.rows!.find(r => r.id === id)!.distance,\r\n res: UpdateRes.Waiting,\r\n color: \"\"\r\n }));\r\n this.toggled = [];\r\n for (let u of this.updating) {\r\n const route = this.routesContainer.rows!.find(r => r.id === u.id)!;\r\n await new DistanceClient(new ApiConfiguration(this.$store))\r\n .update(route)\r\n .then(res => {\r\n if (res.routingExactnessPickup === RoutingExactness.Fail) {\r\n u.res = UpdateRes.Fail;\r\n u.color = \"red-row\";\r\n } else if (\r\n res.distance !== route.distance ||\r\n res.routingExactnessPickup !== route.routingExactnessPickup ||\r\n res.routingExactnessDelivery !== route.routingExactnessDelivery\r\n ) {\r\n u.res = UpdateRes.Changed;\r\n u.color = \"green-row\";\r\n route.distance = res.distance;\r\n route.routingExactnessPickup = res.routingExactnessPickup;\r\n route.routingExactnessDelivery = res.routingExactnessDelivery;\r\n } else {\r\n u.res = UpdateRes.Unchanged;\r\n u.color = \"blue-row\";\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n updating: UpdatingRoute[];\r\n toggled: number[];\r\n routesContainer: AgreementRouteDistanceContainerDto;\r\n tableOptions: TableOptions;\r\n } => ({\r\n loading: true,\r\n updating: [],\r\n toggled: [],\r\n routesContainer: new AgreementRouteDistanceContainerDto({\r\n rows: [],\r\n count: 0\r\n }),\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 500,\r\n sortBy: [AgreementRouteDistanceOrderBy.PickupLocation],\r\n sortDesc: [false]\r\n })\r\n })\r\n});\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"item-key\":\"routeId\",\"headers\":_vm.headers,\"items\":_vm.routesContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.routesContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"item-class\":function (r) { return _vm.itemClass(r); },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.action\",fn:function(){return [_c('div',{staticClass:\"medium-padding-top\"},[_c('CheckboxTiny',{attrs:{\"value\":_vm.allToggled},on:{\"input\":_vm.toggleAll}})],1)]},proxy:true},{key:\"filter.hidden\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'yesNo'\n },\"placeholder\":_vm.$t('Hidden')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.hidden),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"hidden\", $$v)},expression:\"searchCriteria.hidden\"}})]},proxy:true},{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location',\n pickup: true\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location',\n pickup: false\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.clientName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'client',\n includeInactive: true\n },\"placeholder\":_vm.$t('Client')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.clientId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"clientId\", $$v)},expression:\"searchCriteria.clientId\"}})]},proxy:true},{key:\"filter.cargoType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'cargoType'\n },\"placeholder\":_vm.$t('CargoType')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.cargoType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"cargoType\", $$v)},expression:\"searchCriteria.cargoType\"}})]},proxy:true},{key:\"filter.distance\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'withWithout'\n },\"placeholder\":_vm.$t('Distance')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.hasDistance),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"hasDistance\", $$v)},expression:\"searchCriteria.hasDistance\"}})]},proxy:true},{key:\"filter.routingExactnessPickup\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'routingExactness'\n },\"placeholder\":\"Exakthet\"},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.routingExactnessPickup),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"routingExactnessPickup\", $$v)},expression:\"searchCriteria.routingExactnessPickup\"}})]},proxy:true},{key:\"filter.routingExactnessDelivery\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'routingExactness'\n },\"placeholder\":\"Exakthet\"},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.routingExactnessDelivery),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"routingExactnessDelivery\", $$v)},expression:\"searchCriteria.routingExactnessDelivery\"}})]},proxy:true}],null,true)})]}},{key:\"item.action\",fn:function(ref){\n var item = ref.item;\nreturn [_c('CheckboxTiny',{attrs:{\"value\":_vm.toggled.includes(item.id)},on:{\"input\":function($event){return _vm.toggle(item.id)}}})]}},{key:\"item.hidden\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-icon',{attrs:{\"color\":item.hidden ? 'error' : 'success'}},[_vm._v(_vm._s(item.hidden ? \"mdi-eye-off\" : \"mdi-eye\"))])]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.locationName( item.pickupCounty, item.pickupZipCode, item.pickupCountry ))+\" \")])]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.locationName( item.deliveryCounty, item.deliveryZipCode, item.deliveryCountry ))+\" \")])]}},{key:\"item.clientName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.clientName)+\" \")])]}},{key:\"item.cargoType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.cargoTypeName(item.cargoType))+\" \")])]}},{key:\"item.distance\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(item.distance, 0))+\" \")])]}},{key:\"item.oldDistance\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.money(_vm.oldDistance(item.id), 0))+\" \")])]}},{key:\"item.routingExactnessPickup\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.routingExactnessName(item.routingExactnessPickup))+\" \")])]}},{key:\"item.routingExactnessDelivery\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.routingExactnessName(item.routingExactnessDelivery))+\" \")])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AgreementRouteDistanceSearchCriteria,\r\n AgreementRouteDistanceOrderBy,\r\n AgreementRouteDistanceContainerDto,\r\n AgreementRouteDistanceDto,\r\n Country,\r\n RoutingExactness\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport CheckboxTiny from \"@/components/shared/input/CheckboxTiny.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { UpdatingRoute } from \"@/views/support-admin/Distance.vue\";\r\nimport {\r\n cargoTypeName,\r\n isoName,\r\n routingExactnessName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport money from \"@/scripts/misc/money\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n CheckboxTiny\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n routesContainer: AgreementRouteDistanceContainerDto,\r\n toggled: Array as () => number[],\r\n updating: Array as () => UpdatingRoute[]\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 250);\r\n },\r\n searchCriteria(): AgreementRouteDistanceSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.Distance,\r\n 1\r\n );\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n allToggled(): boolean | undefined {\r\n if (this.toggled.length === 0) {\r\n return false;\r\n }\r\n if (this.toggled.length === this.routesContainer.rows!.length) {\r\n return true;\r\n }\r\n return undefined;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n cargoTypeName: cargoTypeName,\r\n itemClass(r: AgreementRouteDistanceDto): string {\r\n const route = this.updating.find(u => u.id === r.id);\r\n if (!route) {\r\n return \"\";\r\n }\r\n return route.color;\r\n },\r\n locationName(county: string, zipCode: string, country: Country): string {\r\n return `${county}, ${zipCode}, ${isoName(country)}`;\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n toggle(id: number) {\r\n this.$emit(\"toggle\", id);\r\n },\r\n toggleAll() {\r\n this.$emit(\"toggleAll\", this.allToggled);\r\n },\r\n routingExactnessName(e: RoutingExactness | undefined) {\r\n if (e === RoutingExactness.Fail) {\r\n return \"FAILED\";\r\n }\r\n return routingExactnessName(e ? e : RoutingExactness.Unknown);\r\n },\r\n oldDistance(id: number): number | undefined {\r\n const route = this.updating.find(u => u.id === id);\r\n if (route) {\r\n return route.distance;\r\n }\r\n return undefined;\r\n }\r\n },\r\n data: (): { headers: TableHeader[] } => ({\r\n headers: [\r\n {\r\n value: \"action\",\r\n text: \"\",\r\n width: 1,\r\n untranslated: true\r\n },\r\n {\r\n value: \"hidden\",\r\n text: \"Hidden\",\r\n width: 85\r\n },\r\n {\r\n value: \"numAgreements\",\r\n text: \"#Avtal\",\r\n sortValue: AgreementRouteDistanceOrderBy.NumAgreements,\r\n width: 1,\r\n untranslated: true\r\n },\r\n {\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n sortValue: AgreementRouteDistanceOrderBy.PickupLocation\r\n },\r\n {\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n sortValue: AgreementRouteDistanceOrderBy.DeliveryLocation\r\n },\r\n {\r\n value: \"clientName\",\r\n text: \"Client\",\r\n sortValue: AgreementRouteDistanceOrderBy.ClientName\r\n },\r\n {\r\n value: \"cargoType\",\r\n text: \"CargoType\"\r\n },\r\n {\r\n value: \"distance\",\r\n text: \"Distance\",\r\n sortValue: AgreementRouteDistanceOrderBy.Distance,\r\n width: 100\r\n },\r\n {\r\n value: \"oldDistance\",\r\n text: \"Tidigare avstånd\",\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"routingExactnessPickup\",\r\n text: \"Exakthet hämt.\",\r\n untranslated: true,\r\n width: 200\r\n },\r\n {\r\n value: \"routingExactnessDelivery\",\r\n text: \"Exakthet lev.\",\r\n untranslated: true,\r\n width: 200\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DistanceTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DistanceTable.vue?vue&type=template&id=645306a4&\"\nimport script from \"./DistanceTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./DistanceTable.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VIcon,VSheet})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Distance.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Distance.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Distance.vue?vue&type=template&id=c889f362&\"\nimport script from \"./Distance.vue?vue&type=script&lang=ts&\"\nexport * from \"./Distance.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VProgressLinear,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Generera fakturaunderlag\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":_vm.search},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportInProgress,\"disabled\":_vm.loading || _vm.markInProgress || _vm.rows.length === 0},on:{\"click\":_vm.exportToFile}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-file-download-outline\")]),_vm._v(\" Exportera \")],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',{staticClass:\"sum-row\"},_vm._l((_vm.totals),function(total){return _c('v-col',{key:total.currency},[_c('ReadOnlyText',{attrs:{\"value\":total.amount,\"label\":total.currency}})],1)}),1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"3\"}},[_c('DatePicker',{attrs:{\"label\":\"Datum för körning\",\"zone\":_vm.supportAdminZone,\"rules\":[_vm.dateRule]},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.date),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"date\", $$v)},expression:\"searchCriteria.date\"}})],1),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"items\":_vm.feeTypeGroups,\"label\":\"Typ\"},on:{\"input\":_vm.feeTypeGroupChanged},model:{value:(_vm.feeTypeGroup),callback:function ($$v) {_vm.feeTypeGroup=$$v},expression:\"feeTypeGroup\"}})],1),_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"loading\":_vm.markInProgress || _vm.loading,\"disabled\":_vm.rows.length === 0},on:{\"click\":_vm.markAsInvoiced}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-check-bold\")]),_vm._v(\" Markera som fakturerade \"+_vm._s(_vm.rows.length > 0 ? (\"(\" + (_vm.rows.length) + \")\") : \"\")+\" \")],1)],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('InvoiceGeneratorTable',{attrs:{\"loading\":_vm.loading,\"rows\":_vm.rows,\"filter\":_vm.filter},on:{\"search\":_vm.search,\"tableOptionsChanged\":_vm.scrollToTop}})],1)],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('v-sheet',{staticClass:\"tiniest-padding-top\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.sortedRows,\"height\":_vm.tableHeight,\"loading\":_vm.loading,\"options\":_vm.tableOptions,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [100, 500, -1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"mobile-breakpoint\":\"0\",\"disable-sort\":\"\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.tableOptions=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.actorType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'actorType' },\"placeholder\":_vm.$t('ActorType')},model:{value:(_vm.filter.actorType),callback:function ($$v) {_vm.$set(_vm.filter, \"actorType\", $$v)},expression:\"filter.actorType\"}})]},proxy:true},{key:\"filter.actorId\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Id\"},model:{value:(_vm.filter.actorId),callback:function ($$v) {_vm.$set(_vm.filter, \"actorId\", $$v)},expression:\"filter.actorId\"}})]},proxy:true},{key:\"filter.actorName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Actor')},model:{value:(_vm.filter.actorName),callback:function ($$v) {_vm.$set(_vm.filter, \"actorName\", $$v)},expression:\"filter.actorName\"}})]},proxy:true},{key:\"filter.invoiceRecipient\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Mottagare\"},model:{value:(_vm.filter.invoiceRecipient),callback:function ($$v) {_vm.$set(_vm.filter, \"invoiceRecipient\", $$v)},expression:\"filter.invoiceRecipient\"}})]},proxy:true},{key:\"filter.feeType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'feeType' },\"placeholder\":\"Typ\"},model:{value:(_vm.filter.feeType),callback:function ($$v) {_vm.$set(_vm.filter, \"feeType\", $$v)},expression:\"filter.feeType\"}})]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},model:{value:(_vm.filter.currency),callback:function ($$v) {_vm.$set(_vm.filter, \"currency\", $$v)},expression:\"filter.currency\"}})]},proxy:true}],null,true)})]}},{key:\"item.loadIds\",fn:function(ref){\n var item = ref.item;\nreturn [(item.loadIds.length > 0)?_c('v-btn',{attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){_vm.selectedRow = item}}},[_c('v-icon',[_vm._v(\" mdi-truck \")])],1):_vm._e()]}},{key:\"item.actorType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.actorTypeName(item.actorType))+\" \")])]}},{key:\"item.actorId\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.actorId))])]}},{key:\"item.actorName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"width\":\"140\",\"text\":item.actorName}})]}},{key:\"item.invoiceRecipient\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(_vm.invoiceRecipientName(item)))])]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.unit)+\" \")])]}},{key:\"item.feeType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.feeTypeName(item.feeType))+\" \")])]}},{key:\"item.discountText\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"width\":\"110\",\"text\":item.discountText}})]}},{key:\"item.period\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.fromDate.datePrint())+\" - \"+_vm._s(item.toDate.datePrint())+\" \")])]}},{key:\"item.numberOfItems\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(item.numberOfItems))])]}},{key:\"item.priceWithDiscount\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.priceWithDiscount, 2))+\" \")])]}}],null,true)},[_vm._v(\" \"+_vm._s(item.price)+\" - \"+_vm._s(item.discount)+\" \")])]}},{key:\"item.total\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('span',_vm._g({staticClass:\"dont-render-newlines\"},on),[_vm._v(\" \"+_vm._s(_vm.money(item.priceWithDiscount * item.numberOfItems, 2))+\" \")])]}}],null,true)},[_vm._v(\" (\"+_vm._s(item.price)+\" - \"+_vm._s(item.discount)+\") * \"+_vm._s(item.numberOfItems)+\" \")])]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}}],null,true)}),_c('InvoiceGeneratorLoadIdsDialog',{attrs:{\"row\":_vm.selectedRow},on:{\"close\":function($event){_vm.selectedRow = undefined}}})],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('DialogCard',{attrs:{\"dialog\":_vm.row !== undefined,\"title\":\"Lass på denna fakturarad\",\"width\":900},on:{\"close\":_vm.close},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.sql)+\" \")]},proxy:true}])})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { InvoiceRowSupportAdminDto } from \"@/scripts/cld.api\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DialogCard\r\n },\r\n props: {\r\n row: InvoiceRowSupportAdminDto\r\n },\r\n computed: {\r\n sql(): string {\r\n if (!this.row) {\r\n return \"\";\r\n }\r\n return `select l.id as loadid, clientid, cargoTypeid, statusid, loadeddate, unit, p.Distance from loads l\r\njoin agreementroutes ar on ar.id = l.RouteID\r\njoin pricerows p on p.id = l.PriceRowID\r\nwhere l.id in (${this.row.loadIds!.join(\",\")})`;\r\n }\r\n },\r\n methods: {\r\n close() {\r\n this.$emit(\"close\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGeneratorLoadIdsDialog.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGeneratorLoadIdsDialog.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceGeneratorLoadIdsDialog.vue?vue&type=template&id=35c91972&\"\nimport script from \"./InvoiceGeneratorLoadIdsDialog.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceGeneratorLoadIdsDialog.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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport InvoiceGeneratorLoadIdsDialog from \"@/components/support-admin/invoice/InvoiceGeneratorLoadIdsDialog.vue\";\r\nimport {\r\n actorTypeName,\r\n currencyName,\r\n feeTypeName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport { InvoiceRowSupportAdminDto } from \"@/scripts/cld.api\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { InvoiceGeneratorFilter } from \"@/views/support-admin/InvoiceGenerator.vue\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n loading: Boolean,\r\n rows: Array as () => InvoiceRowSupportAdminDto[],\r\n filter: Object as () => InvoiceGeneratorFilter\r\n },\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem,\r\n InvoiceGeneratorLoadIdsDialog\r\n },\r\n watch: {\r\n tableOptions() {\r\n this.$emit(\"tableOptionsChanged\");\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 310);\r\n },\r\n sortedRows(): InvoiceRowSupportAdminDto[] {\r\n let res = [...this.filteredRows];\r\n const sortBy = this.tableOptions.sortBy[0];\r\n const sortDesc = this.tableOptions.sortDesc[0];\r\n let c = (a: InvoiceRowSupportAdminDto, b: InvoiceRowSupportAdminDto) =>\r\n stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n res = res.sort(\r\n (a, b) =>\r\n (sortDesc ? -1 : 1) * c(a, b) ||\r\n stringCompare(a.actorName, b.actorName) ||\r\n a.fromDate.toSeconds() - b.fromDate.toSeconds()\r\n );\r\n return res;\r\n },\r\n filteredRows(): InvoiceRowSupportAdminDto[] {\r\n return this.rows\r\n .filter(\r\n r => !this.filter.actorType || r.actorType === this.filter.actorType\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.actorId ||\r\n stringSearchHit(this.filter.actorId, r.actorId.toString(), true)\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.actorName ||\r\n stringSearchHit(this.filter.actorName, r.actorName, true)\r\n )\r\n .filter(r => !this.filter.feeType || r.feeType === this.filter.feeType)\r\n .filter(\r\n r => !this.filter.currency || r.currency === this.filter.currency\r\n )\r\n .filter(\r\n r =>\r\n !this.filter.invoiceRecipient ||\r\n stringSearchHit(\r\n this.filter.invoiceRecipient,\r\n r.actorInvoiceInformationName,\r\n false\r\n )\r\n );\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n feeTypeName: feeTypeName,\r\n actorTypeName: actorTypeName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n invoiceRecipientName(row: InvoiceRowSupportAdminDto): string {\r\n return (\r\n row.customerNo +\r\n \" / \" +\r\n row.projectNo +\r\n (row.actorInvoiceInformationName\r\n ? \" (\" + row.actorInvoiceInformationName + \")\"\r\n : \"\")\r\n );\r\n }\r\n },\r\n data: (): {\r\n selectedRow: InvoiceRowSupportAdminDto | undefined;\r\n tableOptions: TableOptions;\r\n headers: TableHeader[];\r\n } => ({\r\n selectedRow: undefined,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 100,\r\n sortBy: [\"actorId\"],\r\n sortDesc: [false]\r\n }),\r\n headers: [\r\n { value: \"loadIds\", width: 1 },\r\n {\r\n value: \"actorType\",\r\n text: \"Aktörstyp\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 85\r\n },\r\n {\r\n value: \"actorId\",\r\n text: \"AktörsId\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 75\r\n },\r\n {\r\n value: \"actorName\",\r\n text: \"Aktör\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 150\r\n },\r\n {\r\n value: \"invoiceRecipient\",\r\n text: \"Kundnr/Projektnr (Mottagare)\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 180\r\n },\r\n {\r\n value: \"unit\",\r\n text: \"Enhet\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 150\r\n },\r\n {\r\n value: \"feeType\",\r\n text: \"Typ\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 200\r\n },\r\n {\r\n value: \"discountText\",\r\n text: \"Rabatt\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 120\r\n },\r\n {\r\n value: \"period\",\r\n text: \"Period\",\r\n untranslated: true,\r\n width: 1\r\n },\r\n {\r\n value: \"numberOfItems\",\r\n text: \"Antal\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 65\r\n },\r\n {\r\n value: \"priceWithDiscount\",\r\n text: \"Pris\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 65\r\n },\r\n {\r\n value: \"total\",\r\n text: \"Total\",\r\n untranslated: true,\r\n width: 90\r\n },\r\n {\r\n value: \"currency\",\r\n text: \"Valuta\",\r\n sortValue: true,\r\n untranslated: true,\r\n width: 100\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGeneratorTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGeneratorTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceGeneratorTable.vue?vue&type=template&id=7720d0c7&\"\nimport script from \"./InvoiceGeneratorTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceGeneratorTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n InvoiceClient,\r\n InvoiceSearchDto,\r\n InvoiceRowSupportAdminDto,\r\n UserConfigurationType,\r\n ActorType,\r\n Currency,\r\n FeeType,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport InvoiceGeneratorTable from \"@/components/support-admin/invoice/InvoiceGeneratorTable.vue\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport { textPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nexport type InvoiceGeneratorFilter = {\r\n actorType: ActorType | undefined;\r\n actorId: string;\r\n actorName: string;\r\n invoiceRecipient: string;\r\n feeType: FeeType | undefined;\r\n currency: Currency | undefined;\r\n};\r\n\r\nconst emptyFilter = (): InvoiceGeneratorFilter => ({\r\n actorType: undefined,\r\n actorId: \"\",\r\n actorName: \"\",\r\n invoiceRecipient: \"\",\r\n feeType: undefined,\r\n currency: undefined\r\n});\r\n\r\nconst bookingFees = [\r\n FeeType.RoadShort,\r\n FeeType.RoadLong,\r\n FeeType.Railroad,\r\n FeeType.Container,\r\n FeeType.MachineTransport\r\n];\r\n\r\nconst monthlyFees = [\r\n FeeType.ClientLight,\r\n FeeType.ClientSmall,\r\n FeeType.ClientMedium,\r\n FeeType.ClientLarge,\r\n FeeType.ClientPremium\r\n];\r\n\r\nconst annualFees = [\r\n FeeType.SupplierEntranceFee,\r\n FeeType.SupplierFirstUser,\r\n FeeType.SupplierAdditionalUser\r\n];\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker,\r\n Dropdown,\r\n ReadOnlyText,\r\n InvoiceGeneratorTable\r\n },\r\n computed: {\r\n searchCriteria(): InvoiceSearchDto {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoiceGenerator,\r\n 1\r\n );\r\n },\r\n totals(): { amount: string; currency: string }[] {\r\n const currencies = [...new Set(this.rows.map(r => r.currency))];\r\n const res = [];\r\n for (let c of currencies) {\r\n res.push({\r\n currency: currencyName(c),\r\n amount: money(\r\n this.rows\r\n .filter(r => r.currency === c)\r\n .map(r => r.priceWithDiscount * r.numberOfItems)\r\n .reduce((t, c) => t + c),\r\n 2\r\n )\r\n });\r\n }\r\n return res;\r\n },\r\n feeTypeGroups(): RepositoryDto[] {\r\n return [\r\n new RepositoryDto({ id: 1, text: \"Alla\" }),\r\n new RepositoryDto({ id: 2, text: \"Bokningsavgifter\" }),\r\n new RepositoryDto({ id: 3, text: \"Månadsavgifter\" }),\r\n new RepositoryDto({ id: 4, text: \"Årsavgifter\" })\r\n ];\r\n },\r\n supportAdminZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n scrollToTop() {\r\n scrollTableToTop(this);\r\n },\r\n getFeeTypes(): FeeType[] {\r\n switch (this.feeTypeGroup) {\r\n case 1:\r\n return [];\r\n case 2:\r\n return bookingFees;\r\n case 3:\r\n return monthlyFees;\r\n case 4:\r\n return annualFees;\r\n default:\r\n return neverHappens(this.feeTypeGroup);\r\n }\r\n },\r\n feeTypeGroupChanged() {\r\n this.searchCriteria.feeTypes = this.getFeeTypes();\r\n this.search();\r\n },\r\n search() {\r\n this.loading = true;\r\n new InvoiceClient(new ApiConfiguration(this.$store))\r\n .generate(this.searchCriteria)\r\n .then(res => {\r\n this.loading = false;\r\n this.rows = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n markAsInvoiced() {\r\n popupDialog({\r\n title: \"Fakturera\",\r\n body:\r\n \"Är du säker på att du vill markera alla fakturarader som fakturerade?\",\r\n btnText1: \"Ja\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.markInProgress = true;\r\n new InvoiceClient(new ApiConfiguration(this.$store))\r\n .markAsInvoiced(this.searchCriteria)\r\n .then(() => {\r\n this.markInProgress = false;\r\n this.search();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n btnText2: \"Nej\",\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n },\r\n exportToFile() {\r\n this.exportInProgress = true;\r\n new InvoiceClient(new ApiConfiguration(this.$store))\r\n .exportInvoice(this.searchCriteria)\r\n .then(res => {\r\n this.exportInProgress = false;\r\n textPrompt(res);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.InvoiceGenerator,\r\n subTypeId: 1,\r\n actorType: 0\r\n })\r\n .then(() => this.search());\r\n this.filter = emptyFilter();\r\n },\r\n dateRule(date: CDate | undefined): string | boolean {\r\n if (!date) {\r\n return true;\r\n }\r\n if (date.startOfDay().isSame(date.startOfMonth())) {\r\n return true;\r\n }\r\n return \"Man måste välja den första i månaden.\";\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n markInProgress: boolean;\r\n exportInProgress: boolean;\r\n rows: InvoiceRowSupportAdminDto[];\r\n filter: InvoiceGeneratorFilter;\r\n feeTypeGroup: 1 | 2 | 3 | 4;\r\n } => ({\r\n loading: false,\r\n markInProgress: false,\r\n exportInProgress: false,\r\n rows: [],\r\n filter: emptyFilter(),\r\n feeTypeGroup: 1\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGenerator.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceGenerator.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoiceGenerator.vue?vue&type=template&id=4b7aa908&scoped=true&\"\nimport script from \"./InvoiceGenerator.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoiceGenerator.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./InvoiceGenerator.vue?vue&type=style&index=0&id=4b7aa908&scoped=true&lang=css&\"\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 \"4b7aa908\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{class:{ earthquake: _vm.earthquakeMode, blurred: _vm.blurredMode }},[_c('v-card',[_c('v-card-title',{staticClass:\"card-grey headline\"},[_vm._v(\" Kraftfulla knappar \")]),_c('v-card-text',[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":_vm.logging}},[_vm._v(\" Loggmotionering \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" Skapar en loggrad av varje loggtyp för att testa loggningen. \")])]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":_vm.toll}},[_vm._v(\" Klämtning \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" Ding ding ding \")])]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":function($event){_vm.earthquakeMode = !_vm.earthquakeMode}}},[_vm._v(\" \"+_vm._s(_vm.earthquakeMode ? \"Carbamazerpine\" : \"Skakis\")+\" \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" C-Load kan va en skakig tjänst. \")])]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":function($event){_vm.blurredMode = !_vm.blurredMode}}},[_vm._v(\" 👀 \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" Reload C-Load to C# again \")])]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":function($event){_vm.explosionMode = !_vm.explosionMode}}},[_c('span',{class:{ 'big-explosion': _vm.explosionMode }},[_vm._v(\"💥\")])])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" ??? \")])]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":_vm.checkEmails}},[_vm._v(\" Kolla mailadresser \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" Kollar efter dåliga mailadresser. \")])]),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"error\",\"loading\":_vm.loading},on:{\"click\":_vm.getUsersToFix}},[_vm._v(\" Notifieringssanering \")])],1),_c('v-col',{attrs:{\"cols\":\"9\"}},[_c('span',{staticClass:\"subtitle-1\"},[_vm._v(\" Läs upp och spara om alla användares notifieringar. \")])]),(_vm.usersLeftToFix.length > 0)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Luta dig tillbaks. Det är fortfarande \"+_vm._s(_vm.usersLeftToFix.length)+\" användare kvar att fixa. \")]):_vm._e()],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n PowerbuttonsClient,\r\n UserDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, mutations } from \"@/scripts/store/constants\";\r\nimport { Sound } from \"@/scripts/types\";\r\nimport { validEmail } from \"@/scripts/misc/stringUtils\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n methods: {\r\n logging() {\r\n this.loading = true;\r\n new PowerbuttonsClient(new ApiConfiguration(this.$store))\r\n .logTest()\r\n .then(() => {\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n toll() {\r\n this.$store.commit(mutations.pushSound, Sound.Notification1);\r\n },\r\n checkEmails() {\r\n this.loading = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .byActorId(null)\r\n .then(res => {\r\n const emails = res.map(u => u.email);\r\n const badEmails = emails.filter(e => !validEmail(e));\r\n alertDialog(\r\n badEmails.length > 0\r\n ? \"Dåliga mailadresser\"\r\n : \"Inga dåliga mailadresser\",\r\n badEmails.join(\"\\n\")\r\n );\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n getUsersToFix() {\r\n this.loading = true;\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .byActorId(null)\r\n .then(res => {\r\n this.usersLeftToFix = res;\r\n this.fixUsers();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fixUsers() {\r\n const user = this.usersLeftToFix.pop();\r\n if (!user) {\r\n this.loading = false;\r\n return;\r\n }\r\n new UsersClient(new ApiConfiguration(this.$store))\r\n .notificationSettings(user.loadUserId)\r\n .then(res => {\r\n return new UsersClient(\r\n new ApiConfiguration(this.$store)\r\n ).saveNotificationSettings(res);\r\n })\r\n .then(() => {\r\n this.fixUsers();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n earthquakeMode: boolean;\r\n blurredMode: boolean;\r\n explosionMode: boolean;\r\n usersLeftToFix: UserDto[];\r\n } => ({\r\n loading: false,\r\n earthquakeMode: false,\r\n blurredMode: false,\r\n explosionMode: false,\r\n usersLeftToFix: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PowerButtons.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PowerButtons.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PowerButtons.vue?vue&type=template&id=567b99f2&\"\nimport script from \"./PowerButtons.vue?vue&type=script&lang=ts&\"\nexport * from \"./PowerButtons.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardText,VCardTitle,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"small-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Bakgrundsjobb (Backupjobbet går 00:50)\",\"refreshable\":\"\",\"noPaddingSides\":\"\",\"loading\":_vm.fetchInProgress},on:{\"refresh\":_vm.fetchJobs},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"error\"},on:{\"click\":_vm.stopAll}},[_vm._v(\" Stoppa alla \")])],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\"},on:{\"click\":_vm.startSafe}},[_vm._v(\" Starta allt ofarligt \")])],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"small-padding\",attrs:{\"cols\":\"6\"}},[_c('SearchCard',{attrs:{\"title\":\"Frekventa jobb\",\"noPaddingSides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('BackgroundTasksTable',{attrs:{\"loading\":_vm.saveInProgress,\"jobs\":_vm.frequentJobs},on:{\"updateJob\":_vm.updateJob,\"runJob\":_vm.runJob}})]},proxy:true}])})],1),_c('v-col',{staticClass:\"small-padding\",attrs:{\"cols\":\"6\"}},[_c('SearchCard',{attrs:{\"title\":\"Nattjobb\",\"noPaddingSides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('BackgroundTasksTable',{attrs:{\"loading\":_vm.saveInProgress,\"jobs\":_vm.nightJobs,\"isNightJobs\":\"\"},on:{\"updateJob\":_vm.updateJob,\"runJob\":_vm.runJob}})]},proxy:true}])})],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('v-simple-table',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',[_vm._v(\"Id\")]),_c('th',[_vm._v(\"Name\")]),_c('th',[_vm._v(\"Next fire\")]),(!_vm.isNightJobs)?_c('th',[_vm._v(\"Interval\")]):_vm._e(),_c('th'),_c('th'),_c('th')])]),_c('tbody',_vm._l((_vm.jobs),function(job,index){return _c('tr',{key:index,class:{\n 'green-row': job.triggerState === 0,\n 'orange-row': job.triggerState === 1,\n 'red-row': job.triggerState > 1\n }},[_c('td',[_vm._v(_vm._s(job.taskId))]),_c('td',[_vm._v(_vm._s(job.name))]),_c('td',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(job.nextFireTime.timePrint())+\" \")]),(!_vm.isNightJobs)?_c('td',[_vm._v(_vm._s(job.repeatInterval)+\" sek\")]):_vm._e(),_c('td',[_c('v-btn',{attrs:{\"loading\":_vm.loading,\"disabled\":job.triggerState > 1},on:{\"click\":function($event){return _vm.$emit('updateJob', job.taskId, job.triggerState === 1)}}},[_c('v-icon',[_vm._v(_vm._s(job.triggerState === 0 ? \"mdi-pause\" : job.triggerState === 1 ? \"mdi-play\" : \"mdi-timer-sand\"))])],1)],1),_c('td',[_c('v-btn',{attrs:{\"loading\":_vm.loading || job.triggerState > 1},on:{\"click\":function($event){return _vm.$emit('runJob', job.taskId)}}},[_vm._v(\" Kör nu \")])],1),_c('td',[_c('InfoTooltip',{attrs:{\"text\":_vm.tooltip(job)}})],1)])}),0)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport { BackgroundTaskStatusDto } from \"@/scripts/cld.api\";\r\nimport { triggerStateName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InfoTooltip\r\n },\r\n props: {\r\n loading: Boolean,\r\n jobs: Array as () => BackgroundTaskStatusDto[],\r\n isNightJobs: Boolean\r\n },\r\n methods: {\r\n tooltip(job: BackgroundTaskStatusDto) {\r\n let tooltip = \"\";\r\n tooltip += `State: ${triggerStateName(job.triggerState)}\\n`;\r\n tooltip += `Start: ${job.startAt}\\n`;\r\n if (!this.isNightJobs) {\r\n tooltip += `Prev fire: ${job.previousFireTime}\\n`;\r\n tooltip += `Times fired: ${job.timesTriggered}\\n`;\r\n }\r\n return tooltip;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundTasksTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundTasksTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackgroundTasksTable.vue?vue&type=template&id=10730d24&scoped=true&\"\nimport script from \"./BackgroundTasksTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./BackgroundTasksTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BackgroundTasksTable.vue?vue&type=style&index=0&id=10730d24&scoped=true&lang=css&\"\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 \"10730d24\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VIcon,VSimpleTable})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n BackgroundTaskClient,\r\n BackgroundTaskDto,\r\n BackgroundTaskStatusDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\nimport BackgroundTasksTable from \"@/components/support-admin/BackgroundTasksTable.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n BackgroundTasksTable\r\n },\r\n computed: {\r\n frequentJobs(): BackgroundTaskStatusDto[] {\r\n return this.jobs\r\n .filter(job => job.repeatInterval !== 0 && job.repeatInterval !== 86400)\r\n .sort(\r\n (a, b) =>\r\n stringCompare(a.repeatInterval, b.repeatInterval) ||\r\n a.taskId - b.taskId\r\n );\r\n },\r\n nightJobs(): BackgroundTaskStatusDto[] {\r\n return this.jobs\r\n .filter(job => job.repeatInterval !== 0 && job.repeatInterval === 86400)\r\n .sort(\r\n (a, b) => a.nextFireTime!.toSeconds() - b.nextFireTime!.toSeconds()\r\n );\r\n }\r\n },\r\n methods: {\r\n fetchJobs() {\r\n this.fetchInProgress = true;\r\n new BackgroundTaskClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.jobs = res;\r\n this.fetchInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n updateJob(taskId: number, enabled: boolean) {\r\n this.saveInProgress = true;\r\n new BackgroundTaskClient(new ApiConfiguration(this.$store))\r\n .update(\r\n new BackgroundTaskDto({\r\n taskId: taskId,\r\n enabled: enabled\r\n })\r\n )\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchJobs();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n runJob(taskId: number) {\r\n this.saveInProgress = true;\r\n new BackgroundTaskClient(new ApiConfiguration(this.$store))\r\n .run(taskId)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.fetchJobs();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n startSafe() {\r\n const unsafe = [8, 9, 16, 17];\r\n this.jobs\r\n .filter(job => !unsafe.includes(job.taskId))\r\n .filter(job => job.repeatInterval !== 0)\r\n .map(job => this.updateJob(job.taskId, true));\r\n },\r\n stopAll() {\r\n this.updateJob(0, false);\r\n }\r\n },\r\n mounted() {\r\n this.fetchJobs();\r\n this.$nextTick(function() {\r\n this.intervalId = setInterval(() => {\r\n this.fetchJobs();\r\n }, 5000);\r\n });\r\n },\r\n destroyed() {\r\n if (this.intervalId) {\r\n clearInterval(this.intervalId);\r\n }\r\n },\r\n data: (): {\r\n fetchInProgress: boolean;\r\n saveInProgress: boolean;\r\n intervalId?: number;\r\n jobs: BackgroundTaskStatusDto[];\r\n } => ({\r\n fetchInProgress: false,\r\n saveInProgress: false,\r\n intervalId: undefined,\r\n jobs: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundTasks.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BackgroundTasks.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BackgroundTasks.vue?vue&type=template&id=220e6f4e&\"\nimport script from \"./BackgroundTasks.vue?vue&type=script&lang=ts&\"\nexport * from \"./BackgroundTasks.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\",\"width\":\"750\"},on:{\"click\":_vm.createNews}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Skapa nyhet \")],1)],1),_c('v-spacer')],1),_vm._l((_vm.news),function(n){return _c('v-row',{key:n.id},[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-sheet',[_c('v-row',[_c('v-col',{staticClass:\"large-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('DashboardNewsBox',{attrs:{\"item\":_vm.newsDto(n)}})],1),_c('v-col',[_c('v-row',[_c('v-spacer'),_vm._l((_vm.actorTypes(n.id)),function(at){return _c('v-col',{key:at.id,staticClass:\"no-padding-bottom tiny-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-chip',[_vm._v(\" \"+_vm._s(at.text)+\" \")])],1)}),_c('v-spacer')],2),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('div',_vm._g({},on),[_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":!_vm.hasEnglish(n),\"loading\":_vm.saveInProgress},on:{\"click\":function($event){return _vm.publish(n)}}},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.isVisible(n) ? \"mdi-eye\" : \"mdi-eye-off\")+\" \")])],1)],1)]}}],null,true)},[_vm._v(\" Nyheten måste finnas på engelska innan den publiceras. \")])],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"loading\":_vm.saveInProgress},on:{\"click\":function($event){return _vm.edit(n.id)}}},[_c('v-icon',[_vm._v(\" mdi-pencil \")])],1)],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"icon\":\"\",\"loading\":_vm.saveInProgress},on:{\"click\":function($event){return _vm.remove(n.id)}}},[_c('v-icon',{attrs:{\"color\":\"icon-red\"}},[_vm._v(\" mdi-trash-can-outline \")])],1)],1),_c('v-spacer')],1)],1)],1)],1),_c('v-tabs',{attrs:{\"centered\":\"\",\"value\":_vm.cultureIndex(n.id)}},_vm._l((n.rows || []),function(r,index){return _c('v-tab',{key:index,on:{\"click\":function($event){return _vm.setCulture(n.id, r.culture)}}},[_vm._v(\" \"+_vm._s(_vm.cultureName(r.culture))+\" \")])}),1),_c('v-tabs-items',{attrs:{\"value\":_vm.cultureIndex(n.id)}},_vm._l((n.rows || []),function(r,index){return _c('v-tab-item',{key:index},[_c('div',{staticStyle:{\"max-height\":\"140px\"}},[_c('NewsSheet',{attrs:{\"body\":r.body,\"displayDate\":n.displayDate}})],1)])}),1)],1),_c('v-spacer')],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport NewsSheet from \"@/components/shared/ui/NewsSheet.vue\";\r\nimport DashboardNewsBox from \"@/components/web/dashboard/DashboardNewsBox.vue\";\r\nimport {\r\n ApiConfiguration,\r\n Culture,\r\n NewsClient,\r\n NewsDto,\r\n NewsSupportAdminDto,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { actorTypes, cultures } from \"@/scripts/misc/enumLists\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n NewsSheet,\r\n DashboardNewsBox\r\n },\r\n methods: {\r\n actorTypes(id: number): RepositoryDto[] {\r\n return actorTypes().filter(t =>\r\n this.newsById(id).actorTypes!.includes(t.id)\r\n );\r\n },\r\n createNews() {\r\n this.$router.push(\"/support-admin/edit-news\");\r\n },\r\n newsDto(news: NewsSupportAdminDto): NewsDto {\r\n return new NewsDto({\r\n summary: news.rows!.find(\r\n r =>\r\n r.culture === this.cultures.find(nc => nc.id === news.id)!.culture\r\n )!.summary,\r\n body: \"\",\r\n displayDate: news.displayDate,\r\n read: false\r\n });\r\n },\r\n newsById(id: number): NewsSupportAdminDto {\r\n return this.news.find(n => n.id === id)!;\r\n },\r\n cultureIndex(id: number): number {\r\n const culture = this.cultures.find(nc => nc.id === id)!.culture;\r\n return this.newsById(id).rows!.findIndex(r => r.culture === culture);\r\n },\r\n setCulture(id: number, culture: Culture) {\r\n this.cultures.find(nc => nc.id === id)!.culture = culture;\r\n },\r\n cultureName(culture: Culture): string {\r\n return cultures().find(c => c.id === culture)!.text!;\r\n },\r\n hasEnglish(news: NewsSupportAdminDto): boolean {\r\n return news.rows!.some(r => r.culture === Culture.English);\r\n },\r\n edit(id: number) {\r\n this.$router.push({\r\n path: \"/support-admin/edit-news\",\r\n query: { id: id.toString() }\r\n });\r\n },\r\n isVisible(news: NewsSupportAdminDto): boolean {\r\n return (\r\n news.visibleDate !== undefined &&\r\n news.visibleDate <= CDate.now(TimeZone.Europe_Stockholm)\r\n );\r\n },\r\n publish(dto: NewsSupportAdminDto) {\r\n popupDialog({\r\n warning: true,\r\n title: this.isVisible(dto) ? \"Dölj\" : \"Publicera\",\r\n body: `Är du säker på att du vill ${\r\n this.isVisible(dto) ? \"dölja\" : \"publicera\"\r\n } den här nyheten?`,\r\n btnText1: this.isVisible(dto) ? \"Dölj\" : \"Publicera\",\r\n btnColor1: \"warning\",\r\n btnCallback1: () => {\r\n this.actuallyPublish(dto.id);\r\n }\r\n });\r\n },\r\n actuallyPublish(id: number) {\r\n this.saveInProgress = true;\r\n new NewsClient(new ApiConfiguration(this.$store))\r\n .publish(id)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.init();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n remove(id: number) {\r\n popupDialog({\r\n warning: true,\r\n title: \"Ta bort\",\r\n body: \"Är du säker på att du vill ta bort den här nyheten?\",\r\n btnText1: \"Ta bort\",\r\n btnColor1: \"error\",\r\n btnCallback1: () => {\r\n this.actuallyRemove(id);\r\n }\r\n });\r\n },\r\n actuallyRemove(id: number) {\r\n this.saveInProgress = true;\r\n new NewsClient(new ApiConfiguration(this.$store))\r\n .delete(id)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.init();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n init() {\r\n new NewsClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.news = res;\r\n this.cultures = this.news.map(n => ({\r\n id: n.id,\r\n culture: n.rows![0].culture\r\n }));\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.init();\r\n },\r\n data: (): {\r\n saveInProgress: boolean;\r\n news: NewsSupportAdminDto[];\r\n cultures: { id: number; culture: Culture }[];\r\n } => ({\r\n saveInProgress: false,\r\n news: [],\r\n cultures: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./News.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./News.vue?vue&type=template&id=22026b18&\"\nimport script from \"./News.vue?vue&type=script&lang=ts&\"\nexport * from \"./News.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTabsItems } from 'vuetify/lib/components/VTabs';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VChip,VCol,VIcon,VRow,VSheet,VSpacer,VTab,VTabItem,VTabs,VTabsItems,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[(_vm.newsDto)?_c('v-row',[_c('v-col',{staticClass:\"no-padding-right no-vertical-padding\"},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"no-vertical-padding no-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('NewsHelpIcon')],1),_c('v-col',{staticClass:\"no-vertical-padding\"},[_c('v-tabs',{attrs:{\"value\":_vm.culture - 1,\"centered\":\"\"}},_vm._l((_vm.cultures),function(c){return _c('v-tab',{key:c.id,on:{\"click\":function($event){_vm.culture = c.id}}},[_c('span',{class:{ 'slightly-transparent': !_vm.hasData(c.id) }},[_vm._v(\" \"+_vm._s(c.text)+\" \")])])}),1)],1)],1),_c('v-row',[_c('v-col',[_c('TextMulti',{attrs:{\"label\":\"Sammanfattning\",\"rows\":5},model:{value:(_vm.newsRowDto.summary),callback:function ($$v) {_vm.$set(_vm.newsRowDto, \"summary\", $$v)},expression:\"newsRowDto.summary\"}})],1),_c('v-col',{staticClass:\"no-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('DashboardNewsBox',{attrs:{\"item\":_vm.dashboardItem}})],1),_c('v-col',[_c('DropdownMulti',{attrs:{\"label\":\"Aktörstyper\",\"items\":_vm.actorTypes,\"rules\":[function (v) { return !!v && v.length > 0; }]},model:{value:(_vm.newsDto.actorTypes),callback:function ($$v) {_vm.$set(_vm.newsDto, \"actorTypes\", $$v)},expression:\"newsDto.actorTypes\"}}),_c('div',{staticClass:\"small-padding\"}),_c('DatePicker',{attrs:{\"label\":\"Datum\",\"zone\":_vm.actorZone},model:{value:(_vm.newsDto.displayDate),callback:function ($$v) {_vm.$set(_vm.newsDto, \"displayDate\", $$v)},expression:\"newsDto.displayDate\"}}),_c('div',{staticClass:\"small-padding\"}),_c('v-btn',{attrs:{\"block\":\"\",\"disabled\":!_vm.valid,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.insertFormatting('\\\\l')}}},[_vm._v(\"link\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.insertFormatting('\\\\b')}}},[_vm._v(\"bold\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.insertFormatting('\\\\i')}}},[_vm._v(\"italic\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.insertFormatting('\\\\0')}}},[_vm._v(\"small\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.insertFormatting('\\\\1')}}},[_vm._v(\"medium\")])],1),_c('v-col',{attrs:{\"cols\":\"2\"}},[_c('v-btn',{attrs:{\"block\":\"\"},on:{\"click\":function($event){return _vm.insertFormatting('\\\\2')}}},[_vm._v(\"large\")])],1)],1),_c('FileInput',{on:{\"file\":_vm.uploadFile}},[_c('TextMulti',{attrs:{\"label\":\"Brödtext\"},model:{value:(_vm.newsRowDto.body),callback:function ($$v) {_vm.$set(_vm.newsRowDto, \"body\", $$v)},expression:\"newsRowDto.body\"}})],1)],1),_c('v-col',{staticClass:\"no-vertical-padding\"},[_c('NewsSheet',{attrs:{\"body\":_vm.newsRowDto.body,\"displayDate\":_vm.newsDto.displayDate}})],1)],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('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"color\":\"icon-cyan\",\"x-large\":\"\"}},on),[_vm._v(\" mdi-help-box \")])]}}])},[_c('v-simple-table',[_c('thead',[_c('tr',[_c('th',[_vm._v(\" Kod \")]),_c('th',[_vm._v(\" Effekt \")]),_c('th',[_vm._v(\" Exempel \")])])]),_c('tbody',[_c('tr',[_c('td',[_vm._v(\" \\\\p \")]),_c('td',[_vm._v(\" picture \")]),_c('td',[_vm._v(\" \\\\pfilename.fileextension \")])]),_c('tr',[_c('td',[_vm._v(\" \\\\b \")]),_c('td',[_vm._v(\" bold \")]),_c('td',[_vm._v(\" \\\\bSome text \")])]),_c('tr',[_c('td',[_vm._v(\" \\\\i \")]),_c('td',[_vm._v(\" italic \")]),_c('td',[_vm._v(\" \\\\iSome text \")])]),_c('tr',[_c('td',[_vm._v(\" \\\\1 \")]),_c('td',[_vm._v(\" Large text \")]),_c('td',[_vm._v(\" \\\\1Some text \")])]),_c('tr',[_c('td',[_vm._v(\" \\\\2 \")]),_c('td',[_vm._v(\" Even larger text \")]),_c('td',[_vm._v(\" \\\\2Some text \")])]),_c('tr',[_c('td',[_vm._v(\" \\\\\\\\ \")]),_c('td',[_vm._v(\" Reset formatting \")]),_c('td',[_vm._v(\" \\\\bBold text\\\\\\\\not bold text \")])]),_c('tr',[_c('td',{staticClass:\"font-weight-bold\",attrs:{\"colspan\":\"3\"}},[_vm._v(\" Bilder kan laddas upp genom drag and drop eller copy paste \")])]),_c('tr',[_c('td',{staticClass:\"font-weight-bold\",attrs:{\"colspan\":\"2\"}},[_vm._v(\" Taggar kan kombineras \")]),_c('td',[_vm._v(\" \\\\2\\\\bText \")])])])])],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\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsHelpIcon.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewsHelpIcon.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./NewsHelpIcon.vue?vue&type=template&id=06a2328a&\"\nimport script from \"./NewsHelpIcon.vue?vue&type=script&lang=ts&\"\nexport * from \"./NewsHelpIcon.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VIcon,VSimpleTable,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport DashboardNewsBox from \"@/components/web/dashboard/DashboardNewsBox.vue\";\r\nimport NewsSheet from \"@/components/shared/ui/NewsSheet.vue\";\r\nimport {\r\n ApiConfiguration,\r\n Culture,\r\n NewsClient,\r\n NewsDto,\r\n NewsSupportAdminDto,\r\n NewsRowDto,\r\n RepositoryDto,\r\n FileParameter,\r\n FilesClient,\r\n DocumentsClient,\r\n SaveDiskFileToDocumentDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actorTypes, cultures } from \"@/scripts/misc/enumLists\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport FileInput from \"@/components/shared/input/FileInput.vue\";\r\nimport NewsHelpIcon from \"@/components/support-admin/news/NewsHelpIcon.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextMulti,\r\n DatePicker,\r\n DropdownMulti,\r\n DashboardNewsBox,\r\n NewsSheet,\r\n FileInput,\r\n NewsHelpIcon\r\n },\r\n computed: {\r\n dashboardItem(): NewsDto {\r\n return new NewsDto({\r\n displayDate: this.newsDto.displayDate,\r\n summary: this.newsRowDto.summary,\r\n body: \"\",\r\n read: false\r\n });\r\n },\r\n actorTypes(): RepositoryDto[] {\r\n return actorTypes();\r\n },\r\n actorZone(): TimeZone {\r\n return this.$store.getters[gets.userInfo].zone;\r\n },\r\n newsRowDto(): NewsRowDto {\r\n return this.newsDto.rows!.find(r => r.culture === this.culture)!;\r\n },\r\n cultures(): RepositoryDto[] {\r\n return cultures();\r\n }\r\n },\r\n methods: {\r\n getTextSelection(): [number, number] {\r\n const textarea = document.getElementsByTagName(\"textarea\")[1];\r\n return [textarea.selectionStart, textarea.selectionEnd];\r\n },\r\n insertFormatting(formatting: string) {\r\n const [start, end] = this.getTextSelection();\r\n if (!this.newsRowDto) {\r\n return;\r\n }\r\n if (!this.newsRowDto.body) {\r\n this.newsRowDto.body = \"\";\r\n }\r\n if (end !== start) {\r\n this.newsRowDto.body =\r\n this.newsRowDto.body.slice(0, end) +\r\n \"\\\\\\\\\" +\r\n this.newsRowDto.body.slice(end);\r\n }\r\n this.newsRowDto.body =\r\n this.newsRowDto.body.slice(0, start) +\r\n formatting +\r\n this.newsRowDto.body.slice(start);\r\n },\r\n hasData(c: Culture): boolean {\r\n return this.newsDto.rows!.some(\r\n r => r.culture === c && (!!r.body || !!r.summary)\r\n );\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n this.newsDto.rows = this.newsDto.rows!.filter(r =>\r\n this.hasData(r.culture)\r\n );\r\n new NewsClient(new ApiConfiguration(this.$store))\r\n .save(this.newsDto)\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.$router.push(\"/support-admin/news\");\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n createExample(): NewsSupportAdminDto {\r\n return new NewsSupportAdminDto({\r\n id: 0,\r\n displayDate: CDate.now(TimeZone.Europe_Stockholm).startOfDay(),\r\n visibleDate: undefined,\r\n actorTypes: [],\r\n rows: [\r\n new NewsRowDto({\r\n culture: Culture.Swedish,\r\n summary: \"Skriv sammanfattning här och välj aktörstyp(er)\",\r\n body:\r\n \"1. Lägg in svensk text här\\n\" +\r\n \"2. \\\\bKlicka sedan på engelska för att skriva engelsk sammanfattning och brödtext.\\n\" +\r\n \"3. Slutligen klickar du på spara\\n\\n\" +\r\n \"\\\\iNyheten börjar som dold och måste manuellt göras synlig innan användare kan ta del av den.\\n\" +\r\n \"\\\\iDu kan markera text och klicka på knapparna ovan för att formattera den.\\n\" +\r\n \"\\\\iHovra över frågetecknet uppe till vänster för mer hjälp.\"\r\n })\r\n ]\r\n });\r\n },\r\n uploadFile(file: FileParameter) {\r\n new FilesClient(new ApiConfiguration(this.$store))\r\n .upload(file as any)\r\n .then(diskName => {\r\n return new DocumentsClient(new ApiConfiguration(this.$store))\r\n .saveToNewsGroup(\r\n new SaveDiskFileToDocumentDto({\r\n diskName: diskName,\r\n displayName: file.fileName\r\n })\r\n )\r\n .then(() => {\r\n const [start, _] = this.getTextSelection();\r\n if (!this.newsRowDto.body) {\r\n this.newsRowDto.body = \"\";\r\n }\r\n this.newsRowDto.body =\r\n this.newsRowDto.body.slice(0, start) +\r\n \"\\\\p\" +\r\n diskName +\r\n \"\\n\" +\r\n this.newsRowDto.body.slice(start);\r\n });\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n async mounted() {\r\n const id = Number(this.$route.query.id);\r\n let news: NewsSupportAdminDto[] = [];\r\n if (!isNaN(id) && id > 0) {\r\n await new NewsClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n news = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n this.newsDto = news.find(n => n.id === id) as any;\r\n if (!this.newsDto) {\r\n this.newsDto = this.createExample();\r\n }\r\n const missingCultures = this.cultures\r\n .map(c => c.id)\r\n .filter(c => !this.newsDto.rows!.map(r => r.culture).includes(c));\r\n this.newsDto.rows!.push(\r\n ...missingCultures.map(\r\n c =>\r\n new NewsRowDto({\r\n culture: c,\r\n summary: \"\",\r\n body: \"\"\r\n })\r\n )\r\n );\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n newsDto: NewsSupportAdminDto;\r\n culture: Culture;\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n newsDto: undefined as any,\r\n culture: Culture.Swedish\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditNews.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EditNews.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EditNews.vue?vue&type=template&id=962b6c74&scoped=true&\"\nimport script from \"./EditNews.vue?vue&type=script&lang=ts&\"\nexport * from \"./EditNews.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EditNews.vue?vue&type=style&index=0&id=962b6c74&scoped=true&lang=css&\"\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 \"962b6c74\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VTab,VTabs})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"btn-cyan\",\"loading\":_vm.renderInProgress},on:{\"click\":_vm.renderTemplate}},[_vm._v(\" Kör \")])],1),_c('v-col',{attrs:{\"cols\":\"5\"}},[_c('TextMulti',{attrs:{\"label\":\"Template\",\"rows\":35},model:{value:(_vm.template),callback:function ($$v) {_vm.template=$$v},expression:\"template\"}})],1),_c('v-col',{attrs:{\"cols\":\"7\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.result)}})])],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\r\nimport Vue from \"vue\";\r\nimport TextMulti from \"@/components/shared/input/TextMulti.vue\";\r\nimport {\r\n ApiConfiguration,\r\n MailviewerClient,\r\n RenderTemplateDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextMulti\r\n },\r\n methods: {\r\n renderTemplate() {\r\n this.renderInProgress = true;\r\n new MailviewerClient(new ApiConfiguration(this.$store))\r\n .renderEmail(\r\n new RenderTemplateDto({\r\n template: this.template,\r\n data: {}\r\n })\r\n )\r\n .then(res => {\r\n this.result = res;\r\n this.renderInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n renderInProgress: boolean;\r\n template: string;\r\n result: string;\r\n } => ({\r\n renderInProgress: false,\r\n template: `Hej1\r\n Hej1.2\r\nHej2Hej3\r\nHej\r\n\r\nr.PickupEarliest: \r\nr.ToCload\r\nm.ClientName\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nr.blablabla: m.StatusId\r\nr.pla: m.StatusId\r\nr.fla: m.StatusId\r\nr.kla: m.StatusId\r\nr.jla: m.StatusId\r\n
`,\r\n result: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MailTemplate.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MailTemplate.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MailTemplate.vue?vue&type=template&id=1c7da140&\"\nimport script from \"./MailTemplate.vue?vue&type=script&lang=ts&\"\nexport * from \"./MailTemplate.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DatePicker',{attrs:{\"label\":\"Datum och Tid\",\"zone\":_vm.zone,\"with-time\":\"\",\"gteNow\":\"\"},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('DatePicker',{attrs:{\"label\":\"Datum\",\"zone\":_vm.zone},model:{value:(_vm.date),callback:function ($$v) {_vm.date=$$v},expression:\"date\"}})],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\r\nimport Vue from \"vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DatePicker\r\n },\r\n methods: {},\r\n data: (): {\r\n date: CDate;\r\n zone: TimeZone;\r\n } => ({\r\n date: CDate.now(TimeZone.Africa_Brazzaville),\r\n zone: TimeZone.Africa_Brazzaville\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Playground.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Playground.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Playground.vue?vue&type=template&id=4d74234a&\"\nimport script from \"./Playground.vue?vue&type=script&lang=ts&\"\nexport * from \"./Playground.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"fade\"}),_c('section',{staticClass:\"star-wars\"},[_c('div',{staticClass:\"crawl\"},[_vm._m(0),_c('p',{staticClass:\"render-newlines\"},[_vm._v(_vm._s(_vm.text))])])])])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"title\"},[_c('p',[_vm._v(\"C-Load\")]),_c('h1',[_vm._v(\"A New Release\")])])}]\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n computed: {\r\n text(): string {\r\n let res = \"\";\r\n res +=\r\n \"With the release of 1.45 the authentication server has been replaced.\";\r\n res +=\r\n \" The average user should experience little to no change in his everyday work, but one can never be certain.\";\r\n res +=\r\n \" If you have trouble logging in don't hesitate to contact our support.\";\r\n res +=\r\n \"\\n\\nIn the meantime, great changes are in the works. Developers are working away effortlessly in the shadows.\";\r\n res +=\r\n \" Features unheard of are lurking around the corner, biding their time, seeing when their release will come...\";\r\n return res;\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButWhy.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ButWhy.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ButWhy.vue?vue&type=template&id=5b6e8bb2&scoped=true&\"\nimport script from \"./ButWhy.vue?vue&type=script&lang=ts&\"\nexport * from \"./ButWhy.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ButWhy.vue?vue&type=style&index=0&id=5b6e8bb2&scoped=true&lang=css&\"\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 \"5b6e8bb2\",\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('v-row',[_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Indexuppdatering\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-data-table',{attrs:{\"item-key\":\"idx\",\"headers\":_vm.headers,\"items\":_vm.periods,\"height\":_vm.tableHeight,\"loading\":_vm.periods.length === 0,\"item-class\":function (i) { return (i.id < 0 ? 'red-row' : i.id > 10000 ? 'green-row' : ''); },\"items-per-page\":17,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [17, -1],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"mobile-breakpoint\":\"0\",\"fixed-header\":\"\",\"hide-default-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on}})]}},{key:\"item.from\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DatePicker',{attrs:{\"zone\":_vm.supportAdminZone},on:{\"input\":function($event){item.id += 11000}},model:{value:(item.from),callback:function ($$v) {_vm.$set(item, \"from\", $$v)},expression:\"item.from\"}})]}},{key:\"item.to\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DatePicker',{attrs:{\"zone\":_vm.supportAdminZone},on:{\"input\":function($event){item.id += 11000}},model:{value:(item.to),callback:function ($$v) {_vm.$set(item, \"to\", $$v)},expression:\"item.to\"}})]}},{key:\"item.nordic\",fn:function(ref){\n var item = ref.item;\nreturn [_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0; }],\"only-on-blur\":\"\"},on:{\"input\":function($event){item.id += 11000}},model:{value:(_vm.nordic(item).value),callback:function ($$v) {_vm.$set(_vm.nordic(item), \"value\", $$v)},expression:\"nordic(item).value\"}})]}},{key:\"item.nordicShare\",fn:function(ref){\n var item = ref.item;\nreturn [_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0 && v <= 1; }],\"only-on-blur\":\"\"},on:{\"input\":function($event){item.id += 11000}},model:{value:(_vm.nordic(item).share),callback:function ($$v) {_vm.$set(_vm.nordic(item), \"share\", $$v)},expression:\"nordic(item).share\"}})]}},{key:\"item.cont\",fn:function(ref){\n var item = ref.item;\nreturn [_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0; }],\"only-on-blur\":\"\"},on:{\"input\":function($event){item.id += 11000}},model:{value:(_vm.cont(item).value),callback:function ($$v) {_vm.$set(_vm.cont(item), \"value\", $$v)},expression:\"cont(item).value\"}})]}},{key:\"item.contShare\",fn:function(ref){\n var item = ref.item;\nreturn [_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0 && v <= 1; }],\"only-on-blur\":\"\"},on:{\"input\":function($event){item.id += 11000}},model:{value:(_vm.cont(item).share),callback:function ($$v) {_vm.$set(_vm.cont(item), \"share\", $$v)},expression:\"cont(item).share\"}})]}},{key:\"item.euro\",fn:function(ref){\n var item = ref.item;\nreturn [_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0; }],\"only-on-blur\":\"\"},on:{\"input\":function($event){item.id += 11000}},model:{value:(_vm.euro(item).value),callback:function ($$v) {_vm.$set(_vm.euro(item), \"value\", $$v)},expression:\"euro(item).value\"}})]}},{key:\"item.euroShare\",fn:function(ref){\n var item = ref.item;\nreturn [_c('NumberInput',{attrs:{\"rules\":[function (v) { return v > 0 && v <= 1; }],\"only-on-blur\":\"\"},on:{\"input\":function($event){item.id += 11000}},model:{value:(_vm.euro(item).share),callback:function ($$v) {_vm.$set(_vm.euro(item), \"share\", $$v)},expression:\"euro(item).share\"}})]}},{key:\"item.actions\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"small-vertical-padding\"},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){item.id = -item.id}}},[_c('v-icon',{attrs:{\"large\":\"\",\"color\":item.id > 0 ? 'error darken-1' : 'success'}},[_vm._v(\" \"+_vm._s(item.id > 0 ? \"mdi-close\" : \"mdi-undo\")+\" \")])],1)],1)]}}],null,true)})],1)],1)],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[_c('v-sheet',{attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"btn-cyan\",\"loading\":_vm.saveInProgress},on:{\"click\":_vm.add}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-plus\")]),_vm._v(\" Ny period \")],1)],1),_c('v-col',{staticClass:\"large-padding-right\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":\"warning\",\"loading\":_vm.saveInProgress,\"disabled\":_vm.saveDisabled},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n IndexClient,\r\n IndexComponent,\r\n IndexPeriodWithComponents,\r\n IndexType,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport NumberInput from \"@/components/shared/input/NumberInput.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n SearchCard,\r\n NumberInput,\r\n DatePicker\r\n },\r\n computed: {\r\n saveDisabled(): boolean {\r\n return !this.valid || !this.periods.some(p => p.id < 0 || p.id > 10000);\r\n },\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 265);\r\n },\r\n supportAdminZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n nordic(item: IndexPeriodWithComponents): IndexComponent {\r\n return item.components!.find(c => c.indexType === IndexType.NordicFuel)!;\r\n },\r\n cont(item: IndexPeriodWithComponents): IndexComponent {\r\n return item.components!.find(\r\n c => c.indexType === IndexType.ContinentalFuel\r\n )!;\r\n },\r\n euro(item: IndexPeriodWithComponents): IndexComponent {\r\n return item.components!.find(\r\n c => c.indexType === IndexType.EuroCurrency\r\n )!;\r\n },\r\n add() {\r\n const newest = this.periods[0];\r\n const from = newest.to.addDays(1);\r\n this.periods.unshift(\r\n new IndexPeriodWithComponents({\r\n id: nextUnique() + 10000000,\r\n from: from,\r\n to: from.addMonths(1).addDays(-1),\r\n components: [\r\n new IndexComponent({\r\n indexType: IndexType.NordicFuel,\r\n value: undefined as any,\r\n share: newest.components!.find(\r\n c => c.indexType === IndexType.NordicFuel\r\n )!.share\r\n }),\r\n new IndexComponent({\r\n indexType: IndexType.ContinentalFuel,\r\n value: undefined as any,\r\n share: newest.components!.find(\r\n c => c.indexType === IndexType.ContinentalFuel\r\n )!.share\r\n }),\r\n new IndexComponent({\r\n indexType: IndexType.EuroCurrency,\r\n value: undefined as any,\r\n share: newest.components!.find(\r\n c => c.indexType === IndexType.EuroCurrency\r\n )!.share\r\n })\r\n ]\r\n })\r\n );\r\n },\r\n fetchIndexPeriods() {\r\n this.periods = [];\r\n new IndexClient(new ApiConfiguration(this.$store))\r\n .indexComponents()\r\n .then(res => {\r\n this.periods = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n save() {\r\n popupDialog({\r\n title: \"Jag hoppas du vet vad du gör\",\r\n body: `Du kommer ta bort ${\r\n this.periods.filter(p => p.id < 0).length\r\n } rad(er).\\n\\nDu har lagt till eller redigerat ${\r\n this.periods.filter(p => p.id > 10000).length\r\n } rad(er).\\n\\nVill du spara?`,\r\n btnText1: \"JA\",\r\n btnColor1: \"success\",\r\n btnCallback1: () => {\r\n this.actuallySave();\r\n },\r\n btnText2: \"NEEEEEJ! TA MIG HÄRIFRÅN!!!!!!!!!!\",\r\n btnColor2: \"error\",\r\n btnCallback2: () => {}\r\n });\r\n },\r\n actuallySave() {\r\n this.saveInProgress = true;\r\n new IndexClient(new ApiConfiguration(this.$store))\r\n .saveIndexComponents(this.periods)\r\n .then(() => {\r\n this.fetchIndexPeriods();\r\n this.saveInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchIndexPeriods();\r\n },\r\n data: (): {\r\n valid: boolean;\r\n saveInProgress: boolean;\r\n periods: IndexPeriodWithComponents[];\r\n headers: TableHeader[];\r\n } => ({\r\n valid: false,\r\n saveInProgress: false,\r\n periods: [],\r\n headers: [\r\n {\r\n value: \"from\",\r\n text: \"Fr.o.m\",\r\n untranslated: true,\r\n width: 170\r\n },\r\n {\r\n value: \"to\",\r\n text: \"T.o.m\",\r\n untranslated: true,\r\n width: 170\r\n },\r\n {\r\n value: \"nordic\",\r\n text: \"Nordic\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"nordicShare\",\r\n text: \"Nordic%\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"cont\",\r\n text: \"Continental\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"contShare\",\r\n text: \"Continental%\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"euro\",\r\n text: \"Euro\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"euroShare\",\r\n text: \"Euro%\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"actions\",\r\n text: \"\",\r\n untranslated: true,\r\n width: 1\r\n }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexComponents.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./IndexComponents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./IndexComponents.vue?vue&type=template&id=7028083c&\"\nimport script from \"./IndexComponents.vue?vue&type=script&lang=ts&\"\nexport * from \"./IndexComponents.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VDataTable,VForm,VIcon,VRow,VSheet,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":_vm.$t('Documents'),\"no-padding-sides\":\"\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [(_vm.loading)?_c('Spinner',{attrs:{\"size\":120,\"smallTopMargin\":\"\",\"smallBottomMargin\":\"\"}}):_vm._e(),_c('v-simple-table',{attrs:{\"height\":_vm.height}},[_c('tbody',_vm._l((_vm.documentGroups),function(g){return _c('tr',{key:g.id,staticClass:\"clickable\",on:{\"click\":function($event){_vm.documentGroupId = g.id}}},[_c('td',[_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(g.actorName))]),_vm._v(\" - \"+_vm._s(g.description)+\" \")])])}),0)]),_c('DocumentDialog',{attrs:{\"documentGroupId\":_vm.documentGroupId},on:{\"close\":function($event){_vm.documentGroupId = undefined}}})]},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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n DocumentGroupDto,\r\n DocumentsClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DocumentDialog from \"@/components/web/documents/DocumentDialog.vue\";\r\nimport { stringCompare } from \"@/scripts/misc/stringUtils\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Spinner,\r\n SearchCard,\r\n DocumentDialog\r\n },\r\n computed: {\r\n height(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 135);\r\n }\r\n },\r\n methods: {\r\n fetchDocuments() {\r\n this.loading = true;\r\n new DocumentsClient(new ApiConfiguration(this.$store))\r\n .supportAdminList()\r\n .then(res => {\r\n this.documentGroups = res.sort((a, b) =>\r\n stringCompare(a.actorName, b.actorName)\r\n );\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchDocuments();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n documentGroups: DocumentGroupDto[];\r\n documentGroupId: number | undefined;\r\n } => ({\r\n loading: true,\r\n documentGroups: [],\r\n documentGroupId: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Documents.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./Documents.vue?vue&type=template&id=b5a9b1a6&\"\nimport script from \"./Documents.vue?vue&type=script&lang=ts&\"\nexport * from \"./Documents.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('SearchCard',{attrs:{\"title\":\"Lägg till i upphandling\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Siffran som visas efter varje beställare säger hur många pågående upphandlingar som ännu inte slutat denna har. Siffran tar inte hänsyn till om leverantören redan är inbjuden till upphandlingarna eller ej. Det kan därför stå ex. (500) efter en beställare även om leverantören redan är inbjuden till alla 500. Koden som lägger till leverantörer tar däremot hänsyn till huruvida leverantören redan är inbjuden eller ej. Det är därför helt ofarligt att bjuda in leverantören till upphandlingar där denne redan är med. \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('CargoType'),\"items\":_vm.cargoTypes,\"tabindex\":\"1\"},model:{value:(_vm.cargoType),callback:function ($$v) {_vm.cargoType=$$v},expression:\"cargoType\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Supplier'),\"items\":_vm.suppliers,\"loading\":_vm.suppliers.length === 0,\"tabindex\":\"1\"},model:{value:(_vm.supplierId),callback:function ($$v) {_vm.supplierId=$$v},expression:\"supplierId\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('DropdownMulti',{attrs:{\"label\":\"Beställare och antal upph.\",\"items\":_vm.clients,\"loading\":_vm.clients.length === 0,\"tabindex\":\"1\"},model:{value:(_vm.clientIds),callback:function ($$v) {_vm.clientIds=$$v},expression:\"clientIds\"}})],1)],1),_c('div',{staticClass:\"large-vertical-padding\"}),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.supplierId || _vm.numProcurements === 0,\"loading\":_vm.saveInProgress,\"color\":\"warning\"},on:{\"click\":_vm.click}},[_vm._v(\" Lägg till \"),_c('span',{staticClass:\"font-weight-black text-decoration-underline\"},[_vm._v(\" \"+_vm._s(_vm.supplierName)+\" \")]),_vm._v(\" i \"),_c('span',{staticClass:\"font-weight-black text-decoration-underline\"},[_vm._v(\" \"+_vm._s(_vm.numProcurements)+\" \")]),_vm._v(\" beställares upphandlingar \")])],1),_c('v-spacer')],1)]},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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport {\r\n AddSupplierToProcurementsDto,\r\n AgreementsClient,\r\n ApiConfiguration,\r\n CargoType,\r\n RepositoryClient,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport { cargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport cached from \"@/scripts/misc/cached\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Dropdown,\r\n DropdownMulti,\r\n Autocomplete\r\n },\r\n watch: {\r\n cargoType: {\r\n handler() {\r\n this.fetchSuppliers();\r\n this.fetchClients();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n supplierName(): string {\r\n const supplier = this.suppliers.find(s => s.id === this.supplierId);\r\n if (!supplier) {\r\n return \"\";\r\n }\r\n return supplier.text!;\r\n },\r\n numProcurements(): number {\r\n return this.clientIds.length;\r\n }\r\n },\r\n methods: {\r\n fetchSuppliers() {\r\n this.suppliers = [];\r\n this.supplierId = undefined;\r\n cached(\"suppliersForSupportAdmin\", this.cargoType)\r\n .then(res => {\r\n this.suppliers = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchClients() {\r\n this.clients = [];\r\n this.clientIds = [];\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .clientsWithProcurements(this.cargoType)\r\n .then(res => {\r\n this.clients = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n click() {\r\n this.saveInProgress = true;\r\n new AgreementsClient(new ApiConfiguration(this.$store))\r\n .addSupplierToProcurements(\r\n new AddSupplierToProcurementsDto({\r\n cargoType: this.cargoType,\r\n supplierId: this.supplierId!,\r\n clientIds: this.clientIds\r\n })\r\n )\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.supplierId = undefined;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n data: (): {\r\n cargoType: CargoType;\r\n supplierId: number | undefined;\r\n clientIds: number[];\r\n cargoTypes: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n clients: RepositoryDto[];\r\n saveInProgress: boolean;\r\n } => ({\r\n cargoType: CargoType.Road,\r\n supplierId: undefined,\r\n clientIds: [],\r\n cargoTypes: cargoTypes(),\r\n suppliers: [],\r\n clients: [],\r\n saveInProgress: false\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddToProcurements.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddToProcurements.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddToProcurements.vue?vue&type=template&id=da816cb2&\"\nimport script from \"./AddToProcurements.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddToProcurements.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"8\"}},[_c('SearchCard',{attrs:{\"title\":\"Lägg till ort\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-form',{model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" Undersök både avståndsberäkning och liknande orter/postnummer innan du skapar orten. \")]),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Autocomplete',{attrs:{\"label\":_vm.$t('Country'),\"items\":_vm.countries,\"loading\":!_vm.countries.length,\"rules\":[function (v) { return !!v; }]},on:{\"input\":_vm.updateCountry},model:{value:(_vm.countryId),callback:function ($$v) {_vm.countryId=$$v},expression:\"countryId\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextWithAutocomplete',{attrs:{\"texts\":_vm.countyTexts || [],\"loading\":!_vm.countyTexts,\"label\":_vm.$t('CountyAddress'),\"rules\":[function (v) { return !!v && v.length >= 1; }]},on:{\"input\":function($event){_vm.checkMade = false}},model:{value:(_vm.county),callback:function ($$v) {_vm.county=$$v},expression:\"county\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('TextWithAutocomplete',{attrs:{\"texts\":_vm.zipCodeTexts || [],\"loading\":!_vm.zipCodeTexts,\"label\":_vm.$t('ZipCode'),\"rules\":[function (v) { return !!v && v.length >= 1; }]},on:{\"input\":function($event){_vm.checkMade = false}},model:{value:(_vm.zipCode),callback:function ($$v) {_vm.zipCode=$$v},expression:\"zipCode\"}})],1),_c('v-col',{attrs:{\"cols\":\"4\"}},[_c('Dropdown',{attrs:{\"items\":_vm.timeZones,\"label\":_vm.$t('TimeZone'),\"rules\":[function (v) { return !!v; }],\"custom-item\":\"\"},scopedSlots:_vm._u([{key:\"item\",fn:function(ref){\nvar item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(item.name)+\" \")]}}]),model:{value:(_vm.timeZone),callback:function ($$v) {_vm.timeZone=$$v},expression:\"timeZone\"}})],1)],1)],1),_c('div',{staticClass:\"large-vertical-padding\"}),_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[(!_vm.checkMade)?_c('v-btn',{attrs:{\"disabled\":!_vm.countryId || !_vm.county || !_vm.zipCode || !_vm.timeZone,\"loading\":_vm.loadingSemaphore > 0,\"color\":\"success\"},on:{\"click\":_vm.check}},[_c('v-icon',[_vm._v(\"mdi-magnify\")]),_vm._v(\" Undersök \")],1):(_vm.exactMatches.exactMatch !== undefined)?_c('h2',{staticClass:\"red-text small-vertical-padding tiny-margin-bottom\"},[_vm._v(\" Finns redan \")]):_c('v-btn',{attrs:{\"disabled\":!_vm.valid,\"loading\":_vm.loadingSemaphore > 0,\"color\":\"warning\"},on:{\"click\":_vm.add}},[_c('v-icon',[_vm._v(\"mdi-plus-thick\")]),_vm._v(\" Lägg till \")],1)],1),_c('v-spacer')],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"4\"}},[_c('SearchCard',{attrs:{\"title\":\"Nyligen tillagda orter\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"218\"}},[_c('tbody',_vm._l((_vm.removable),function(l){return _c('tr',{key:l.locationId},[_c('td',[_vm._v(\" \"+_vm._s(l.locationId)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(l.location)+\" \")]),_c('td',[_c('v-btn',{attrs:{\"loading\":_vm.loadingSemaphore > 0,\"disabled\":!l.removable,\"color\":\"error\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.remove(l.locationId)}}},[_c('v-icon',[_vm._v(\"mdi-trash-can-outline\")])],1)],1)])}),0)])]},proxy:true}])})],1)],1),(_vm.checkMade && !_vm.loadingSemaphore)?_c('v-row',[_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" Exakt postort \")]),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"360\"}},[_c('tbody',[(!(_vm.exactMatches.countyMatches || []).length)?_c('tr',[_c('td',{staticClass:\"darkish-text\"},[_vm._v(\" Inga träffar! \")])]):_vm._e(),_vm._l((_vm.exactMatches.countyMatches || []),function(m,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(m.county)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(m.zipCode)+\" \")])])})],2)])],1)],1),_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" Exakt postnummer \")]),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"360\"}},[_c('tbody',[(!(_vm.exactMatches.zipCodeMatches || []).length)?_c('tr',[_c('td',{staticClass:\"darkish-text\"},[_vm._v(\" Inga träffar! \")])]):_vm._e(),_vm._l((_vm.exactMatches.zipCodeMatches || []),function(m,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(m.county)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(m.zipCode)+\" \")])])})],2)])],1)],1),_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" Fuzzy postort \")]),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"360\"}},[_c('tbody',[(!(_vm.closeMatches.countyMatches || []).length)?_c('tr',[_c('td',{staticClass:\"darkish-text\"},[_vm._v(\" Inga träffar! \")])]):_vm._e(),_vm._l((_vm.closeMatches.countyMatches || []),function(c,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(c)+\" \")]),_c('td',{staticStyle:{\"width\":\"0\"}},[_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function () {\n _vm.county = c;\n _vm.check();\n }}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-format-text-rotation-none\")])],1)],1)])})],2)])],1)],1),_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" Fuzzy postnummer \")]),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"360\"}},[_c('tbody',[(!(_vm.closeMatches.zipCodeMatches || []).length)?_c('tr',[_c('td',{staticClass:\"darkish-text\"},[_vm._v(\" Inga träffar! \")])]):_vm._e(),_vm._l((_vm.closeMatches.zipCodeMatches || []),function(z,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(z)+\" \")]),_c('td',{staticStyle:{\"width\":\"0\"}},[_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function () {\n _vm.zipCode = z;\n _vm.check();\n }}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-format-text-rotation-none\")])],1)],1)])})],2)])],1)],1),_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" Fuzzy kombination \")]),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"360\"}},[_c('tbody',[(!(_vm.closeMatches.overallMatches || []).length)?_c('tr',[_c('td',{staticClass:\"darkish-text\"},[_vm._v(\" Inga träffar! \")])]):_vm._e(),_vm._l((_vm.closeMatches.overallMatches || []),function(m,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(m.county)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(m.zipCode)+\" \")])])})],2)])],1)],1),_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" TRE:s förslag \")]),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('v-simple-table',{attrs:{\"dense\":\"\",\"height\":\"360\"}},[_c('tbody',[(!_vm.suggestions.length)?_c('tr',[_c('td',{staticClass:\"darkish-text\"},[_vm._v(\" Inga träffar! \")])]):_vm._e(),_vm._l((_vm.suggestions),function(s,index){return _c('tr',{key:index},[_c('td',[_vm._v(\" \"+_vm._s(s.county)+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(s.zipcode)+\" \")])])})],2)])],1)],1),_c('v-col',[_c('v-sheet',{staticClass:\"small-vertical-padding medium-padding-sides small-margin-bottom\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_vm._v(\" Avstånd \")]),_c('v-sheet',{staticClass:\"medium-padding-sides\",attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":\"360\"}},[(_vm.itinerary && _vm.itinerary.distance)?_c('div',[_c('div',[_vm._v(_vm._s(_vm.itinerary.distance)+\" km\")]),_c('div',[_vm._v(\" \"+_vm._s(_vm.routingExactnessName(_vm.itinerary.fromExactness))+\" - \"+_vm._s(_vm.routingExactnessName(_vm.itinerary.toExactness))+\" \")])]):_c('div',{staticClass:\"darkish-text\"},[_vm._v(\" Avståndsberäkning misslyckades! \")])])],1)],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',{staticStyle:{\"position\":\"relative\"}},[_c('TextSingle',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.clickOutside),expression:\"clickOutside\"}],attrs:{\"value\":_vm.value,\"label\":_vm.label,\"placeholder\":_vm.placeholder,\"clearable\":_vm.clearable,\"disabled\":_vm.disabled,\"onlyOnBlur\":true,\"tabindex\":_vm.tabindex,\"rules\":_vm.rules,\"asterisk\":_vm.asterisk,\"autofocus\":_vm.autofocus,\"readonly\":_vm.readonly,\"compact\":_vm.compact,\"maxLength\":_vm.maxLength,\"loading\":_vm.loading},on:{\"input\":_vm.input,\"click\":function($event){_vm.suggestions = true}}}),(_vm.suggestions)?_c('v-sheet',{staticClass:\"scrollable dropdown-sheet\",attrs:{\"elevation\":\"2\",\"rounded\":\"\"}},[_c('div',[_c('v-list',{staticClass:\"no-padding\",attrs:{\"dense\":\"\"}},[_vm._l((_vm.texts),function(text){return _c('v-list-item',{key:text,on:{\"click\":function($event){return _vm.clicked(text)}}},[_vm._v(\" \"+_vm._s(text)+\" \")])}),(_vm.texts.length === 0)?_c('v-list-item',{attrs:{\"disabled\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"NothingToShow\"))+\" \")]):_vm._e()],2)],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\r\nimport Vue from \"vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TextSingle\r\n },\r\n props: {\r\n value: String,\r\n texts: Array as () => string[],\r\n label: String,\r\n placeholder: String,\r\n clearable: Boolean,\r\n disabled: Boolean,\r\n onlyOnBlur: Boolean,\r\n tabindex: String,\r\n rules: Array,\r\n asterisk: Boolean,\r\n autofocus: Boolean,\r\n readonly: Boolean,\r\n compact: Boolean,\r\n maxLength: Number,\r\n loading: Boolean\r\n },\r\n methods: {\r\n input(val: string | null) {\r\n this.$emit(\"input\", val);\r\n this.suggestions = true;\r\n },\r\n clickOutside(event: any) {\r\n this.suggestions = false;\r\n },\r\n clicked(text: string) {\r\n this.input(text);\r\n }\r\n },\r\n data: (): { suggestions: boolean } => ({\r\n suggestions: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextWithAutocomplete.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextWithAutocomplete.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TextWithAutocomplete.vue?vue&type=template&id=6ae22e68&scoped=true&\"\nimport script from \"./TextWithAutocomplete.vue?vue&type=script&lang=ts&\"\nexport * from \"./TextWithAutocomplete.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TextWithAutocomplete.vue?vue&type=style&index=0&id=6ae22e68&scoped=true&lang=css&\"\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 \"6ae22e68\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VList,VListItem,VSheet})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport ClickOutside from 'vuetify/lib/directives/click-outside'\ninstallDirectives(component, {ClickOutside})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport TextWithAutocomplete from \"@/components/shared/input/TextWithAutocomplete.vue\";\r\nimport {\r\n AddLocationDto,\r\n ApiConfiguration,\r\n RepositoryDto,\r\n LocationsClient,\r\n CloseMatchesContainerDto,\r\n ItineraryDto,\r\n Country,\r\n ExactMatchesContainerDto,\r\n SuggestionDto,\r\n RemoveLocationDto,\r\n RepositoryClient,\r\n TimeZoneDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { routingExactnessName } from \"@/scripts/misc/enumNames\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n TextWithAutocomplete,\r\n Dropdown\r\n },\r\n watch: {\r\n countryId: {\r\n handler() {\r\n this.timeZone = undefined;\r\n this.fetchCountiesWithZipcodes();\r\n },\r\n immediate: true\r\n },\r\n county() {\r\n this.fetchCountiesWithZipcodes();\r\n },\r\n zipCode() {\r\n this.fetchCountiesWithZipcodes();\r\n }\r\n },\r\n methods: {\r\n routingExactnessName: routingExactnessName,\r\n fetchCountiesWithZipcodes() {\r\n if (!this.countryId) {\r\n return;\r\n }\r\n const unique = nextUnique();\r\n this.activeRequest = unique;\r\n this.countyTexts = undefined;\r\n this.zipCodeTexts = undefined;\r\n cached(\"countiesStartingWith\", [this.county, this.countryId])\r\n .then(res => {\r\n if (this.activeRequest === unique) {\r\n this.countyTexts = res;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"zipcodesStartingWith\", [this.zipCode, this.countryId])\r\n .then(res => {\r\n if (this.activeRequest === unique) {\r\n this.zipCodeTexts = res;\r\n }\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n updateCountry() {\r\n this.checkMade = false;\r\n this.fetchIanaTimeZones();\r\n },\r\n fetchIanaTimeZones() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .ianaTimeZones(this.countryId)\r\n .then(res => (this.timeZones = res))\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n check() {\r\n if (!this.county || !this.zipCode || !this.countryId || !this.timeZone) {\r\n return;\r\n }\r\n this.checkMade = true;\r\n this.loadingSemaphore = 4;\r\n this.closeMatches.countyMatches = [];\r\n this.closeMatches.zipCodeMatches = [];\r\n this.closeMatches.overallMatches = [];\r\n this.exactMatches.countyMatches = [];\r\n this.exactMatches.zipCodeMatches = [];\r\n this.exactMatches.exactMatch = undefined;\r\n this.itinerary = undefined;\r\n this.suggestions = [];\r\n new LocationsClient(new ApiConfiguration(this.$store))\r\n .closeMatches(\r\n new AddLocationDto({\r\n county: this.county,\r\n zipCode: this.zipCode,\r\n country: this.countryId,\r\n timeZone: this.timeZone.timeZone\r\n })\r\n )\r\n .then(res => {\r\n this.closeMatches = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n new LocationsClient(new ApiConfiguration(this.$store))\r\n .exactMatches(\r\n new AddLocationDto({\r\n county: this.county,\r\n zipCode: this.zipCode,\r\n country: this.countryId,\r\n timeZone: this.timeZone.timeZone\r\n })\r\n )\r\n .then(res => {\r\n this.exactMatches = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"itinerary\", [\r\n Country.Sweden,\r\n \"Järfälla\",\r\n \"17547\",\r\n \"Tavelvägen 16\",\r\n this.countryId as Country,\r\n this.county,\r\n this.zipCode,\r\n \"\",\r\n null\r\n ])\r\n .then(res => {\r\n this.itinerary = res;\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n cached(\"addressSuggestions\", [\r\n this.countryId as Country,\r\n this.county,\r\n this.zipCode,\r\n \"\"\r\n ])\r\n .then(res => {\r\n this.suggestions = res;\r\n this.suggestions.map(s => (s.county = s.county!.toUpperCase()));\r\n this.loadingSemaphore--;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n add() {\r\n this.loadingSemaphore++;\r\n new LocationsClient(new ApiConfiguration(this.$store))\r\n .add(\r\n new AddLocationDto({\r\n county: this.county,\r\n zipCode: this.zipCode,\r\n country: this.countryId as Country,\r\n timeZone: this.timeZone?.timeZone!\r\n })\r\n )\r\n .then(() => {\r\n this.loadingSemaphore--;\r\n this.county = \"\";\r\n this.zipCode = \"\";\r\n this.fetchRemovable();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchRemovable() {\r\n new LocationsClient(new ApiConfiguration(this.$store))\r\n .listRemovable()\r\n .then(res => {\r\n this.removable = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n remove(locationId: number) {\r\n this.loadingSemaphore++;\r\n new LocationsClient(new ApiConfiguration(this.$store))\r\n .remove(locationId)\r\n .then(() => {\r\n this.loadingSemaphore--;\r\n this.fetchRemovable();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchCountries();\r\n this.fetchRemovable();\r\n },\r\n data: (): {\r\n valid: boolean;\r\n county: string;\r\n zipCode: string;\r\n countryId: number | undefined;\r\n countries: RepositoryDto[];\r\n countyTexts: string[] | undefined;\r\n zipCodeTexts: string[] | undefined;\r\n closeMatches: CloseMatchesContainerDto;\r\n exactMatches: ExactMatchesContainerDto;\r\n itinerary: ItineraryDto | undefined;\r\n suggestions: SuggestionDto[];\r\n loadingSemaphore: number;\r\n checkMade: boolean;\r\n removable: RemoveLocationDto[];\r\n activeRequest: number;\r\n timeZones: TimeZoneDto[];\r\n timeZone: TimeZoneDto | undefined;\r\n } => ({\r\n valid: false,\r\n county: \"\",\r\n zipCode: \"\",\r\n countryId: undefined,\r\n countries: [],\r\n countyTexts: [],\r\n zipCodeTexts: [],\r\n closeMatches: new CloseMatchesContainerDto({\r\n overallMatches: [],\r\n countyMatches: [],\r\n zipCodeMatches: []\r\n }),\r\n exactMatches: new ExactMatchesContainerDto({\r\n countyMatches: [],\r\n zipCodeMatches: [],\r\n exactMatch: undefined\r\n }),\r\n itinerary: undefined,\r\n suggestions: [],\r\n loadingSemaphore: 0,\r\n checkMade: false,\r\n removable: [],\r\n activeRequest: -1,\r\n timeZones: [],\r\n timeZone: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddLocation.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddLocation.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AddLocation.vue?vue&type=template&id=d40e34fa&\"\nimport script from \"./AddLocation.vue?vue&type=script&lang=ts&\"\nexport * from \"./AddLocation.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VForm,VIcon,VRow,VSheet,VSimpleTable,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Avtalssignering\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('ActorSigningTable',{attrs:{\"actors\":_vm.actors,\"loading\":_vm.loading},on:{\"search\":_vm.search}})],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorSigningClient,\r\n ActorSigningDto,\r\n ApiConfiguration,\r\n TerminatedStatus\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader } from \"@/scripts/types\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport { stringCompare, stringSearchHit } from \"@/scripts/misc/stringUtils\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { ActorListDialogType } from \"../actor/ActorTable.vue\";\r\n\r\nenum SigningStatus {\r\n Declined = \"Nekad\",\r\n Withdrawn = \"Återkallad\",\r\n Expired = \"Förfallen\",\r\n Faulty = \"Felaktig\",\r\n NotStarted = \"Ej startad\",\r\n InProgress = \"Pågående\",\r\n Signed = \"Signerad\"\r\n}\r\n\r\nexport default Vue.extend({\r\n props: {\r\n actors: Array as () => ActorSigningDto[],\r\n loading: Boolean\r\n },\r\n components: {\r\n EllipsisTableItem,\r\n CustomTableHeader,\r\n CustomFilter\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 190);\r\n },\r\n filteredActors(): ActorSigningDto[] {\r\n return this.actors\r\n .filter(a => stringSearchHit(this.actorNameFilter, a.actorName, false))\r\n .filter(\r\n a =>\r\n this.activeFilter === undefined ||\r\n this.activeFilter === null ||\r\n a.active === this.activeFilter\r\n )\r\n .filter(a =>\r\n stringSearchHit(this.cNameFilter, a.contractManagerName, false)\r\n )\r\n .filter(a =>\r\n stringSearchHit(this.cEmailFilter, a.contractManagerEmail, false)\r\n )\r\n .filter(a =>\r\n stringSearchHit(this.cPhoneFilter, a.contractManagerPhone, false)\r\n )\r\n .filter(a => stringSearchHit(this.statusFilter, this.status(a), true));\r\n }\r\n },\r\n methods: {\r\n editActor(id: number) {\r\n window.open(\r\n `/support-admin/actors?id=${id}&dialog=${ActorListDialogType.ActorDialog}`,\r\n \"_blank\"\r\n );\r\n },\r\n init(item: ActorSigningDto) {\r\n this.actionInProgress = item.id;\r\n new ActorSigningClient(new ApiConfiguration(this.$store))\r\n .initialize(item.id)\r\n .then(() => {\r\n this.$emit(\"search\");\r\n this.actionInProgress = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n terminate(item: ActorSigningDto) {\r\n this.actionInProgress = item.id;\r\n new ActorSigningClient(new ApiConfiguration(this.$store))\r\n .terminate(item.id)\r\n .then(() => {\r\n this.$emit(\"search\");\r\n this.actionInProgress = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n sendReminder(item: ActorSigningDto) {\r\n this.actionInProgress = item.id;\r\n new ActorSigningClient(new ApiConfiguration(this.$store))\r\n .sendReminder(item.id)\r\n .then(() => {\r\n this.$emit(\"search\");\r\n this.actionInProgress = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n signingInProgress(item: ActorSigningDto): boolean {\r\n return this.status(item) === SigningStatus.InProgress;\r\n },\r\n isSigned(item: ActorSigningDto): boolean {\r\n return this.status(item) === SigningStatus.Signed;\r\n },\r\n status(item: ActorSigningDto): SigningStatus {\r\n if (item.terminatedStatus === TerminatedStatus.Declined) {\r\n return SigningStatus.Declined;\r\n } else if (item.terminatedStatus === TerminatedStatus.Expired) {\r\n return SigningStatus.Expired;\r\n } else if (item.terminatedStatus === TerminatedStatus.Faulty) {\r\n return SigningStatus.Faulty;\r\n } else if (item.terminatedStatus === TerminatedStatus.Withdrawn) {\r\n return SigningStatus.Withdrawn;\r\n } else if (item.signingStarted === undefined) {\r\n return SigningStatus.NotStarted;\r\n } else if (item.signingCompleted === undefined) {\r\n return SigningStatus.InProgress;\r\n } else {\r\n return SigningStatus.Signed;\r\n }\r\n },\r\n customSort(\r\n items: ActorSigningDto[],\r\n sortByArr: string[],\r\n sortDescArr: boolean[]\r\n ) {\r\n const sortBy = sortByArr[0];\r\n const sortDesc = sortDescArr[0];\r\n let c: { (a: ActorSigningDto, b: ActorSigningDto): number };\r\n switch (sortBy) {\r\n case \"status\":\r\n c = (a: ActorSigningDto, b: ActorSigningDto) =>\r\n stringCompare(this.status(a), this.status(b));\r\n break;\r\n default:\r\n c = (a: ActorSigningDto, b: ActorSigningDto) =>\r\n stringCompare((a as any)[sortBy], (b as any)[sortBy]);\r\n }\r\n items = items.sort((a, b) => (sortDesc ? -1 : 1) * c(a, b));\r\n return items;\r\n }\r\n },\r\n data: (): {\r\n actionInProgress: number;\r\n actorNameFilter: string;\r\n activeFilter: boolean | undefined;\r\n cNameFilter: string;\r\n cEmailFilter: string;\r\n cPhoneFilter: string;\r\n statusFilter: string;\r\n headers: TableHeader[];\r\n } => ({\r\n actionInProgress: 0,\r\n actorNameFilter: \"\",\r\n activeFilter: undefined,\r\n cNameFilter: \"\",\r\n cEmailFilter: \"\",\r\n cPhoneFilter: \"\",\r\n statusFilter: \"\",\r\n headers: [\r\n {\r\n value: \"id\",\r\n text: \"Id\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"edit\",\r\n text: \"\",\r\n untranslated: true\r\n },\r\n {\r\n value: \"actorName\",\r\n text: \"Actor\",\r\n sortValue: true,\r\n width: 210\r\n },\r\n {\r\n value: \"active\",\r\n text: \"Status\",\r\n sortValue: true,\r\n width: 1\r\n },\r\n {\r\n value: \"contractManagerName\",\r\n text: \"ContractManagerName\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"contractManagerEmail\",\r\n text: \"ContractManagerEmail\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"contractManagerPhone\",\r\n text: \"ContractManagerPhone\",\r\n sortValue: true\r\n },\r\n {\r\n value: \"signingStarted\",\r\n text: \"Signering start\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"signingCompleted\",\r\n text: \"Signering klar\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"lastReminder\",\r\n text: \"Påmind\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"pendingSignatoryParty\",\r\n text: \"Just nu hos\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"noOfAttempts\",\r\n text: \"Försök\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"status\",\r\n text: \"Status\",\r\n untranslated: true,\r\n sortValue: true\r\n },\r\n {\r\n value: \"action1\",\r\n width: 1\r\n },\r\n {\r\n value: \"action2\",\r\n width: 1\r\n }\r\n ]\r\n })\r\n});\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"item-key\":\"id\",\"headers\":_vm.headers,\"mobile-breakpoint\":0,\"loading\":_vm.loading,\"items\":_vm.filteredActors,\"height\":_vm.tableHeight,\"custom-sort\":_vm.customSort,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [50],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"sort-by\":\"signingStarted\",\"sort-desc\":\"\",\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.actorName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.actorNameFilter),callback:function ($$v) {_vm.actorNameFilter=$$v},expression:\"actorNameFilter\"}})]},proxy:true},{key:\"filter.active\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'activity' },\"placeholder\":_vm.$t('Status')},model:{value:(_vm.activeFilter),callback:function ($$v) {_vm.activeFilter=$$v},expression:\"activeFilter\"}})]},proxy:true},{key:\"filter.contractManagerName\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.cNameFilter),callback:function ($$v) {_vm.cNameFilter=$$v},expression:\"cNameFilter\"}})]},proxy:true},{key:\"filter.contractManagerEmail\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.cEmailFilter),callback:function ($$v) {_vm.cEmailFilter=$$v},expression:\"cEmailFilter\"}})]},proxy:true},{key:\"filter.contractManagerPhone\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.cPhoneFilter),callback:function ($$v) {_vm.cPhoneFilter=$$v},expression:\"cPhoneFilter\"}})]},proxy:true},{key:\"filter.status\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('Search')},model:{value:(_vm.statusFilter),callback:function ($$v) {_vm.statusFilter=$$v},expression:\"statusFilter\"}})]},proxy:true}],null,true)})]}},{key:\"item.edit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-icon',{attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.editActor(item.id)}}},[_vm._v(\"mdi-pencil\")])]}},{key:\"item.actorName\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.actorName,\"width\":\"200\"}})]}},{key:\"item.active\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:item.active ? 'green-text' : 'red-text'},[_vm._v(_vm._s(item.active ? \"Aktiv\" : \"Inaktiv\"))])]}},{key:\"item.status\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.status(item))+\" \")]}},{key:\"item.action1\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.actionInProgress === item.id)?_c('div',{staticClass:\"spin\"},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\" mdi-biohazard \")])],1):(_vm.signingInProgress(item))?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"20\",\"color\":\"error\",\"disabled\":_vm.actionInProgress !== 0},on:{\"click\":function($event){return _vm.terminate(item)}}},on),[_vm._v(\" mdi-trash-can-outline \")])]}}],null,true)},[_c('span',[_vm._v(\"Avbryt signering\")])]):_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"22\",\"color\":\"success\",\"disabled\":_vm.actionInProgress !== 0},on:{\"click\":function($event){return _vm.init(item)}}},on),[_vm._v(\" mdi-play \")])]}}],null,true)},[_c('span',[_vm._v(\"Starta signering\")])])]}},{key:\"item.action2\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.signingInProgress(item) && !_vm.actionInProgress)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({attrs:{\"size\":\"20\",\"color\":\"warning\",\"disabled\":_vm.actionInProgress !== 0},on:{\"click\":function($event){return _vm.sendReminder(item)}}},on),[_vm._v(\" mdi-email-sync-outline \")])]}}],null,true)},[_c('span',[_vm._v(\"Skicka påminnelse\")])]):(_vm.isSigned(item))?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-icon',_vm._g({staticClass:\"tiny-padding-left\",attrs:{\"size\":\"18\",\"color\":\"grey darken-3\"}},on),[_vm._v(\" mdi-file-sign \")])]}}],null,true)},[_c('span',[_vm._v(\"Avtal signerat\")])]):_vm._e()]}}],null,true)})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorSigningTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorSigningTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorSigningTable.vue?vue&type=template&id=7724ff85&\"\nimport script from \"./ActorSigningTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorSigningTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VDataTable,VIcon,VSheet,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport ActorSigningTable from \"@/components/support-admin/signing/ActorSigningTable.vue\";\r\nimport {\r\n ActorSigningClient,\r\n ActorSigningDto,\r\n ApiConfiguration\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n ActorSigningTable\r\n },\r\n methods: {\r\n search() {\r\n this.loading = true;\r\n new ActorSigningClient(new ApiConfiguration(this.$store))\r\n .list()\r\n .then(res => {\r\n this.actors = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.search();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n actors: ActorSigningDto[];\r\n } => ({\r\n loading: true,\r\n actors: []\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorSigning.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorSigning.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorSigning.vue?vue&type=template&id=11cd5ce8&\"\nimport script from \"./ActorSigning.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorSigning.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('MegaReportSearch',{attrs:{\"items\":_vm.items,\"criteria\":_vm.criteria,\"chartType\":_vm.chartType,\"loading\":_vm.loading,\"exportLoading\":_vm.exportLoading},on:{\"clearSelection\":_vm.clearSelection,\"fetchStatistics\":_vm.fetchStatistics,\"useCriteria\":_vm.useCriteria,\"exportToExcel\":_vm.exportToExcel,\"setChartType\":_vm.setChartType}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":_vm.tableHeight}}):_vm._e(),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.loading ? 1 : _vm.tableHeight}},[_c('BezierChart',{attrs:{\"title\":_vm.title,\"chartData\":_vm.chartData,\"yAxisUnit\":_vm.yAxisUnit},on:{\"click\":_vm.click}})],1)],1),_c('DialogCard',{attrs:{\"dialog\":_vm.piealog,\"width\":\"800\",\"full-height\":\"\"},on:{\"close\":function($event){_vm.piealog = false}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('PieChart',{attrs:{\"chartData\":_vm.pieChartData,\"title\":_vm.pieChartTitle}})]},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('canvas',{key:_vm.key,attrs:{\"id\":\"myChart\",\"width\":\"400\",\"height\":\"400\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Chart, ChartData, ChartItem, registerables } from \"chart.js\";\r\nChart.register(...registerables);\r\n\r\nexport default Vue.extend({\r\n props: {\r\n chartData: Object as () => ChartData<\"pie\", number[], string>,\r\n title: String\r\n },\r\n watch: {\r\n chartData() {\r\n this.key++;\r\n this.$nextTick(() => {\r\n this.render();\r\n });\r\n }\r\n },\r\n methods: {\r\n render() {\r\n const ctx: ChartItem = document.getElementById(\"myChart\") as any;\r\n this.chartData.datasets.map(d => {\r\n (d.backgroundColor = [\r\n \"#c62107\",\r\n \"#4d4d4d\",\r\n \"#dfd5bb\",\r\n \"#65c8e6\",\r\n \"#ffa500\"\r\n ]),\r\n (d.borderColor = [\r\n \"#c62107\",\r\n \"#4d4d4d\",\r\n \"#dfd5bb\",\r\n \"#65c8e6\",\r\n \"#ffa500\"\r\n ]),\r\n (d.borderWidth = 1);\r\n });\r\n new Chart(ctx, {\r\n type: \"pie\",\r\n data: this.chartData,\r\n options: {\r\n plugins: {\r\n title: {\r\n text: this.title,\r\n display: true\r\n }\r\n },\r\n maintainAspectRatio: false\r\n }\r\n });\r\n }\r\n },\r\n data: (): { key: number } => ({ key: 1 })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PieChart.vue?vue&type=template&id=53aece9f&\"\nimport script from \"./PieChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./PieChart.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('SearchCard',{attrs:{\"title\":\"Megarapporten\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":_vm.fetchStatistics},scopedSlots:_vm._u([{key:\"head-left\",fn:function(){return [_c('InfoTooltip',{attrs:{\"text\":\"Klicka på en punkt för att se ett pajdiagram över tidpunktens värden\",\"icon\":\"mdi-information-outline\",\"color\":\"cyan\"}}),_c('MegaReportPresetThing',{attrs:{\"criteria\":_vm.criteria,\"chartType\":_vm.chartType},on:{\"useCriteria\":_vm.useCriteria}})]},proxy:true},{key:\"head-right\",fn:function(){return [_c('v-btn',{attrs:{\"loading\":_vm.exportLoading},on:{\"click\":_vm.exportToExcel}},[_c('v-icon',[_vm._v(\"mdi-microsoft-excel\")])],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Dropdown',{attrs:{\"value\":_vm.chartType,\"label\":\"Tabelltyp\",\"items\":_vm.items.chartTypeItems},on:{\"input\":_vm.setChartType}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Från\",\"zone\":_vm.supportAdminZone},model:{value:(_vm.criteria.fromDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromDate\", $$v)},expression:\"criteria.fromDate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Till\",\"zone\":_vm.supportAdminZone},model:{value:(_vm.criteria.toDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"toDate\", $$v)},expression:\"criteria.toDate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Dropdown',{attrs:{\"label\":\"En kurva per år\",\"items\":_vm.items.yesNoItems},model:{value:(_vm.criteria.stackYears),callback:function ($$v) {_vm.$set(_vm.criteria, \"stackYears\", $$v)},expression:\"criteria.stackYears\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Dropdown',{attrs:{\"label\":\"Månader per nod\",\"items\":_vm.items.monthInGroupItems},model:{value:(_vm.criteria.monthsInGroup),callback:function ($$v) {_vm.$set(_vm.criteria, \"monthsInGroup\", $$v)},expression:\"criteria.monthsInGroup\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Dropdown',{attrs:{\"label\":\"Ackumulering\",\"items\":_vm.items.yesNoItems},model:{value:(_vm.criteria.accumulate),callback:function ($$v) {_vm.$set(_vm.criteria, \"accumulate\", $$v)},expression:\"criteria.accumulate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"})],1),_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Fraktsätt\",\"items\":_vm.cargoTypes,\"clearable\":\"\"},model:{value:(_vm.criteria.cargoTypes),callback:function ($$v) {_vm.$set(_vm.criteria, \"cargoTypes\", $$v)},expression:\"criteria.cargoTypes\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Lasthållare\",\"items\":_vm.truckTypes,\"clearable\":\"\"},model:{value:(_vm.criteria.truckTypes),callback:function ($$v) {_vm.$set(_vm.criteria, \"truckTypes\", $$v)},expression:\"criteria.truckTypes\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Leverantör\",\"items\":_vm.items.suppliers,\"clearable\":\"\"},model:{value:(_vm.criteria.supplierIds),callback:function ($$v) {_vm.$set(_vm.criteria, \"supplierIds\", $$v)},expression:\"criteria.supplierIds\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Beställare\",\"items\":_vm.items.clients,\"clearable\":\"\"},model:{value:(_vm.criteria.clientIds),callback:function ($$v) {_vm.$set(_vm.criteria, \"clientIds\", $$v)},expression:\"criteria.clientIds\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Enhet\",\"items\":_vm.items.units,\"clearable\":\"\"},model:{value:(_vm.criteria.units),callback:function ($$v) {_vm.$set(_vm.criteria, \"units\", $$v)},expression:\"criteria.units\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Lasstatus\",\"items\":_vm.items.loadStatuses,\"clearable\":\"\"},model:{value:(_vm.criteria.loadStatuses),callback:function ($$v) {_vm.$set(_vm.criteria, \"loadStatuses\", $$v)},expression:\"criteria.loadStatuses\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('Dropdown',{attrs:{\"label\":\"Per bokningsavgiftstyp\",\"items\":_vm.items.yesNoItems},model:{value:(_vm.criteria.splitBookingFeeType),callback:function ($$v) {_vm.$set(_vm.criteria, \"splitBookingFeeType\", $$v)},expression:\"criteria.splitBookingFeeType\"}})],1)],1),_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Hämtland\",\"items\":_vm.items.countryItems,\"clearable\":\"\"},model:{value:(_vm.criteria.fromCountries),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromCountries\", $$v)},expression:\"criteria.fromCountries\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Hämtort\",\"items\":_vm.items.pickupCountyItems,\"clearable\":\"\"},model:{value:(_vm.criteria.fromCounties),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromCounties\", $$v)},expression:\"criteria.fromCounties\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Levland\",\"items\":_vm.items.countryItems,\"clearable\":\"\"},model:{value:(_vm.criteria.toCountries),callback:function ($$v) {_vm.$set(_vm.criteria, \"toCountries\", $$v)},expression:\"criteria.toCountries\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Levort\",\"items\":_vm.items.deliveryCountyItems,\"clearable\":\"\"},model:{value:(_vm.criteria.toCounties),callback:function ($$v) {_vm.$set(_vm.criteria, \"toCounties\", $$v)},expression:\"criteria.toCounties\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Antal extrastopp\",\"items\":_vm.items.extraStopsItems,\"clearable\":\"\"},model:{value:(_vm.criteria.numExtraStops),callback:function ($$v) {_vm.$set(_vm.criteria, \"numExtraStops\", $$v)},expression:\"criteria.numExtraStops\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Orsak avvikelse\",\"items\":_vm.items.deviationCauses,\"clearable\":\"\"},model:{value:(_vm.criteria.deviationCauses),callback:function ($$v) {_vm.$set(_vm.criteria, \"deviationCauses\", $$v)},expression:\"criteria.deviationCauses\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Orsak annat pris\",\"items\":_vm.items.otherPriceCauses,\"clearable\":\"\"},model:{value:(_vm.criteria.otherPriceCauses),callback:function ($$v) {_vm.$set(_vm.criteria, \"otherPriceCauses\", $$v)},expression:\"criteria.otherPriceCauses\"}})],1)],1)]},proxy:true}])})}\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:\"large-margin-left medium-padding-left\",staticStyle:{\"width\":\"500px\"}},[_c('v-row',[_c('v-col',{staticClass:\"no-padding\"},[_c('Autocomplete',{attrs:{\"label\":\"Preset\",\"items\":_vm.items},model:{value:(_vm.presetId),callback:function ($$v) {_vm.presetId=$$v},expression:\"presetId\"}})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"height\":\"39\"},on:{\"click\":_vm.openDialog}},[_c('v-icon',{attrs:{\"color\":\"icon-grey\"}},[_vm._v(\"mdi-hammer-wrench\")])],1)],1)],1),_c('DialogCard',{attrs:{\"dialog\":_vm.dialog,\"title\":\"Hantera presets\",\"width\":600},on:{\"close\":function($event){_vm.dialog = false}},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Välj en preset ur listan att spara över eller ta bort. \")]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Autocomplete',{attrs:{\"label\":\"Preset\",\"items\":_vm.items},model:{value:(_vm.dialogPresetId),callback:function ($$v) {_vm.dialogPresetId=$$v},expression:\"dialogPresetId\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" Lämna alternativt valet ovan tomt och skriv ett nytt namn i textfältet nedan. \")]),(!_vm.dialogPresetId)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":\"Namn\"},model:{value:(_vm.title),callback:function ($$v) {_vm.title=$$v},expression:\"title\"}})],1):_vm._e()],1)]},proxy:true},{key:\"actions\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.dialogPresetId,\"loading\":_vm.saveInProgress,\"color\":\"error\"},on:{\"click\":_vm.remove}},[_c('v-icon',{attrs:{\"left\":\"\",\"color\":\"icon-grey\"}},[_vm._v(\" mdi-trash-can-outline \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Delete\"))+\" \")],1)],1),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":!_vm.dialogPresetId && !_vm.title,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ChartType, MegaPreset } from \"@/scripts/types\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport { actions, gets, mutations } from \"@/scripts/store/constants\";\r\nimport {\r\n ActorConfigurationType,\r\n ApiConfiguration,\r\n MegaReportSearchCriteria,\r\n RepositoryDto,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { ActorConfigurationEntry } from \"@/scripts/store/actorConfModule\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Autocomplete,\r\n DialogCard,\r\n TextSingle\r\n },\r\n props: {\r\n criteria: MegaReportSearchCriteria,\r\n chartType: Number as () => ChartType\r\n },\r\n watch: {\r\n presetId: {\r\n handler() {\r\n const entry = this.entries.find(e => e.subTypeId === this.presetId);\r\n if (entry) {\r\n const preset = entry.conf as MegaPreset;\r\n this.$emit(\r\n \"useCriteria\",\r\n this.copyCriteria(preset.criteria),\r\n preset.chartType\r\n );\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n entries(): ActorConfigurationEntry[] {\r\n return this.$store.getters[gets.allActorConfs](\r\n ActorConfigurationType.MegaPresets\r\n );\r\n },\r\n items(): RepositoryDto[] {\r\n return this.entries.map(\r\n e =>\r\n new RepositoryDto({\r\n id: e.subTypeId,\r\n text: `[${(e.conf as MegaPreset).creator}] ${\r\n (e.conf as MegaPreset).title\r\n }`\r\n })\r\n );\r\n }\r\n },\r\n methods: {\r\n openDialog() {\r\n this.dialog = true;\r\n this.dialogPresetId = this.presetId;\r\n this.title = \"\";\r\n },\r\n remove() {\r\n this.saveInProgress = true;\r\n this.$store\r\n .dispatch(actions.deleteActorConf, {\r\n type: ActorConfigurationType.MegaPresets,\r\n subTypeId: this.dialogPresetId\r\n })\r\n .then(() => {\r\n return new UsersClient(new ApiConfiguration(this.$store)).profile();\r\n })\r\n .then(profile => {\r\n return this.$store.dispatch(actions.initActorConf, {\r\n actorType: profile.actorType,\r\n confs: profile.actorConfigurations\r\n });\r\n })\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.dialogPresetId = undefined;\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n let preset: MegaPreset;\r\n if (this.dialogPresetId) {\r\n preset = this.$store.getters[gets.actorConf](\r\n ActorConfigurationType.MegaPresets,\r\n this.dialogPresetId\r\n );\r\n } else {\r\n this.dialogPresetId =\r\n nextUnique() + Math.max(0, ...this.entries.map(e => e.subTypeId));\r\n preset = {\r\n creator: this.$store.getters[gets.username],\r\n title: this.title,\r\n chartType: this.chartType,\r\n criteria: this.copyCriteria(this.criteria)\r\n };\r\n }\r\n this.$store.commit(mutations.setActorConf, {\r\n type: ActorConfigurationType.MegaPresets,\r\n subTypeId: this.dialogPresetId,\r\n conf: preset\r\n } as ActorConfigurationEntry);\r\n this.$store\r\n .dispatch(actions.saveActorConf, {\r\n type: ActorConfigurationType.MegaPresets,\r\n subTypeId: this.dialogPresetId\r\n })\r\n .then(() => {\r\n this.saveInProgress = false;\r\n this.dialogPresetId = undefined;\r\n this.dialog = false;\r\n });\r\n },\r\n copyCriteria(criteria: MegaReportSearchCriteria): MegaReportSearchCriteria {\r\n return new MegaReportSearchCriteria({\r\n fromDate: CDate.fromApiString(criteria.fromDate as any),\r\n toDate: CDate.fromApiString(criteria.toDate as any),\r\n fromCountries: [...criteria.fromCountries!],\r\n toCountries: [...criteria.toCountries!],\r\n fromCounties: [...criteria.fromCounties!],\r\n toCounties: [...criteria.toCounties!],\r\n units: [...criteria.units!],\r\n accumulate: criteria.accumulate,\r\n monthsInGroup: criteria.monthsInGroup,\r\n clientIds: [...criteria.clientIds!],\r\n supplierIds: [...criteria.supplierIds!],\r\n cargoTypes: [...criteria.cargoTypes!],\r\n truckTypes: [...criteria.truckTypes!],\r\n loadStatuses: [...criteria.loadStatuses!],\r\n deviationCauses: [...criteria.deviationCauses!],\r\n otherPriceCauses: [...criteria.otherPriceCauses!],\r\n numExtraStops: [...criteria.numExtraStops!],\r\n splitBookingFeeType: criteria.splitBookingFeeType,\r\n stackYears: criteria.stackYears\r\n });\r\n }\r\n },\r\n data: (): {\r\n dialog: boolean;\r\n saveInProgress: boolean;\r\n presetId: number | undefined;\r\n dialogPresetId: number | undefined;\r\n title: string;\r\n } => ({\r\n dialog: false,\r\n saveInProgress: false,\r\n presetId: undefined,\r\n dialogPresetId: undefined,\r\n title: \"\"\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MegaReportPresetThing.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MegaReportPresetThing.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MegaReportPresetThing.vue?vue&type=template&id=1a4151e0&\"\nimport script from \"./MegaReportPresetThing.vue?vue&type=script&lang=ts&\"\nexport * from \"./MegaReportPresetThing.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ChartType } from \"@/scripts/types\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport MegaReportPresetThing from \"@/components/support-admin/mega-report/MegaReportPresetThing.vue\";\r\nimport { MegaReportItems } from \"@/views/support-admin/statistics/MegaReport.vue\";\r\nimport {\r\n MegaReportSearchCriteria,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { cargoTypes, truckTypes } from \"@/scripts/misc/enumLists\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Dropdown,\r\n DropdownMulti,\r\n DatePicker,\r\n InfoTooltip,\r\n MegaReportPresetThing\r\n },\r\n props: {\r\n items: Object as () => MegaReportItems,\r\n criteria: Object as () => MegaReportSearchCriteria,\r\n chartType: Number as () => ChartType,\r\n loading: Boolean,\r\n exportLoading: Boolean\r\n },\r\n computed: {\r\n cargoTypes(): RepositoryDto[] {\r\n return cargoTypes();\r\n },\r\n truckTypes(): RepositoryDto[] {\r\n return truckTypes();\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n fetchStatistics() {\r\n this.$emit(\"fetchStatistics\");\r\n },\r\n useCriteria(criteria: MegaReportSearchCriteria, chartType: ChartType) {\r\n this.$emit(\"useCriteria\", criteria, chartType);\r\n },\r\n exportToExcel() {\r\n this.$emit(\"exportToExcel\");\r\n },\r\n setChartType(chartType: ChartType) {\r\n this.$emit(\"setChartType\", chartType);\r\n }\r\n },\r\n data: (): {\r\n supportAdminZone: TimeZone;\r\n } => ({\r\n supportAdminZone: TimeZone.Europe_Stockholm\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MegaReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MegaReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MegaReportSearch.vue?vue&type=template&id=37acbab1&\"\nimport script from \"./MegaReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./MegaReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorsClient,\r\n ApiConfiguration,\r\n MegaReportDatasetDto,\r\n MegaReportSearchCriteria,\r\n LoadStatus,\r\n RepositoryClient,\r\n RepositoryDto,\r\n StatisticsClient,\r\n MegaReportExportDto,\r\n MegaReportExportColumnDto\r\n} from \"@/scripts/cld.api\";\r\nimport { ChartData, ChartDataset } from \"chart.js\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport DialogCard from \"@/components/shared/ui/DialogCard.vue\";\r\nimport PieChart from \"@/components/shared/charts/PieChart.vue\";\r\nimport BezierChart, {\r\n AxisUnit,\r\n chartColors\r\n} from \"@/components/shared/charts/BezierChart.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport MegaReportSearch from \"@/components/support-admin/mega-report/MegaReportSearch.vue\";\r\nimport { deviationCauses, otherPriceCauses } from \"@/scripts/misc/enumLists\";\r\nimport {\r\n cargoTypeName,\r\n deviationCauseName,\r\n feeTypeName,\r\n isoName,\r\n loadStatusName,\r\n otherPriceCauseName,\r\n truckTypeName\r\n} from \"@/scripts/misc/enumNames\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport { ChartType, createMegaReportCriteria } from \"@/scripts/types\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\n\r\nconst deviationNull = \"\";\r\nconst unitNull = \"\";\r\nconst unitEmpty = \"\";\r\n\r\nexport type MegaReportItems = {\r\n units: RepositoryDto[];\r\n clients: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n monthInGroupItems: RepositoryDto[];\r\n countryItems: RepositoryDto[];\r\n pickupCountyItems: RepositoryDto[];\r\n deliveryCountyItems: RepositoryDto[];\r\n extraStopsItems: RepositoryDto[];\r\n yesNoItems: RepositoryDto[];\r\n loadStatuses: RepositoryDto[];\r\n chartTypeItems: RepositoryDto[];\r\n deviationCauses: RepositoryDto[];\r\n otherPriceCauses: RepositoryDto[];\r\n};\r\n\r\nexport default Vue.extend({\r\n components: {\r\n BezierChart,\r\n SkeletonLoader,\r\n DialogCard,\r\n PieChart,\r\n MegaReportSearch\r\n },\r\n watch: {\r\n criteria: {\r\n handler() {\r\n this.fetchStatistics();\r\n },\r\n immediate: true,\r\n deep: true\r\n },\r\n \"criteria.toCountries\": {\r\n handler() {\r\n if (this.criteria.toCountries?.length === 0) {\r\n this.criteria.toCounties = [];\r\n }\r\n this.fetchDeliveryCounties();\r\n },\r\n immediate: true\r\n },\r\n \"criteria.fromCountries\": {\r\n handler() {\r\n if (this.criteria.fromCountries?.length === 0) {\r\n this.criteria.fromCounties = [];\r\n }\r\n this.fetchPickupCounties();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 290);\r\n },\r\n title(): string {\r\n return this.items.chartTypeItems.find(t => t.id === this.chartType)!\r\n .text!;\r\n },\r\n yAxisUnit(): AxisUnit {\r\n switch (this.chartType) {\r\n case ChartType.Loads:\r\n case ChartType.Containers:\r\n return AxisUnit.Number;\r\n case ChartType.BookingFees:\r\n case ChartType.FreightPrices:\r\n case ChartType.AvgFreightPrice:\r\n return AxisUnit.SEK;\r\n case ChartType.AvgFreightPricePerVolume:\r\n return AxisUnit.SEKM3;\r\n case ChartType.PercentDelivered:\r\n case ChartType.PercentBookedPickup:\r\n case ChartType.PercentBookedDelivery:\r\n case ChartType.PercentHasDistanceLoad:\r\n case ChartType.PercentHasDistanceRoute:\r\n case ChartType.PercentEconomy:\r\n case ChartType.PercentBroadcast:\r\n case ChartType.PercentHasOtherPrice:\r\n return AxisUnit.Percentage;\r\n default:\r\n return neverHappens(this.chartType);\r\n }\r\n },\r\n chartData(): ChartData<\"line\", number[], string> {\r\n let labels: string[] = [];\r\n let datasets: ChartDataset<\"line\", number[]>[] = [];\r\n if (this.statistics.length > 0) {\r\n labels = this.statistics[0].data!.map(d =>\r\n this.criteria.stackYears && this.criteria.monthsInGroup === 1\r\n ? d.date.monthNamePrint(localeCode())\r\n : this.criteria.stackYears && this.criteria.monthsInGroup === 3\r\n ? d.date.quarterPrint()\r\n : this.criteria.monthsInGroup === 1\r\n ? d.date.yearMonthNamePrint(localeCode())\r\n : this.criteria.monthsInGroup === 3\r\n ? d.date.yearQuarterPrint()\r\n : d.date.yearPrint()\r\n );\r\n datasets = this.statistics.map((s, index) => ({\r\n label: this.label(s),\r\n cubicInterpolationMode: \"monotone\",\r\n borderColor: chartColors(index),\r\n data: s.data!.map(d => {\r\n switch (this.chartType) {\r\n case ChartType.Loads:\r\n return d.loads;\r\n case ChartType.Containers:\r\n return d.containers;\r\n case ChartType.BookingFees:\r\n return d.bookingFees;\r\n case ChartType.FreightPrices:\r\n return d.freightPrices;\r\n case ChartType.AvgFreightPrice:\r\n return d.avgFreightPrice;\r\n case ChartType.AvgFreightPricePerVolume:\r\n return d.avgFreightPricePerVolume;\r\n case ChartType.PercentDelivered:\r\n return d.percentDelivered;\r\n case ChartType.PercentBookedPickup:\r\n return d.percentBookedPickup;\r\n case ChartType.PercentBookedDelivery:\r\n return d.percentBookedDelivery;\r\n case ChartType.PercentHasDistanceLoad:\r\n return d.percentHasDistanceLoad;\r\n case ChartType.PercentHasDistanceRoute:\r\n return d.percentHasDistanceRoute;\r\n case ChartType.PercentEconomy:\r\n return d.percentEconomy;\r\n case ChartType.PercentBroadcast:\r\n return d.percentBroadcast;\r\n case ChartType.PercentHasOtherPrice:\r\n return d.percentHasOtherPrice;\r\n default:\r\n return neverHappens(this.chartType);\r\n }\r\n })\r\n }));\r\n }\r\n return {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n }\r\n },\r\n methods: {\r\n fetchStatistics() {\r\n this.loading = true;\r\n const criteria = new MegaReportSearchCriteria(this.criteria);\r\n criteria.units = this.criteria.units!.map(u =>\r\n u === unitEmpty ? \"\" : u === unitNull ? (undefined as any) : u\r\n );\r\n criteria.deviationCauses = this.criteria.deviationCauses!.map(x =>\r\n x === (deviationNull as any) ? undefined : x\r\n );\r\n criteria.otherPriceCauses = this.criteria.otherPriceCauses!.map(x =>\r\n x === (deviationNull as any) ? undefined : x\r\n );\r\n new StatisticsClient(new ApiConfiguration(this.$store))\r\n .megaReport(criteria)\r\n .then(res => {\r\n this.statistics = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchClients() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientsForSupportAdmin(true)\r\n .then(res => {\r\n this.items.clients = res.filter(c => c.id !== 49);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSuppliers() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .suppliersForSupportAdmin(null)\r\n .then(res => {\r\n this.items.suppliers = res.filter(s => s.id !== 48);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.items.countryItems = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchPickupCounties() {\r\n cached(\"countiesSupportAdmin\", [false, this.criteria.fromCountries!])\r\n .then(res => {\r\n this.items.pickupCountyItems = res.map(\r\n c => new RepositoryDto({ id: c as any, text: c })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchDeliveryCounties() {\r\n cached(\"countiesSupportAdmin\", [false, this.criteria.toCountries!])\r\n .then(res => {\r\n this.items.deliveryCountyItems = res.map(\r\n c => new RepositoryDto({ id: c as any, text: c })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchUnits() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .unitsSupportAdmin(null)\r\n .then(res => {\r\n this.items.units = res\r\n .map(u => (u === \"\" ? unitEmpty : !u ? unitNull : u))\r\n .map(u => new RepositoryDto({ id: u as any, text: u }));\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n label(s: MegaReportDatasetDto): string {\r\n let res = \"\";\r\n const clientName = s.clientName ? s.clientName : \"\";\r\n if (clientName) {\r\n res += clientName + \" \";\r\n }\r\n const unit =\r\n this.criteria.units!.length === 0\r\n ? \"\"\r\n : s.unit === \"\"\r\n ? unitEmpty\r\n : !s.unit\r\n ? unitNull\r\n : s.unit;\r\n if (unit) {\r\n res += unit + \" \";\r\n }\r\n const supplierName = s.supplierId\r\n ? this.items.suppliers.find(c => c.id === s.supplierId)!.text\r\n : \"\";\r\n if (supplierName) {\r\n res += supplierName + \" \";\r\n }\r\n const cargoType = s.cargoType ? cargoTypeName(s.cargoType) : \"\";\r\n if (cargoType) {\r\n res += cargoType + \" \";\r\n }\r\n const truckType = s.truckType ? truckTypeName(s.truckType) : \"\";\r\n if (truckType) {\r\n res += truckType + \" \";\r\n }\r\n const fromCountry = s.fromCountry ? isoName(s.fromCountry) : \"\";\r\n const toCountry = s.toCountry ? isoName(s.toCountry) : \"\";\r\n if (fromCountry || s.fromCounty || toCountry || s.toCounty) {\r\n res +=\r\n !fromCountry && !s.fromCounty\r\n ? \"ALLA\"\r\n : [fromCountry, s.fromCounty].filter(x => !!x).join(\" \");\r\n res += \" - \";\r\n res +=\r\n !toCountry && !s.toCounty\r\n ? \"ALLA\"\r\n : [toCountry, s.toCounty].filter(x => !!x).join(\" \");\r\n }\r\n const loadStatus = s.loadStatus ? loadStatusName(s.loadStatus) : \"\";\r\n if (loadStatus) {\r\n res += loadStatus + \" \";\r\n }\r\n const deviationCause =\r\n this.criteria.deviationCauses!.length === 0\r\n ? \"\"\r\n : s.deviationCause\r\n ? deviationCauseName(s.deviationCause)\r\n : deviationNull;\r\n if (deviationCause) {\r\n res += deviationCause + \" \";\r\n }\r\n const otherPriceCause =\r\n this.criteria.otherPriceCauses!.length === 0\r\n ? \"\"\r\n : s.otherPriceCause\r\n ? otherPriceCauseName(s.otherPriceCause)\r\n : deviationNull;\r\n if (otherPriceCause) {\r\n res += otherPriceCause + \" \";\r\n }\r\n const bookingFeeName = s.bookingFeeType\r\n ? feeTypeName(s.bookingFeeType)\r\n : \"\";\r\n if (bookingFeeName) {\r\n res += bookingFeeName + \" \";\r\n }\r\n const year = s.yearForDisplay ? s.yearForDisplay : \"\";\r\n if (year) {\r\n res += year + \" \";\r\n }\r\n const extraStops =\r\n s.numExtraStops !== null ? `${s.numExtraStops} extra stopp` : \"\";\r\n if (extraStops) {\r\n res += extraStops + \" \";\r\n }\r\n return res;\r\n },\r\n click(_: number, index: number) {\r\n this.piealog = true;\r\n this.pieChartTitle = this.title + \" \" + this.chartData.labels![index];\r\n const dataAndLabels = this.chartData.datasets\r\n .map(x => ({ data: x.data[index], label: x.label! }))\r\n .sort((a, b) => (a.data > b.data ? -1 : 1));\r\n this.$nextTick(() => {\r\n this.pieChartData = {\r\n labels: dataAndLabels.map(x => x.label),\r\n datasets: [\r\n {\r\n data: dataAndLabels.map(x => x.data)\r\n }\r\n ]\r\n };\r\n });\r\n },\r\n clearSelection() {\r\n this.criteria = createMegaReportCriteria();\r\n },\r\n useCriteria(criteria: MegaReportSearchCriteria, chartType: ChartType) {\r\n this.criteria = criteria;\r\n this.chartType = chartType;\r\n },\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new StatisticsClient(new ApiConfiguration(this.$store))\r\n .megaReportExport(\r\n new MegaReportExportDto({\r\n title: this.title,\r\n rowHeaders: this.chartData.labels,\r\n columns: this.chartData.datasets.map(\r\n d =>\r\n new MegaReportExportColumnDto({\r\n heading: !d.label ? \"Alla\" : d.label,\r\n values: d.data\r\n })\r\n )\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportLoading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n setChartType(chartType: ChartType) {\r\n this.chartType = chartType;\r\n }\r\n },\r\n mounted() {\r\n this.fetchClients();\r\n this.fetchSuppliers();\r\n this.fetchCountries();\r\n this.fetchUnits();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n exportLoading: boolean;\r\n piealog: boolean;\r\n pieChartData: ChartData<\"pie\", number[], string>;\r\n pieChartTitle: string;\r\n statistics: MegaReportDatasetDto[];\r\n criteria: MegaReportSearchCriteria;\r\n chartType: ChartType;\r\n items: MegaReportItems;\r\n } => ({\r\n loading: false,\r\n exportLoading: false,\r\n piealog: false,\r\n pieChartData: {\r\n labels: [],\r\n datasets: [\r\n {\r\n data: []\r\n }\r\n ]\r\n },\r\n pieChartTitle: \"\",\r\n statistics: [],\r\n criteria: createMegaReportCriteria(),\r\n chartType: ChartType.Loads,\r\n items: {\r\n units: [],\r\n clients: [],\r\n suppliers: [],\r\n monthInGroupItems: [\r\n new RepositoryDto({ id: 1, text: \"Månadsvis\" }),\r\n new RepositoryDto({ id: 3, text: \"Kvartalsvis\" }),\r\n new RepositoryDto({ id: 12, text: \"Årsvis\" })\r\n ],\r\n countryItems: [],\r\n pickupCountyItems: [],\r\n deliveryCountyItems: [],\r\n extraStopsItems: [\r\n new RepositoryDto({ id: 0, text: \"0\" }),\r\n new RepositoryDto({ id: 1, text: \"1\" }),\r\n new RepositoryDto({ id: 2, text: \"2\" }),\r\n new RepositoryDto({ id: 3, text: \"3\" }),\r\n new RepositoryDto({ id: 4, text: \"4\" }),\r\n new RepositoryDto({ id: 5, text: \"5\" }),\r\n new RepositoryDto({ id: 6, text: \"6\" }),\r\n new RepositoryDto({ id: 7, text: \"7\" }),\r\n new RepositoryDto({ id: 8, text: \"8\" }),\r\n new RepositoryDto({ id: 9, text: \"9\" }),\r\n new RepositoryDto({ id: 10, text: \"10\" })\r\n ],\r\n yesNoItems: [\r\n new RepositoryDto({ id: true as any, text: \"Ja\" }),\r\n new RepositoryDto({ id: false as any, text: \"Nej\" })\r\n ],\r\n loadStatuses: [\r\n new RepositoryDto({\r\n id: LoadStatus.Loaded,\r\n text: \"Lastade\"\r\n }),\r\n new RepositoryDto({\r\n id: LoadStatus.Delivered,\r\n text: \"Lossade\"\r\n })\r\n ],\r\n deviationCauses: [\r\n new RepositoryDto({ id: deviationNull as any, text: deviationNull }),\r\n ...deviationCauses()\r\n ],\r\n otherPriceCauses: [\r\n new RepositoryDto({ id: deviationNull as any, text: deviationNull }),\r\n ...otherPriceCauses()\r\n ],\r\n chartTypeItems: [\r\n new RepositoryDto({ id: ChartType.Loads, text: \"Antal lass\" }),\r\n new RepositoryDto({\r\n id: ChartType.Containers,\r\n text: \"Antal containrar\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.BookingFees,\r\n text: \"Bokningsavgifter\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.FreightPrices,\r\n text: \"Fraktpris (total)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.AvgFreightPrice,\r\n text: \"Fraktpris (snitt)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.AvgFreightPricePerVolume,\r\n text: \"Fraktpris (per m3)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentDelivered,\r\n text: \"Lossade (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentBookedPickup,\r\n text: \"Utl. lastning (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentBookedDelivery,\r\n text: \"Utl. lossning (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentHasDistanceLoad,\r\n text: \"Med avstånd på lass (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentHasDistanceRoute,\r\n text: \"På rutt med avstånd (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentEconomy,\r\n text: \"Ekonomilass (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentBroadcast,\r\n text: \"Broadcastlass (%)\"\r\n }),\r\n new RepositoryDto({\r\n id: ChartType.PercentHasOtherPrice,\r\n text: \"Med annat pris (%)\"\r\n })\r\n ]\r\n }\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MegaReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MegaReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MegaReport.vue?vue&type=template&id=5ad78574&\"\nimport script from \"./MegaReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./MegaReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Värmekarta\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":_vm.search},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Från\",\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.criteria.fromDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromDate\", $$v)},expression:\"criteria.fromDate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Till\",\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.criteria.toDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"toDate\", $$v)},expression:\"criteria.toDate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Dropdown',{attrs:{\"label\":\"Gruppering\",\"items\":_vm.hoursPerGroupItems,\"clearable\":\"\"},model:{value:(_vm.criteria.hoursPerGroup),callback:function ($$v) {_vm.$set(_vm.criteria, \"hoursPerGroup\", $$v)},expression:\"criteria.hoursPerGroup\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Autocomplete',{attrs:{\"label\":\"Beställare\",\"items\":_vm.clients,\"clearable\":\"\"},model:{value:(_vm.criteria.clientId),callback:function ($$v) {_vm.$set(_vm.criteria, \"clientId\", $$v)},expression:\"criteria.clientId\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DropdownMulti',{attrs:{\"label\":\"Enhet\",\"items\":_vm.units,\"clearable\":\"\"},model:{value:(_vm.criteria.units),callback:function ($$v) {_vm.$set(_vm.criteria, \"units\", $$v)},expression:\"criteria.units\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":_vm.tableHeight}}):_vm._e(),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.loading ? 1 : _vm.tableHeight}},[_c('BezierChart',{attrs:{\"title\":\"Värmekarta\",\"chartData\":_vm.chartData,\"yAxisUnit\":_vm.yAxisUnit}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n RepositoryDto,\r\n StatisticsClient,\r\n HeatMapSearchCriteria,\r\n UserConfigurationType,\r\n ActorsClient,\r\n RepositoryClient,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport BezierChart, {\r\n AxisUnit,\r\n chartColors\r\n} from \"@/components/shared/charts/BezierChart.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { ChartData, ChartDataset } from \"chart.js\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n BezierChart,\r\n DatePicker,\r\n Autocomplete,\r\n Dropdown,\r\n DropdownMulti,\r\n SkeletonLoader\r\n },\r\n watch: {\r\n criteria: {\r\n handler() {\r\n this.search();\r\n },\r\n immediate: true,\r\n deep: true\r\n },\r\n \"criteria.clientId\": {\r\n handler() {\r\n this.fetchUnits();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 290);\r\n },\r\n criteria(): HeatMapSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.HeatMap,\r\n 1\r\n );\r\n },\r\n labels(): string[] {\r\n const days = [\"M\", \"T\", \"O\", \"T\", \"F\", \"L\", \"S\"];\r\n const hours = [...Array(24 / this.criteria.hoursPerGroup).keys()];\r\n const res: string[] = [];\r\n days.map(d =>\r\n res.push(\r\n ...hours.map(\r\n h =>\r\n d +\r\n \".\" +\r\n (h * this.criteria.hoursPerGroup).toString().padStart(2, \"0\")\r\n )\r\n )\r\n );\r\n return res;\r\n },\r\n chartData(): ChartData<\"line\", number[], string> {\r\n let labels: string[] = [];\r\n let datasets: ChartDataset<\"line\", number[]>[] = [];\r\n if (this.statistics.length > 0) {\r\n labels = this.labels;\r\n datasets = [\r\n {\r\n label: \"Lastningar\",\r\n cubicInterpolationMode: \"monotone\",\r\n borderColor: chartColors(0),\r\n data: this.statistics\r\n }\r\n ];\r\n }\r\n return {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n },\r\n supportAdminTimeZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n search() {\r\n this.loading = true;\r\n new StatisticsClient(new ApiConfiguration(this.$store))\r\n .heatMap(this.criteria)\r\n .then(res => {\r\n this.statistics = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchClients() {\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .clientsForSupportAdmin(true)\r\n .then(res => {\r\n this.clients = res.filter(c => c.id !== 49);\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchUnits() {\r\n new RepositoryClient(new ApiConfiguration(this.$store))\r\n .unitsSupportAdmin(this.criteria.clientId)\r\n .then(res => {\r\n this.units = res.map(\r\n u =>\r\n new RepositoryDto({\r\n id: u as any,\r\n text: u\r\n })\r\n );\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.DistanceReport,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.search();\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchClients();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n statistics: number[];\r\n yAxisUnit: AxisUnit;\r\n clients: RepositoryDto[];\r\n units: RepositoryDto[];\r\n hoursPerGroupItems: RepositoryDto[];\r\n } => ({\r\n loading: false,\r\n statistics: [],\r\n yAxisUnit: AxisUnit.Number,\r\n clients: [],\r\n units: [],\r\n hoursPerGroupItems: [1, 3, 6, 24].map(\r\n h =>\r\n new RepositoryDto({\r\n id: h,\r\n text: `Per ${h}h`\r\n })\r\n )\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeatMap.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HeatMap.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./HeatMap.vue?vue&type=template&id=f2b8e610&\"\nimport script from \"./HeatMap.vue?vue&type=script&lang=ts&\"\nexport * from \"./HeatMap.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Nya aktörer i C-Load\"},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',[_c('Dropdown',{attrs:{\"label\":\"Aktörstyp\",\"items\":_vm.actorTypes,\"clearable\":\"\"},model:{value:(_vm.criteria.actorType),callback:function ($$v) {_vm.$set(_vm.criteria, \"actorType\", $$v)},expression:\"criteria.actorType\"}})],1),(_vm.countries)?_c('v-col',[_c('Autocomplete',{attrs:{\"label\":\"Land\",\"items\":_vm.countries},model:{value:(_vm.criteria.country),callback:function ($$v) {_vm.$set(_vm.criteria, \"country\", $$v)},expression:\"criteria.country\"}})],1):_vm._e(),_c('v-col',[_c('DatePicker',{attrs:{\"label\":\"Från\",\"zone\":_vm.supportAdminZone},model:{value:(_vm.criteria.fromDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromDate\", $$v)},expression:\"criteria.fromDate\"}})],1),_c('v-col',[_c('DatePicker',{attrs:{\"label\":\"Till\",\"zone\":_vm.supportAdminZone},model:{value:(_vm.criteria.toDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"toDate\", $$v)},expression:\"criteria.toDate\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.options)?_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.tableHeight}},[_c('BarChart',{attrs:{\"chartData\":_vm.options}})],1):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[(_vm.options)?_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.tableHeight}},[_c('v-simple-table',{attrs:{\"height\":_vm.tableHeight},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',[_c('th',{staticClass:\"text-left\"},[_vm._v(\" Name \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" Aktörstyp \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" Regdate \")]),_c('th',{staticClass:\"text-left\"},[_vm._v(\" Land \")])])]),_c('tbody',_vm._l((_vm.actorInfos),function(item,index){return _c('tr',{key:index},[_c('td',[_vm._v(_vm._s(item.name))]),_c('td',[_vm._v(_vm._s(_vm.actorTypeName(item.actorType)))]),_c('td',[_vm._v(_vm._s(item.regDate))]),_c('td',[_vm._v(_vm._s(_vm.presentCountry(item.country)))])])}),0)]},proxy:true}],null,false,3677240919)})],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('canvas',{key:_vm.key,attrs:{\"width\":\"400\",\"height\":\"400\",\"id\":\"myChart\"}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { Chart, ChartData, ChartItem, registerables, Title } from \"chart.js\";\r\nChart.register(...registerables);\r\n\r\nexport default Vue.extend({\r\n props: {\r\n chartData: Object as () => ChartData<\"bar\", number[], string>\r\n },\r\n watch: {\r\n chartData() {\r\n this.key++;\r\n this.$nextTick(() => {\r\n this.render();\r\n });\r\n }\r\n },\r\n methods: {\r\n render() {\r\n const ctx: ChartItem = document.getElementById(\"myChart\") as any;\r\n this.chartData.datasets.map(d => {\r\n (d.backgroundColor = [\r\n \"#c62107\",\r\n \"#4d4d4d\",\r\n \"#dfd5bb\",\r\n \"#65c8e6\",\r\n \"#ffa500\"\r\n ]),\r\n (d.borderColor = [\r\n \"#c62107\",\r\n \"#4d4d4d\",\r\n \"#dfd5bb\",\r\n \"#65c8e6\",\r\n \"#ffa500\"\r\n ]),\r\n (d.borderWidth = 1);\r\n });\r\n const myChart = new Chart(ctx, {\r\n type: \"bar\",\r\n data: this.chartData,\r\n options: {\r\n plugins: {\r\n legend: {\r\n display: false\r\n }\r\n },\r\n maintainAspectRatio: false,\r\n scales: {\r\n x: {\r\n display: true,\r\n title: {\r\n display: true\r\n }\r\n },\r\n y: {\r\n display: true,\r\n title: {\r\n display: true\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n },\r\n data: (): { key: number } => ({ key: 1 })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BarChart.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BarChart.vue?vue&type=template&id=0a5c6b1e&\"\nimport script from \"./BarChart.vue?vue&type=script&lang=ts&\"\nexport * from \"./BarChart.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\r\nimport Vue from \"vue\";\r\nimport BarChart from \"@/components/shared/charts/BarChart.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport {\r\n ActorRegDto,\r\n ActorSearchCriteria,\r\n ApiConfiguration,\r\n Country,\r\n RepositoryDto,\r\n StatisticsClient,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport cached from \"@/scripts/misc/cached\";\r\nimport { actorTypes } from \"@/scripts/misc/enumLists\";\r\nimport { actorTypeName, isoName } from \"@/scripts/misc/enumNames\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport translatedDropdown from \"@/scripts/misc/translatedDropdown\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { ChartData } from \"chart.js\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n BarChart,\r\n Dropdown,\r\n Autocomplete,\r\n DatePicker\r\n },\r\n watch: {\r\n criteria: {\r\n handler() {\r\n this.fetchStatistics();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 300);\r\n },\r\n options(): ChartData<\"bar\", number[], string> {\r\n return {\r\n labels: this.labels,\r\n datasets: [\r\n {\r\n label: \"Antal\",\r\n data: this.data\r\n }\r\n ]\r\n };\r\n },\r\n actorTypes() {\r\n return actorTypes();\r\n },\r\n actorInfos() {\r\n return this.statistics.flatMap(x => x.actors!);\r\n },\r\n supportAdminZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n actorTypeName: actorTypeName,\r\n fetchStatistics() {\r\n this.loading = true;\r\n new StatisticsClient(new ApiConfiguration(this.$store))\r\n .actors(this.criteria)\r\n .then(res => {\r\n this.statistics = res;\r\n this.labels = this.statistics.map(c =>\r\n c.regDate!.yearMonthNamePrint(\"sv-SE\")\r\n );\r\n this.data = this.statistics.map(c => c.actorsCount);\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchCountries() {\r\n cached(\"countries\")\r\n .then(res => {\r\n this.countries = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n presentCountry(country: Country): string {\r\n return isoName(country);\r\n }\r\n },\r\n mounted() {\r\n this.fetchCountries();\r\n },\r\n data: (): {\r\n loading: boolean;\r\n statistics: ActorRegDto[];\r\n data: number[];\r\n labels: string[];\r\n countries: RepositoryDto[];\r\n criteria: ActorSearchCriteria;\r\n } => ({\r\n loading: true,\r\n statistics: [],\r\n data: [],\r\n labels: [],\r\n countries: [],\r\n criteria: new ActorSearchCriteria({\r\n fromDate: CDate.fromString(\r\n CDate.now(TimeZone.Europe_Stockholm)\r\n .startOfDay()\r\n .yearPrint() +\r\n \"-01-\" +\r\n \"01\",\r\n TimeZone.Europe_Stockholm\r\n ),\r\n toDate: CDate.fromString(\r\n CDate.now(TimeZone.Europe_Stockholm)\r\n .startOfDay()\r\n .yearPrint() +\r\n \"-12-\" +\r\n \"31\",\r\n TimeZone.Europe_Stockholm\r\n ),\r\n actorType: undefined,\r\n country: undefined\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorStatistics.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorStatistics.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorStatistics.vue?vue&type=template&id=8a1a87d6&\"\nimport script from \"./ActorStatistics.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorStatistics.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VCol,VRow,VSheet,VSimpleTable})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('InvoicedFeesReportSearch',{attrs:{\"exportLoading\":_vm.exportInProgress,\"exportDisabled\":(_vm.reportContainer.rows || []).length === 0},on:{\"exportToExcel\":_vm.exportToExcel,\"clearSelection\":_vm.clearSelection,\"search\":_vm.search}})],1),_c('v-col',{staticClass:\"no-padding small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('InvoicedFeesReportTable',{attrs:{\"loading\":!!_vm.loading,\"tableOptions\":_vm.tableOptions,\"reportContainer\":_vm.reportContainer},on:{\"tableOptionsChanged\":_vm.tableOptionsChanged,\"search\":_vm.search}})],1)],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('SearchCard',{attrs:{\"title\":\"Fakturerade avgifter\",\"clearable\":\"\"},on:{\"clearSelection\":_vm.clearSelection},scopedSlots:_vm._u([{key:\"head-right\",fn:function(){return [_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"loading\":_vm.exportLoading,\"disabled\":_vm.exportDisabled},on:{\"click\":function($event){return _vm.$emit('exportToExcel')}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-microsoft-excel\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Export\"))+\" \")],1)],1)],1)]},proxy:true},{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Autocomplete',{attrs:{\"label\":\"Aktör - Affe Nr\",\"items\":_vm.actors},on:{\"input\":_vm.search},model:{value:(_vm.searchCriteria.actorId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"actorId\", $$v)},expression:\"searchCriteria.actorId\"}})],1),_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('Dropdown',{attrs:{\"value\":_vm.selectedDate,\"label\":_vm.$t('InvoiceDate'),\"items\":_vm.dateOptions},on:{\"input\":_vm.setSelectedDate}})],1)],1)]},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\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n InvoicedFeesSearchCriteria,\r\n RepositoryDto,\r\n InvoicedFeesClient,\r\n ApiConfiguration,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport Autocomplete from \"@/components/shared/input/Autocomplete.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport { actorCargoTypes } from \"@/scripts/misc/enumLists\";\r\nimport { currencyName } from \"@/scripts/misc/enumNames\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n Autocomplete,\r\n Dropdown\r\n },\r\n props: {\r\n exportLoading: Boolean,\r\n exportDisabled: Boolean\r\n },\r\n watch: {\r\n \"searchCriteria.actorId\": {\r\n handler() {\r\n this.fetchDates();\r\n },\r\n immediate: true\r\n },\r\n \"searchCriteria.invoiceDate\": {\r\n handler() {\r\n if (this.searchCriteria.invoiceDate) {\r\n const dateAsString = this.searchCriteria.invoiceDate.dateTimePrint();\r\n if (dateAsString !== this.selectedDate) {\r\n this.selectedDate = dateAsString;\r\n }\r\n }\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n searchCriteria(): InvoicedFeesSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoicedFees,\r\n 1\r\n );\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\r\n },\r\n dateOptions(): RepositoryDto[] {\r\n return this.dates.map(\r\n d =>\r\n new RepositoryDto({\r\n id: d.dateTimePrint() as any,\r\n text:\r\n d.dateTextPrint(localeCode()) + \" (\" + d.shortTimePrint() + \")\"\r\n })\r\n );\r\n },\r\n selectedDate(): string | undefined {\r\n if (!this.searchCriteria.invoiceDate) {\r\n return undefined;\r\n }\r\n return this.searchCriteria.invoiceDate.dateTimePrint();\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n search() {\r\n this.$emit(\"search\");\r\n },\r\n clearSelection() {\r\n this.$emit(\"clearSelection\");\r\n },\r\n setSelectedDate(dateAsString: string | undefined) {\r\n if (!dateAsString) {\r\n this.searchCriteria.invoiceDate = undefined as any;\r\n } else {\r\n this.searchCriteria.invoiceDate = CDate.fromString(\r\n dateAsString,\r\n TimeZone.Europe_Stockholm\r\n );\r\n }\r\n this.search();\r\n },\r\n fetchDates() {\r\n if (!this.searchCriteria.actorId) {\r\n this.dates = [];\r\n return;\r\n }\r\n new InvoicedFeesClient(new ApiConfiguration(this.$store))\r\n .dates(this.searchCriteria.actorId)\r\n .then(res => {\r\n this.dates = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchActors() {\r\n new InvoicedFeesClient(new ApiConfiguration(this.$store))\r\n .actors()\r\n .then(res => {\r\n this.actors = res;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n mounted() {\r\n this.fetchActors();\r\n },\r\n data: (): { actors: RepositoryDto[]; dates: CDate[] } => ({\r\n actors: [],\r\n dates: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicedFeesReportSearch.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicedFeesReportSearch.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoicedFeesReportSearch.vue?vue&type=template&id=4bc59a6e&\"\nimport script from \"./InvoicedFeesReportSearch.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoicedFeesReportSearch.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-sheet',{staticClass:\"tiniest-padding\",attrs:{\"rounded\":\"\",\"elevation\":\"2\"}},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.reportContainer.rows,\"loading\":_vm.loading,\"height\":_vm.tableHeight,\"mobile-breakpoint\":0,\"server-items-length\":_vm.reportContainer.count,\"options\":_vm.options,\"footer-props\":{\n 'items-per-page-text': _vm.$t('Quantity') + ':',\n 'items-per-page-all-text': _vm.$t('MobileAll'),\n 'items-per-page-options': [200],\n 'page-text': _vm.$t('ShowingItemsXofY')\n },\"hide-default-header\":\"\",\"fixed-header\":\"\",\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"header\",fn:function(ref){\n var props = ref.props;\n var on = ref.on;\nreturn [_c('CustomTableHeader',{attrs:{\"props\":props,\"on\":on},scopedSlots:_vm._u([{key:\"filter.feeType\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'feeType' },\"placeholder\":_vm.$t('Type')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.feeType),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"feeType\", $$v)},expression:\"searchCriteria.feeType\"}})]},proxy:true},{key:\"filter.currency\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'currency' },\"placeholder\":_vm.$t('Currency')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.currency),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"currency\", $$v)},expression:\"searchCriteria.currency\"}})]},proxy:true},{key:\"filter.unit\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":\"Fakt. Enhet\"},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.unit),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"unit\", $$v)},expression:\"searchCriteria.unit\"}})]},proxy:true},{key:\"filter.loadId\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('LoadID')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.loadId),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"loadId\", $$v)},expression:\"searchCriteria.loadId\"}})]},proxy:true},{key:\"filter.transportNo\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{ subtype: 'text' },\"placeholder\":_vm.$t('TransportNo')},on:{\"search\":_vm.search},model:{value:(_vm.searchCriteria.transportNo),callback:function ($$v) {_vm.$set(_vm.searchCriteria, \"transportNo\", $$v)},expression:\"searchCriteria.transportNo\"}})]},proxy:true},{key:\"filter.pickupLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('PickupLocation'),\"value\":{\n county: _vm.searchCriteria.pickupCounty,\n zipCode: _vm.searchCriteria.pickupZipCode,\n countryId: _vm.searchCriteria.pickupCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.pickupCounty = val.county;\n _vm.searchCriteria.pickupZipCode = val.zipCode;\n _vm.searchCriteria.pickupCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true},{key:\"filter.deliveryLocation\",fn:function(){return [_c('CustomFilter',{attrs:{\"config\":{\n subtype: 'location'\n },\"placeholder\":_vm.$t('DeliveryLocation'),\"value\":{\n county: _vm.searchCriteria.deliveryCounty,\n zipCode: _vm.searchCriteria.deliveryZipCode,\n countryId: _vm.searchCriteria.deliveryCountry\n }},on:{\"input\":function (val) {\n _vm.searchCriteria.deliveryCounty = val.county;\n _vm.searchCriteria.deliveryZipCode = val.zipCode;\n _vm.searchCriteria.deliveryCountry = val.countryId;\n },\"search\":_vm.search}})]},proxy:true}],null,true)})]}},{key:\"item.feeType\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.feeTypeName(item.feeType))+\" \")])]}},{key:\"item.priceTotal\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(_vm.price(item))+\" \")])]}},{key:\"item.currency\",fn:function(ref){\n var item = ref.item;\nreturn [_vm._v(\" \"+_vm._s(_vm.currencyName(item.currency))+\" \")]}},{key:\"item.fromDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.fromDate.datePrint())+\" \")])]}},{key:\"item.toDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.toDate.datePrint())+\" \")])]}},{key:\"item.unit\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.unit)+\" \")])]}},{key:\"item.pickupLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.pickup(item),\"width\":\"190\"}})]}},{key:\"item.deliveryLocation\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":_vm.delivery(item),\"width\":\"210\"}})]}},{key:\"item.loadedDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_vm._v(\" \"+_vm._s(item.loadedDate)+\" \")])]}}],null,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\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n InvoicedFeesSearchCriteria,\r\n ActorType,\r\n InvoicedFeesOrderBy,\r\n InvoicedFeesContainerDto,\r\n InvoicedFeeRowDto,\r\n Country\r\n} from \"@/scripts/cld.api\";\r\nimport { TableHeader, TableOptions } from \"@/scripts/types\";\r\nimport money from \"@/scripts/misc/money\";\r\nimport CustomTableHeader from \"@/components/shared/table/CustomTableHeader.vue\";\r\nimport CustomFilter from \"@/components/shared/table/CustomFilter.vue\";\r\nimport EllipsisTableItem from \"@/components/shared/table/EllipsisTableItem.vue\";\r\nimport { currencyName, feeTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { isoName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n CustomTableHeader,\r\n CustomFilter,\r\n EllipsisTableItem\r\n },\r\n props: {\r\n loading: Boolean,\r\n tableOptions: Object as () => TableOptions,\r\n reportContainer: InvoicedFeesContainerDto\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 250);\r\n },\r\n searchCriteria(): InvoicedFeesSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoicedFees,\r\n 1\r\n );\r\n },\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n options: {\r\n get(): TableOptions {\r\n return this.tableOptions;\r\n },\r\n set(options: TableOptions) {\r\n this.$emit(\"tableOptionsChanged\", options);\r\n }\r\n },\r\n headers(): TableHeader[] {\r\n const headers: TableHeader[] = [];\r\n headers.push({\r\n value: \"feeType\",\r\n text: \"Type\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.FeeType\r\n });\r\n headers.push({\r\n value: \"priceTotal\",\r\n text: \"Price\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.Price\r\n });\r\n headers.push({\r\n value: \"currency\",\r\n text: \"Currency\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.Currency\r\n });\r\n headers.push({\r\n value: \"fromDate\",\r\n text: \"FromDate\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.FromDate\r\n });\r\n headers.push({\r\n value: \"toDate\",\r\n text: \"ToDate\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.ToDate\r\n });\r\n headers.push({\r\n value: \"unit\",\r\n text: \"Fakt. Enhet\",\r\n untranslated: true,\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.Unit\r\n });\r\n headers.push({\r\n value: \"loadId\",\r\n text: \"LoadID\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.LoadId\r\n });\r\n headers.push({\r\n value: \"transportNo\",\r\n text: \"TransportNo\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.TransportNo\r\n });\r\n headers.push({\r\n value: \"pickupLocation\",\r\n text: \"PickupLocation\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.PickupLocation\r\n });\r\n headers.push({\r\n value: \"deliveryLocation\",\r\n text: \"DeliveryLocation\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.DeliveryLocation\r\n });\r\n headers.push({\r\n value: \"loadedDate\",\r\n text: \"LoadedDate\",\r\n width: 1,\r\n sortValue: InvoicedFeesOrderBy.LoadedDate\r\n });\r\n\r\n return headers;\r\n }\r\n },\r\n methods: {\r\n money: money,\r\n currencyName: currencyName,\r\n feeTypeName: feeTypeName,\r\n pickup(item: InvoicedFeeRowDto): string {\r\n if (!item.pickupCounty) {\r\n return \"N/A\";\r\n }\r\n return (\r\n item.pickupCounty +\r\n \", \" +\r\n item.pickupZipCode +\r\n \", \" +\r\n this.countryIso(item.pickupCountry)\r\n );\r\n },\r\n delivery(item: InvoicedFeeRowDto): string {\r\n if (!item.deliveryCounty) {\r\n return \"N/A\";\r\n }\r\n return (\r\n item.deliveryCounty +\r\n \", \" +\r\n item.deliveryZipCode +\r\n \", \" +\r\n this.countryIso(item.deliveryCountry)\r\n );\r\n },\r\n countryIso(country: Country | undefined): string {\r\n if (country) {\r\n return `${isoName(country)}`;\r\n }\r\n return \"\";\r\n },\r\n price(item: InvoicedFeeRowDto): string {\r\n if (item.numberOfItems > 1) {\r\n return (\r\n item.priceTotalWithDiscount +\r\n \" \" +\r\n \"(\" +\r\n item.numberOfItems +\r\n \" * \" +\r\n item.priceEach +\r\n \")\"\r\n );\r\n }\r\n\r\n return item.priceTotalWithDiscount.toString();\r\n },\r\n search() {\r\n this.$emit(\"search\");\r\n }\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicedFeesReportTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicedFeesReportTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoicedFeesReportTable.vue?vue&type=template&id=0dad3d1f&\"\nimport script from \"./InvoicedFeesReportTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoicedFeesReportTable.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VDataTable,VSheet})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { TableOptions } from \"@/scripts/types\";\r\nimport {\r\n ApiConfiguration,\r\n UserConfigurationType,\r\n InvoicedFeesClient,\r\n InvoicedFeesOrderBy,\r\n InvoicedFeesSearchCriteriaContainer,\r\n InvoicedFeesSearchCriteria,\r\n InvoicedFeesContainerDto\r\n} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport InvoicedFeesReportSearch from \"@/components/support-admin/invoice/InvoicedFeesReportSearch.vue\";\r\nimport InvoicedFeesReportTable from \"@/components/support-admin/invoice/InvoicedFeesReportTable.vue\";\r\nimport nextUnique from \"@/scripts/misc/nextUnique\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InvoicedFeesReportSearch,\r\n InvoicedFeesReportTable\r\n },\r\n computed: {\r\n sorting(): { orderBy: InvoicedFeesOrderBy; orderByDesc: boolean } {\r\n return {\r\n orderBy: this.tableOptions.sortBy[0] as InvoicedFeesOrderBy,\r\n orderByDesc: this.tableOptions.sortDesc[0]\r\n };\r\n },\r\n searchCriteria(): InvoicedFeesSearchCriteria {\r\n return this.$store.getters[gets.userConf](\r\n UserConfigurationType.InvoicedFees,\r\n 1\r\n );\r\n }\r\n },\r\n methods: {\r\n clearSelection() {\r\n this.$store\r\n .dispatch(actions.resetUserConf, {\r\n type: UserConfigurationType.InvoicedFees,\r\n subTypeId: 1\r\n })\r\n .then(() => {\r\n this.tableOptions.sortBy = [InvoicedFeesOrderBy.FeeType];\r\n this.tableOptions.sortDesc = [false];\r\n this.search();\r\n });\r\n },\r\n search(tableOptionsTriggered?: boolean) {\r\n if (!this.searchCriteria.invoiceDate || !this.searchCriteria.actorId) {\r\n this.reportContainer = new InvoicedFeesContainerDto({\r\n count: 0,\r\n rows: []\r\n });\r\n return;\r\n }\r\n scrollTableToTop(this);\r\n const unique = nextUnique();\r\n this.loading = unique;\r\n new InvoicedFeesClient(new ApiConfiguration(this.$store))\r\n .report(\r\n new InvoicedFeesSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n if (unique !== this.loading) {\r\n return;\r\n }\r\n if (!tableOptionsTriggered) {\r\n this.tableOptions.page = 1;\r\n }\r\n this.reportContainer = res;\r\n this.loading = 0;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n this.$store.dispatch(actions.saveUserConf, {\r\n type: UserConfigurationType.InvoicedFees,\r\n subTypeId: 1\r\n });\r\n },\r\n exportToExcel() {\r\n this.exportInProgress = true;\r\n new InvoicedFeesClient(new ApiConfiguration(this.$store))\r\n .export(\r\n new InvoicedFeesSearchCriteriaContainer({\r\n searchCriteria: this.searchCriteria,\r\n itemsPerPage: this.tableOptions.itemsPerPage,\r\n pageNumber: this.tableOptions.page,\r\n ...this.sorting\r\n })\r\n )\r\n .then(res => {\r\n excelPrompt(res);\r\n this.exportInProgress = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n tableOptionsChanged(options: TableOptions) {\r\n this.tableOptions = options;\r\n this.search(true);\r\n }\r\n },\r\n data: (): {\r\n loading: number;\r\n saveInProgress: boolean;\r\n exportInProgress: boolean;\r\n tableOptions: TableOptions;\r\n reportContainer: InvoicedFeesContainerDto;\r\n } => ({\r\n loading: 0,\r\n saveInProgress: false,\r\n exportInProgress: false,\r\n tableOptions: new TableOptions({\r\n itemsPerPage: 200,\r\n sortBy: [InvoicedFeesOrderBy.FeeType],\r\n sortDesc: [false]\r\n }),\r\n reportContainer: new InvoicedFeesContainerDto({\r\n count: 0,\r\n rows: []\r\n })\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicedFeesReport.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicedFeesReport.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InvoicedFeesReport.vue?vue&type=template&id=e9751572&\"\nimport script from \"./InvoicedFeesReport.vue?vue&type=script&lang=ts&\"\nexport * from \"./InvoicedFeesReport.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-row',[_c('v-col',{staticClass:\"no-padding-top small-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('SearchCard',{attrs:{\"title\":\"Användarstatistik\",\"clearable\":\"\",\"refreshable\":\"\",\"loading\":_vm.loading},on:{\"clearSelection\":_vm.clearSelection,\"refresh\":_vm.fetchStatistics},scopedSlots:_vm._u([{key:\"body\",fn:function(){return [_c('v-row',[_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Från\",\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.criteria.fromDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"fromDate\", $$v)},expression:\"criteria.fromDate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Till\",\"zone\":_vm.supportAdminTimeZone},model:{value:(_vm.criteria.toDate),callback:function ($$v) {_vm.$set(_vm.criteria, \"toDate\", $$v)},expression:\"criteria.toDate\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('Dropdown',{attrs:{\"label\":\"Precision\",\"items\":_vm.precisionItems},model:{value:(_vm.criteria.precision),callback:function ($$v) {_vm.$set(_vm.criteria, \"precision\", $$v)},expression:\"criteria.precision\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DropdownMulti',{attrs:{\"label\":\"Typer\",\"items\":_vm.userTypesItems,\"clearable\":\"\"},model:{value:(_vm.userTypes),callback:function ($$v) {_vm.userTypes=$$v},expression:\"userTypes\"}})],1)],1)]},proxy:true}])})],1),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":_vm.tableHeight}}):_vm._e(),_c('v-sheet',{attrs:{\"elevation\":\"2\",\"rounded\":\"\",\"height\":_vm.loading ? 1 : _vm.tableHeight}},[_c('BezierChart',{attrs:{\"title\":\"Aktiva användare\",\"chartData\":_vm.chartData,\"yAxisUnit\":_vm.yAxisUnit}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n RepositoryDto,\r\n StatisticsClient,\r\n ActiveUsersStatisticsSearchCriteria,\r\n ActiveUsersStatisticsDto,\r\n ActiveUsersStatisticsDatePrecision,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { ChartData, ChartDataset } from \"chart.js\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport BezierChart, {\r\n AxisUnit,\r\n chartColors\r\n} from \"@/components/shared/charts/BezierChart.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport DropdownMulti from \"@/components/shared/input/DropdownMulti.vue\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\r\n\r\nenum UserType {\r\n All = 0,\r\n Web = 1,\r\n Integration = 2,\r\n Client = 3,\r\n Supplier = 4,\r\n Customer = 5,\r\n Terminal = 6\r\n}\r\n\r\nconst createCriteria = () => {\r\n return new ActiveUsersStatisticsSearchCriteria({\r\n fromDate: CDate.now(TimeZone.Europe_Stockholm).addDays(-1),\r\n toDate: CDate.now(TimeZone.Europe_Stockholm),\r\n precision: ActiveUsersStatisticsDatePrecision.Hours\r\n });\r\n};\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n BezierChart,\r\n DatePicker,\r\n Dropdown,\r\n DropdownMulti,\r\n SkeletonLoader\r\n },\r\n watch: {\r\n criteria: {\r\n handler() {\r\n this.fetchStatistics();\r\n },\r\n immediate: true,\r\n deep: true\r\n }\r\n },\r\n computed: {\r\n tableHeight(): number {\r\n return Math.max(400, this.$store.getters[gets.dimensions].height - 290);\r\n },\r\n yAxisUnit(): AxisUnit {\r\n return AxisUnit.Number;\r\n },\r\n chartData(): ChartData<\"line\", number[], string> {\r\n let labels: string[] = [];\r\n let datasets: ChartDataset<\"line\", number[]>[] = [];\r\n if (this.statistics.length > 0) {\r\n labels = this.statistics.map(d =>\r\n this.criteria.precision === ActiveUsersStatisticsDatePrecision.Hours\r\n ? d.date.shortDateTimePrint()\r\n : this.criteria.precision ===\r\n ActiveUsersStatisticsDatePrecision.Days\r\n ? d.date.dateTextPrint(localeCode())\r\n : d.date.monthNamePrint(localeCode())\r\n );\r\n const userTypesToDraw =\r\n this.userTypes.length > 0 ? this.userTypes : [UserType.All];\r\n datasets = userTypesToDraw.map((t, index) => ({\r\n label: this.label(t),\r\n cubicInterpolationMode: \"monotone\",\r\n borderColor: chartColors(index),\r\n data: this.statistics.map(d => this.getValue(d, t))\r\n }));\r\n }\r\n return {\r\n labels: labels,\r\n datasets: datasets\r\n };\r\n },\r\n supportAdminTimeZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm;\r\n }\r\n },\r\n methods: {\r\n fetchStatistics() {\r\n this.loading = true;\r\n new StatisticsClient(new ApiConfiguration(this.$store))\r\n .activeUsersStatistics(this.criteria)\r\n .then(res => {\r\n this.statistics = res;\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n clearSelection() {\r\n this.criteria = createCriteria();\r\n },\r\n label(userType: number): string {\r\n return (\r\n this.userTypesItems.find(t => t.id === userType)?.text || \"Sammanlagt\"\r\n );\r\n },\r\n getValue(stat: ActiveUsersStatisticsDto, userType: UserType): number {\r\n switch (userType) {\r\n case UserType.All:\r\n stat.activeUsers;\r\n case UserType.Web:\r\n return (\r\n stat.activeClients +\r\n stat.activeSuppliers +\r\n stat.activeCustomers +\r\n stat.activeTerminals\r\n );\r\n case UserType.Integration:\r\n return stat.activeIntegrationUsers;\r\n case UserType.Client:\r\n return stat.activeClients;\r\n case UserType.Supplier:\r\n return stat.activeSuppliers;\r\n case UserType.Customer:\r\n return stat.activeCustomers;\r\n case UserType.Terminal:\r\n return stat.activeTerminals;\r\n default:\r\n return neverHappens(userType);\r\n }\r\n }\r\n },\r\n data: (): {\r\n loading: boolean;\r\n statistics: ActiveUsersStatisticsDto[];\r\n criteria: ActiveUsersStatisticsSearchCriteria;\r\n userTypes: number[];\r\n userTypesItems: RepositoryDto[];\r\n precisionItems: RepositoryDto[];\r\n } => ({\r\n loading: false,\r\n statistics: [],\r\n criteria: createCriteria(),\r\n userTypes: [],\r\n userTypesItems: [\r\n new RepositoryDto({ id: UserType.Web, text: \"Webb\" }),\r\n new RepositoryDto({ id: UserType.Integration, text: \"Integration\" }),\r\n new RepositoryDto({ id: UserType.Client, text: \"Beställare\" }),\r\n new RepositoryDto({ id: UserType.Supplier, text: \"Leverantör\" }),\r\n new RepositoryDto({ id: UserType.Customer, text: \"Kund\" }),\r\n new RepositoryDto({ id: UserType.Terminal, text: \"Terminal\" })\r\n ],\r\n precisionItems: [\r\n new RepositoryDto({\r\n id: ActiveUsersStatisticsDatePrecision.Hours,\r\n text: \"Per timme\"\r\n }),\r\n new RepositoryDto({\r\n id: ActiveUsersStatisticsDatePrecision.Days,\r\n text: \"Per dygn\"\r\n }),\r\n new RepositoryDto({\r\n id: ActiveUsersStatisticsDatePrecision.Months,\r\n text: \"Per månad\"\r\n })\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveUsers.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActiveUsers.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActiveUsers.vue?vue&type=template&id=1b81fdab&\"\nimport script from \"./ActiveUsers.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActiveUsers.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/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VCol,VRow,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('MobileLoadListTabs',{attrs:{\"tabs\":_vm.tabs,\"selectedTab\":_vm.selectedTab},on:{\"selectTabId\":function (v) { return (_vm.selectedTabId = v); }}})],1),_c('v-spacer')],1),_c('v-row',[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding\",attrs:{\"cols\":\"12\"}},[_c('MobileLoadListTable',{attrs:{\"selectedTab\":_vm.selectedTab}})],1),_c('v-spacer')],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('v-row',[_c('v-col',{staticClass:\"medium-padding-sides no-padding-bottom small-padding-top\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"block\":\"\",\"color\":\"white\"},on:{\"click\":_vm.populateLoads}},[_c('v-icon',[_vm._v(\"mdi-reload\")])],1)],1)],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top\",attrs:{\"cols\":\"12\"}},[(_vm.loads.length === 0 && _vm.loading)?_c('Spinner',{staticClass:\"large-padding-top\",attrs:{\"size\":100}}):(_vm.loads.length === 0)?[_c('v-row',[_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(_vm.noResultText)+\" \")]),_c('v-spacer')],1)]:[_c('v-row',_vm._l((_vm.loads),function(item,index){return _c('v-col',{key:index,staticClass:\"no-padding-bottom small-padding-top\",attrs:{\"cols\":\"12\"}},[(_vm.loading)?_c('SkeletonLoader',{attrs:{\"lines\":\"0\",\"height\":\"200\"}}):_c('v-card',[_c('v-list',{class:{ resigned: _vm.resigned(item.loadId) },attrs:{\"dense\":\"\"}},[(_vm.missingAgreement(item))?_c('v-list-item',[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"error\"}},[_vm._v(\" mdi-alert-octagon \")]),_c('v-list-item-content',{staticClass:\"red-text font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"MissingAgreement\"))+\"! \")])],1):_vm._e(),_c('v-list-item',[_c('v-list-item-content',{staticClass:\"font-weight-bold\",staticStyle:{\"min-width\":\"max-content\"}},[_vm._v(\" \"+_vm._s(item.route)+\" \")]),_c('v-list-item-content',{staticClass:\"small-margin-left\"},[_vm._v(\" (\"+_vm._s(item.loadId)+\") \")])],1),(_vm.clientVisible)?_c('v-list-item',[_c('v-list-item-content',[_vm._v(\" \"+_vm._s(item.clientName)+\" \")])],1):_vm._e(),_c('v-list-item',[_c('v-list-item-content',[_c('v-icon',{staticClass:\"tiny-margin-top tiny-margin-right tray-icon\",attrs:{\"size\":\"16\",\"color\":\"black\"}},[_vm._v(\"mdi-tray-arrow-down\")]),_vm._v(\" \"+_vm._s(_vm.presentDate(item.pickupEarliest))+\" \")],1),_c('v-list-item-content',[_c('v-icon',{staticClass:\"tiny-margin-top tiny-margin-right tray-icon\",attrs:{\"size\":\"16\",\"color\":\"black\"}},[_vm._v(\"mdi-tray-arrow-up\")]),_vm._v(\" \"+_vm._s(_vm.presentDate(item.deliveryLatest))+\" \")],1)],1),_c('v-list-item',[(_vm.transportNoVisible)?_c('v-list-item-content',[_vm._v(\" \"+_vm._s(_vm.$t(\"TransportNo\"))+\" : \"+_vm._s(item.transportNo)+\" \")]):_vm._e(),_c('v-list-item-content',[_vm._v(\" \"+_vm._s(_vm.truckTypeName(item.truckType))+\" \")])],1),_c('v-list-item',[(_vm.isContainerLoad(item.cargoType))?_c('v-list-item-content',[_vm._v(\" \"+_vm._s(_vm.$t(\"NumberOfContainers\"))+\" : \"+_vm._s(item.containers)+\" \")]):_vm._e(),_c('v-list-item-content',[_vm._v(\" \"+_vm._s(_vm.$t(\"MobileNumberOfStops\"))+\" : \"+_vm._s(item.stops)+\" \")])],1),_c('v-list-item',{staticClass:\"small-padding-top tiny-padding-bottom\"},[_c('v-row',[_vm._l((_vm.actions(item.loadId)),function(action,index){return [(index !== 0)?_c('v-spacer',{key:item.loadId + action.id}):_vm._e(),_c('v-col',{key:index,staticClass:\"no-vertical-padding small-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"color\":_vm.color(action.id)},on:{\"click\":function($event){return _vm.open(action.id, item.loadId)}}},[_vm._v(\" \"+_vm._s(action.text)+\" \")])],1)]}),(_vm.resigned(item.loadId))?[_c('v-spacer'),_c('v-col',{staticClass:\"no-vertical-padding\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Resigned\"))+\" \")])],1)]:_vm._e()],2)],1)],1)],1)],1)}),1)],_c('LoadDialogs',{on:{\"search\":_vm.populateLoads}})],2)],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\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport {\r\n ActorType,\r\n ApiConfiguration,\r\n MobileClient,\r\n MobileLoadListDto,\r\n CargoType,\r\n LoadActionPermission,\r\n LoadStatus\r\n} from \"@/scripts/cld.api\";\r\nimport SkeletonLoader from \"@/components/shared/ui/SkeletonLoader.vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport { LoadAction, LoadListTab } from \"@/scripts/types\";\r\nimport LoadDialogs from \"@/components/web/loads/shared/LoadDialogs.vue\";\r\nimport Spinner from \"@/components/shared/ui/Spinner.vue\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n selectedTab: LoadListTab\r\n },\r\n components: {\r\n LoadDialogs,\r\n Spinner,\r\n SkeletonLoader\r\n },\r\n watch: {\r\n selectedTab: {\r\n handler() {\r\n this.loads = [];\r\n this.populateLoads();\r\n },\r\n immediate: true\r\n }\r\n },\r\n computed: {\r\n actorType(): ActorType {\r\n return this.$store.getters[gets.userInfo].actorType;\r\n },\r\n clientVisible(): boolean {\r\n return this.actorType === ActorType.Supplier;\r\n },\r\n transportNoVisible(): boolean {\r\n return (\r\n this.actorType !== ActorType.Supplier ||\r\n this.selectedTab.id !== LoadStatus.Ordered\r\n );\r\n },\r\n noResultText(): string {\r\n if (this.selectedTab.id === LoadStatus.Ordered) {\r\n return t(\"MobileOrderedOldLoadsWillNotBeShown\");\r\n }\r\n if (this.selectedTab.id === LoadStatus.Booked) {\r\n return t(\"MobileBookedOldLoadsWillNotBeShown\");\r\n }\r\n if (this.selectedTab.id === LoadStatus.Loaded) {\r\n return t(\"MobileLoadedOldLoadsWillNotBeShown\");\r\n }\r\n if (this.selectedTab.id === LoadStatus.Delivered) {\r\n return t(\"MobileDeliveredOldLoadsWillNotBeShown\");\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n },\r\n methods: {\r\n truckTypeName: truckTypeName,\r\n populateLoads() {\r\n this.loading = true;\r\n new MobileClient(new ApiConfiguration(this.$store))\r\n .loadlist(this.selectedTab.id)\r\n .then(res => {\r\n this.loads = res;\r\n this.fetchLoadLocks();\r\n this.fetchLoadPermissions();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchLoadPermissions() {\r\n this.$store\r\n .dispatch(\r\n actions.fetchPermissions,\r\n this.loads.map(x => x.loadId)\r\n )\r\n .then(() => {\r\n this.loading = false;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchLoadLocks() {\r\n const actorType: ActorType = this.$store.getters[gets.userInfo].actorType;\r\n if (actorType === ActorType.Client || actorType === ActorType.Supplier) {\r\n this.$store\r\n .dispatch(\r\n actions.fetchLocks,\r\n this.loads.map(x => x.loadId)\r\n )\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n }\r\n },\r\n isContainerLoad(cargoType: CargoType): boolean {\r\n return cargoType === CargoType.Container;\r\n },\r\n presentDate(d?: CDate): string {\r\n return d === undefined\r\n ? \"\"\r\n : d.shortDateTimePrint() + \" \" + `(${d.offsetName})`;\r\n },\r\n open(actionId: LoadActionPermission, loadId: Number) {\r\n this.$router.push({\r\n path: this.$route.path,\r\n query: {\r\n action: actionId.toString(),\r\n ids: \"[\" + loadId.toString() + \"]\"\r\n }\r\n });\r\n },\r\n resigned(loadId: number): boolean {\r\n return (\r\n this.actorType === ActorType.Supplier &&\r\n this.selectedTab.id === LoadStatus.Ordered &&\r\n this.actions(loadId).find(a => a.id === LoadActionPermission.Resign) ===\r\n undefined\r\n );\r\n },\r\n missingAgreement(load: MobileLoadListDto): boolean {\r\n return load.status === LoadStatus.MissingAgreement;\r\n },\r\n actions(loadId: number): LoadAction[] {\r\n let loadActions: LoadAction[] = this.$store.getters[gets.loadActions](\r\n loadId\r\n );\r\n return loadActions\r\n .filter((a: LoadAction) => a.allowed)\r\n .filter(a =>\r\n this.actionsVisibleInMobile.map(x => x.action).includes(a.id)\r\n );\r\n },\r\n color(a: LoadActionPermission): string {\r\n return this.actionsVisibleInMobile.find(x => x.action === a)!.color;\r\n }\r\n },\r\n data: (): {\r\n loads: MobileLoadListDto[];\r\n loading: boolean;\r\n actionsVisibleInMobile: { action: LoadActionPermission; color: string }[];\r\n } => ({\r\n loads: [],\r\n loading: true,\r\n actionsVisibleInMobile: [\r\n { action: LoadActionPermission.Details, color: \"btn-cyan\" },\r\n { action: LoadActionPermission.Book, color: \"success\" },\r\n { action: LoadActionPermission.SupplierEdit, color: \"btn-cyan\" },\r\n { action: LoadActionPermission.Resign, color: \"error\" },\r\n { action: LoadActionPermission.Load, color: \"success\" },\r\n { action: LoadActionPermission.Deliver, color: \"success\" }\r\n ]\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadListTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadListTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileLoadListTable.vue?vue&type=template&id=a6e6688e&scoped=true&\"\nimport script from \"./MobileLoadListTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileLoadListTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileLoadListTable.vue?vue&type=style&index=0&id=a6e6688e&scoped=true&lang=css&\"\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 \"a6e6688e\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCol,VIcon,VList,VListItem,VListItemContent,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-tabs',{attrs:{\"centered\":\"\",\"show-arrows\":\"\"},model:{value:(_vm.selectedTabIndex),callback:function ($$v) {_vm.selectedTabIndex=$$v},expression:\"selectedTabIndex\"}},_vm._l((_vm.tabs),function(tab){return _c('v-tab',{key:tab.id,staticClass:\"text-small\"},[_vm._v(\" \"+_vm._s(_vm.loadListTabName(tab.id))+\" \")])}),1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { LoadListTab, loadListTabName } from \"@/scripts/types\";\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n props: {\r\n tabs: Array as () => LoadListTab[],\r\n selectedTab: LoadListTab\r\n },\r\n computed: {\r\n selectedTabIndex: {\r\n get(): number {\r\n return (this.tabs as LoadListTab[]).findIndex(\r\n t => t.id === this.selectedTab.id\r\n );\r\n },\r\n set(index: number) {\r\n this.$emit(\"selectTabId\", (this.tabs as LoadListTab[])[index].id);\r\n }\r\n }\r\n },\r\n methods: {\r\n loadListTabName: loadListTabName\r\n }\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadListTabs.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoadListTabs.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileLoadListTabs.vue?vue&type=template&id=3ca3f3a9&scoped=true&\"\nimport script from \"./MobileLoadListTabs.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileLoadListTabs.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileLoadListTabs.vue?vue&type=style&index=0&id=3ca3f3a9&scoped=true&lang=css&\"\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 \"3ca3f3a9\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\ninstallComponents(component, {VTab,VTabs})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LoadStatus, UserConfigurationType } from \"@/scripts/cld.api\";\r\nimport {\r\n LoadListTab,\r\n loadListTabSortOrder,\r\n spotTenderTabId\r\n} from \"@/scripts/types\";\r\nimport MobileLoadListTable from \"@/components/mobile/MobileLoadListTable.vue\";\r\nimport MobileLoadListTabs from \"@/components/mobile/MobileLoadListTabs.vue\";\r\nimport { gets } from \"@/scripts/store/constants\";\r\nimport { UserConfigurationEntry } from \"@/scripts/store/userConfModule\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n MobileLoadListTable,\r\n MobileLoadListTabs\r\n },\r\n computed: {\r\n tabs(): LoadListTab[] {\r\n const tabs: LoadListTab[] = this.$store.getters[gets.allUserConfs](\r\n UserConfigurationType.LoadTab\r\n )\r\n .sort(\r\n (a: UserConfigurationEntry, b: UserConfigurationEntry) =>\r\n loadListTabSortOrder(a.subTypeId) -\r\n loadListTabSortOrder(b.subTypeId)\r\n )\r\n .map((c: UserConfigurationEntry) => c.conf);\r\n return tabs.filter(\r\n x => x.id !== spotTenderTabId && x.id !== LoadStatus.Annulled\r\n );\r\n },\r\n selectedTab(): LoadListTab {\r\n let tab: LoadListTab | undefined = this.tabs.find(\r\n t => t.id === this.selectedTabId\r\n );\r\n if (tab === undefined) {\r\n tab = this.tabs[0];\r\n }\r\n return tab!;\r\n }\r\n },\r\n data: (): {\r\n selectedTabId: number;\r\n } => ({\r\n selectedTabId: 1\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoads.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileLoads.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileLoads.vue?vue&type=template&id=2d11bd97&\"\nimport script from \"./MobileLoads.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileLoads.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/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.load)?_c('div',[(!_vm.annulledOrCanceled && !_vm.loadedOrDelivered)?_c('div',[_c('v-row',[_c('v-col',{staticClass:\"no-vertical-padding tiny-padding-sides\",attrs:{\"cols\":\"12\"}},[(_vm.load)?_c('MobileSlotBookingExpansionPanels',{attrs:{\"load\":_vm.load,\"extraMinutesSiloOne\":_vm.extraMinutesSiloOne,\"bookedSiloOne\":_vm.currentDate,\"eventsToBook\":_vm.eventsNotBooked,\"events\":_vm.events,\"timeIsFree\":_vm.timeIsFree,\"currentDate\":_vm.currentDate,\"pickupEarliest\":_vm.load.pickupEarliest,\"pickupLatest\":_vm.load.pickupLatest,\"selectedCargoLoadingContainerId\":_vm.selectedCargoLoadingContainerId},on:{\"addSeconds\":_vm.addSeconds,\"chooseTime\":_vm.chooseTime,\"addTempSlot\":_vm.addTempSlot,\"selectedCargoLoadingContainerIdChanged\":_vm.selectedCargoLoadingContainerIdChanged,\"removeBooking\":_vm.removeBooking,\"doBooking\":_vm.doBooking,\"fetchSchedule\":_vm.fetchSchedule}}):_vm._e()],1),_c('v-col',{staticClass:\"no-vertical-padding tiny-padding-sides\",style:((\"max-height: \" + _vm.height + \"px\")),attrs:{\"cols\":\"12\"}},[(_vm.load)?_c('MobileSlotBookingCalendar',{attrs:{\"categories\":_vm.categories,\"events\":_vm.events,\"date\":_vm.currentDate,\"pickupEarliest\":_vm.load.pickupEarliest,\"selectedCategory\":_vm.selectedCategory},on:{\"setDate\":_vm.setDate}}):_vm._e()],1)],1),_c('v-row',{staticClass:\"sticky-stuff\"},[_c('v-spacer'),_c('v-col',{staticClass:\"no-padding-bottom tiny-padding-sides\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.saveDisabled,\"loading\":_vm.saveInProgress,\"color\":\"success\"},on:{\"click\":_vm.save}},[_c('v-icon',{attrs:{\"left\":\"\",\"size\":\"20\"}},[_vm._v(\"mdi-floppy\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"Save\"))+\" \")],1)],1)],1)],1):_c('div',[_c('MobileSlotBookingNotAvailable',{attrs:{\"load\":_vm.load}})],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('v-sheet',{staticClass:\"full-height\",attrs:{\"elevation\":\"1\",\"rounded\":\"\"}},[_c('v-calendar',{ref:\"calendar\",attrs:{\"color\":\"primary\",\"interval-height\":\"35\",\"interval-width\":\"35\",\"type\":\"category\",\"locale\":_vm.locale,\"events\":_vm.events,\"event-category\":_vm.getEventCategory,\"categories\":_vm.categoryArray,\"event-color\":_vm.getEventColor,\"weekday-format\":_vm.weekDayText},on:{\"change\":_vm.getEvents},scopedSlots:_vm._u([{key:\"day-label-header\",fn:function(ref){\nvar day = ref.day;\nreturn [_c('span',{staticClass:\"dont-render-newlines\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.prevDisabled,\"small\":\"\"},on:{\"click\":_vm.prev}},[_c('v-icon',[_vm._v(\" mdi-arrow-left \")])],1),_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"transition\":\"slide-y-transition\",\"nudge-left\":\"130\",\"bottom\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"round-button\",attrs:{\"color\":\"primary\",\"height\":\"40\",\"min-width\":\"40\",\"max-width\":\"40\"}},on),[_vm._v(\" \"+_vm._s(day)+\" \")])]}}],null,true),model:{value:(_vm.datePicker),callback:function ($$v) {_vm.datePicker=$$v},expression:\"datePicker\"}},[_c('v-date-picker',{attrs:{\"locale\":_vm.locale,\"events\":_vm.calenderBadDate,\"show-week\":\"\",\"event-color\":\"icon-red\",\"first-day-of-week\":\"1\"},on:{\"input\":function (v) {\n _vm.setDate(v);\n _vm.closeDate();\n }}})],1),_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\"},on:{\"click\":_vm.next}},[_c('v-icon',[_vm._v(\" mdi-arrow-right \")])],1)],1)]}},{key:\"event\",fn:function(ref){\n var event = ref.event;\nreturn [_c('div',{staticClass:\"small-padding-left\",class:{ blocking: _vm.isBlocking(event) }},[(event.name)?_c('span',{staticClass:\"font-weight-bold\"},[_vm._v(_vm._s(event.name)+\", \")]):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(_vm.toCDate(event.start).shortTimePrint())+\" - \"+_vm._s(_vm.toCDate(event.end).shortTimePrint())+\" \")])])]}},{key:\"day-body\",fn:function(ref){\n var category = ref.category;\nreturn [(_vm.selectedCategory && _vm.selectedCategory.name !== category)?_c('v-sheet',{staticClass:\"translucent full-height\"}):_vm._e()]}}]),model:{value:(_vm.focus),callback:function ($$v) {_vm.focus=$$v},expression:\"focus\"}})],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\r\nimport Vue from \"vue\";\r\nimport { LoadingSlotType, TimeZone } from \"@/scripts/cld.api\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport {\r\n CargoLoadingMobileEventsContainer,\r\n LoadingDockCategory\r\n} from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n categories: Array as () => LoadingDockCategory[],\r\n events: Array as () => CargoLoadingMobileEventsContainer[],\r\n scheduleInProgress: Boolean,\r\n date: Object as () => CDate,\r\n pickupEarliest: Object as () => CDate,\r\n selectedCategory: Object as () => LoadingDockCategory | undefined\r\n },\r\n watch: {\r\n date: {\r\n handler() {\r\n this.focus = this.toDateString(this.date)!;\r\n },\r\n immediate: true\r\n },\r\n events: {\r\n handler() {\r\n if (this.events.length > 0) {\r\n this.scrollToTime();\r\n }\r\n }\r\n }\r\n },\r\n computed: {\r\n locale(): string {\r\n return localeCode();\r\n },\r\n prevDisabled(): boolean {\r\n let today = CDate.now(TimeZone.Europe_Stockholm).startOfDay();\r\n return (\r\n this.date\r\n .addDays(-1)\r\n .startOfDay()\r\n .isBefore(this.pickupEarliest.startOfDay()) ||\r\n this.date\r\n .addDays(-1)\r\n .startOfDay()\r\n .isBefore(today.startOfDay())\r\n );\r\n },\r\n nowY() {\r\n let cal = this.$refs.calendar as any;\r\n return cal ? cal.timeToY(cal.times.now) + \"px\" : \"-10px\";\r\n },\r\n isToday() {\r\n return this.date\r\n .startOfDay()\r\n .isSame(CDate.now(TimeZone.Europe_Stockholm).startOfDay());\r\n },\r\n categoryArray(): String[] {\r\n let categoriesStrings = this.categories.map(x => {\r\n return x.name;\r\n });\r\n return categoriesStrings;\r\n }\r\n },\r\n methods: {\r\n firstCategory(category: string): boolean {\r\n return category === this.categories[0].name;\r\n },\r\n getCurrentTime() {\r\n let cal = this.$refs.calendar as any;\r\n return cal ? cal.times.now.hour * 60 + cal.times.now.minute : 0;\r\n },\r\n scrollToTime() {\r\n if (this.isToday) {\r\n const time = this.getCurrentTime();\r\n const first = Math.max(0, time - (time % 30) - 30);\r\n let cal = this.$refs.calendar as any;\r\n cal.scrollToTime(first);\r\n } else if (\r\n this.events.find(\r\n x =>\r\n x.cargoLoading !== undefined && x.cargoLoading.booking !== undefined\r\n )\r\n ) {\r\n let bookedEvents = this.events.filter(\r\n x =>\r\n x.cargoLoading !== undefined && x.cargoLoading.booking !== undefined\r\n );\r\n if (bookedEvents) {\r\n let sortedEvents = bookedEvents.sort(\r\n (a, b) =>\r\n a.cargoLoading!.booking!.startDate.toSeconds() -\r\n b.cargoLoading!.booking!.startDate.toSeconds()\r\n );\r\n let firstTime =\r\n sortedEvents[0].cargoLoading!.booking!.startDate.hours() * 60 +\r\n sortedEvents[0].cargoLoading!.booking!.startDate.minutes();\r\n let time = Math.max(0, firstTime - (firstTime % 30) - 30);\r\n let cal = this.$refs.calendar as any;\r\n cal.scrollToTime(time);\r\n }\r\n }\r\n },\r\n calenderBadDate(dstring: string): boolean {\r\n const time = this.toCDate(dstring);\r\n const yesterday = CDate.now(TimeZone.Europe_Stockholm).startOfDay();\r\n return time.isBefore(this.pickupEarliest) || time.isBefore(yesterday);\r\n },\r\n weekDayText() {\r\n return this.date.dateTextPrint(this.locale);\r\n },\r\n getEventColor(event: any) {\r\n return event.color;\r\n },\r\n getEventCategory(event: any) {\r\n return event.category.name;\r\n },\r\n getEvents() {\r\n return this.events;\r\n },\r\n prev() {\r\n let calender = this.$refs.calendar as any;\r\n calender.prev();\r\n this.$nextTick().then(() => {\r\n this.$emit(\"setDate\", calender.value);\r\n });\r\n },\r\n next() {\r\n let calender = this.$refs.calendar as any;\r\n calender.next();\r\n this.$nextTick().then(() => {\r\n this.$emit(\"setDate\", calender.value);\r\n });\r\n },\r\n openDate() {\r\n this.datePicker = true;\r\n },\r\n closeDate() {\r\n this.datePicker = false;\r\n },\r\n setDate(dstring: string | null) {\r\n this.focus = dstring!;\r\n this.$emit(\"setDate\", dstring);\r\n },\r\n toCDate(dstring: string): CDate {\r\n return CDate.fromString(dstring, TimeZone.Europe_Stockholm); // Default for mobile slot booking\r\n },\r\n toDateString(date: CDate): string | null {\r\n if (date) {\r\n return date.datePrint();\r\n }\r\n return null;\r\n },\r\n isBlocking(event: CargoLoadingMobileEventsContainer): boolean {\r\n return event.type === LoadingSlotType.AutoBlocking;\r\n }\r\n },\r\n mounted() {\r\n //TODO: säkra den här koden mot att nån ligger o pollar oss i flera dagar. Kalenderskottet är ganska dyrt\r\n let cal = this.$refs.calendar as any;\r\n setInterval(() => cal.updateTimes(), 60000);\r\n this.scrollToTime();\r\n },\r\n data: (): {\r\n focus: string;\r\n datePicker: Boolean;\r\n } => ({\r\n focus: \"\",\r\n datePicker: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingCalendar.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingCalendar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileSlotBookingCalendar.vue?vue&type=template&id=0e9ae9f3&scoped=true&\"\nimport script from \"./MobileSlotBookingCalendar.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileSlotBookingCalendar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileSlotBookingCalendar.vue?vue&type=style&index=0&id=0e9ae9f3&scoped=true&lang=css&\"\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 \"0e9ae9f3\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCalendar } from 'vuetify/lib/components/VCalendar';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\ninstallComponents(component, {VBtn,VCalendar,VDatePicker,VIcon,VMenu,VSheet})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.eventsToBook)?_c('v-expansion-panels',{staticClass:\"no-padding-bottom\",model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[(_vm.load)?_c('v-expansion-panel',{staticClass:\"small-margin-bottom small-padding-top small-padding-bottom no-padding-left\"},[_c('v-expansion-panel-header',{scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"Details\"))+\" \")]),_c('v-col',{staticClass:\"text--secondary\",attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(_vm._s(_vm.load.truckNo)+\" \")])]),(_vm.load.bookingNo)?_c('v-col',{staticClass:\"text--secondary\",attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(_vm._s(_vm.load.bookingNo))])]):_c('v-col',{staticClass:\"text--secondary\",attrs:{\"cols\":\"4\"}},[_c('span',[_vm._v(_vm._s(_vm.load.transportNo))])])],1)]},proxy:true}],null,false,4209882475)}),_c('v-expansion-panel-content',[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"12\"}},[_c('TextSingle',{attrs:{\"label\":_vm.$t('Note')},model:{value:(_vm.load.note),callback:function ($$v) {_vm.$set(_vm.load, \"note\", $$v)},expression:\"load.note\"}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.load.pickupEarliest}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupLatest'),\"value\":_vm.load.pickupLatest}})],1),(_vm.load.transportNo)?_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TransportNo'),\"value\":_vm.load.transportNo}})],1):_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('LoadID'),\"value\":_vm.load.loadId}})],1),_c('v-col',{staticClass:\"no-padding-bottom\",attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingNo'),\"value\":_vm.load.bookingNo}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('TruckNo'),\"value\":_vm.load.truckNo}})],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('Client'),\"value\":_vm.load.clientName}})],1)],1)],1)],1):_vm._e(),_vm._l((_vm.eventsToBook),function(event,index){return _c('v-expansion-panel',{key:index,staticClass:\"small-margin-bottom small-padding-top small-padding-bottom no-padding-left\"},[_c('v-expansion-panel-header',{scopedSlots:_vm._u([{key:\"default\",fn:function(ref){return [_c('v-row',{staticClass:\"bottom\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{staticClass:\"small-padding-right\",attrs:{\"cols\":\"auto\"}},[_vm._v(\" \"+_vm._s(event.category.name)+\" \")]),_c('v-col',{attrs:{\"cols\":\"auto\"}},[(\n event.cargoLoading &&\n event.cargoLoading.booking &&\n event.cargoLoading.booking.bookedByLoadUserId !== 0\n )?_c('v-icon',{staticClass:\"no-padding\",attrs:{\"size\":\"18\",\"color\":\"green\"}},[_vm._v(\"mdi-calendar-check\")]):_c('v-icon',{attrs:{\"size\":\"18\",\"color\":\"orange\"}},[_vm._v(\"mdi-calendar-blank\")])],1),_c('v-col',{staticClass:\"text--secondary small-padding-left\",attrs:{\"cols\":\"auto\"}},[_c('div',[_c('span',[_vm._v(_vm._s(event.cargoLoading.cargoLoading.kilograms / 1000)+\" \"+_vm._s(_vm.$t(\"Ton\")))]),(event.start !== undefined)?_c('span',[_vm._v(\", \"+_vm._s(_vm.toCDate(event.start).datePrint())+\" \")]):_vm._e(),(event.end !== undefined)?_c('span',[_vm._v(\" \"+_vm._s(_vm.toCDate(event.start).shortTimePrint())+\" - \"+_vm._s(_vm.toCDate(event.end).shortTimePrint())+\" \")]):_vm._e(),(\n event.start === undefined && !event.cargoLoading.booking\n )?_c('span',{staticClass:\"slot-not-booked small-padding-left\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"SlotNotBooked\"))+\" \")]):_vm._e()])])],1)]}}],null,true)}),_c('v-expansion-panel-content',{staticClass:\"no-padding-bottom\"},[_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom medium-padding-left\",attrs:{\"cols\":\"2\"}},[_c('TimePicker',{attrs:{\"timeOk\":_vm.timeOkGenerator(event),\"disabled\":!(\n _vm.selectedCargoLoadingContainerId !== undefined &&\n _vm.selectedCargoLoadingContainerId === event.cargoLoading.id\n ),\"value\":event.start !== undefined ? _vm.toCDate(event.start) : _vm.defaultTime,\"zone\":_vm.bioNorrSlotZone},on:{\"input\":function (v) {\n _vm.chooseTime(v, event);\n }}})],1),_c('v-col',{staticClass:\"no-padding-bottom no-padding-right medium-padding-left\",attrs:{\"cols\":\"4\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('RegularLoadingTime'),\"value\":((event.cargoLoading.cargoLoading.seconds / 60) + \" \" + (_vm.$t(\n 'LoweredMinutes'\n )))}})],1),_c('v-col',{staticClass:\"no-padding-bottom medium-padding-left\",attrs:{\"cols\":\"6\"}},[_c('Dropdown',{attrs:{\"disabled\":!(\n _vm.selectedCargoLoadingContainerId !== undefined &&\n _vm.selectedCargoLoadingContainerId === event.cargoLoading.id\n ),\"label\":_vm.$t('ExtraLoadTime'),\"items\":_vm.extraSecondsDropdownItems},on:{\"input\":function (v) {\n _vm.addSeconds(v, event);\n }},model:{value:(event.cargoLoading.extraSeconds),callback:function ($$v) {_vm.$set(event.cargoLoading, \"extraSeconds\", $$v)},expression:\"event.cargoLoading.extraSeconds\"}})],1)],1),_c('v-card-actions',{staticClass:\"small-padding-top no-padding-right small-padding-bottom\"},[_c('v-spacer'),(\n _vm.selectedCargoLoadingContainerId === undefined ||\n event.cargoLoading.id !== _vm.selectedCargoLoadingContainerId\n )?_c('v-btn',{attrs:{\"color\":event.cargoLoading.booking ? 'warning' : 'success'},on:{\"click\":function($event){return _vm.eventClicked(event)}}},[_vm._v(\" \"+_vm._s(event.cargoLoading.booking ? _vm.$t(\"ChooseNewTime\") : _vm.$t(\"ChooseTime\"))+\" \")]):_vm._e(),(\n _vm.selectedCargoLoadingContainerId !== undefined &&\n _vm.selectedCargoLoadingContainerId === event.cargoLoading.id\n )?_c('v-btn',{attrs:{\"color\":event.start ? 'success' : 'warning'},on:{\"click\":function($event){event.start ? _vm.doBooking(event) : _vm.cancel()}}},[_vm._v(\" \"+_vm._s(event.start ? _vm.$t(\"Done\") : _vm.$t(\"Cancel\"))+\" \")]):_vm._e()],1)],1)],1)})],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('v-menu',{ref:\"menu\",staticClass:\"large-padding-left menu-center\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"bottom\":\"\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"disabled\":_vm.disabled,\"color\":\"btn-cyan\",\"height\":\"40\",\"min-width\":\"43\",\"max-width\":\"43\"}},on),[_c('v-icon',{attrs:{\"size\":\"31\"}},[_vm._v(\" mdi-clock-outline \")])],1)]}}]),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('TimePickerDialog',{attrs:{\"originalValue\":_vm.value,\"timeOk\":_vm.timeOk,\"zone\":_vm.zone,\"more-minutes\":\"\",\"update-on-close\":\"\"},on:{\"input\":function (v) { return _vm.$emit('input', v); },\"close\":function($event){_vm.menu = false}}})],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\r\nimport Vue from \"vue\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport TimePickerDialog from \"@/components/shared/input/TimePickerDialog.vue\";\r\nimport { TimeZone } from \"@/scripts/cld.api\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TimePickerDialog\r\n },\r\n props: {\r\n value: Object as () => CDate,\r\n timeOk: (Function as any) as () => { (date: CDate): boolean },\r\n disabled: Boolean,\r\n zone: Number as () => TimeZone\r\n },\r\n methods: {},\r\n data: (): {\r\n menu: boolean;\r\n } => ({\r\n menu: false\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePicker.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePicker.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TimePicker.vue?vue&type=template&id=93d52b06&scoped=true&\"\nimport script from \"./TimePicker.vue?vue&type=script&lang=ts&\"\nexport * from \"./TimePicker.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./TimePicker.vue?vue&type=style&index=0&id=93d52b06&scoped=true&lang=css&\"\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 \"93d52b06\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { RepositoryDto, TimeZone } from \"@/scripts/cld.api\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport Vue from \"vue\";\r\nimport Dropdown from \"@/components/shared/input/Dropdown.vue\";\r\nimport ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.vue\";\r\nimport TimePicker from \"@/components/shared/input/TimePicker.vue\";\r\nimport TextSingle from \"@/components/shared/input/TextSingle.vue\";\r\nimport {\r\n CargoLoadingMobileEventsContainer,\r\n LoadWithCargoLoadingContainer\r\n} from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n Dropdown,\r\n TimePicker,\r\n ReadOnlyText,\r\n TextSingle\r\n },\r\n props: {\r\n bookedSiloOne: Object as () => CDate,\r\n extraMinutesSiloOne: Number,\r\n eventsToBook: Array as () => CargoLoadingMobileEventsContainer[],\r\n events: Array as () => CargoLoadingMobileEventsContainer[],\r\n timeIsFree: Function,\r\n currentDate: Object as () => CDate,\r\n pickupEarliest: Object as () => CDate,\r\n pickupLatest: Object as () => CDate,\r\n selectedCargoLoadingContainerId: Number,\r\n load: Object as () => LoadWithCargoLoadingContainer\r\n },\r\n computed: {\r\n extraSecondsDropdownItems(): RepositoryDto[] {\r\n return [...Array(10).keys()].map(\r\n x =>\r\n new RepositoryDto({\r\n id: x * 300,\r\n text: `${x * 5} ${this.$t(\"LoweredMinutes\")}`\r\n })\r\n );\r\n },\r\n defaultTime() {\r\n return this.currentDate;\r\n },\r\n bioNorrSlotZone(): TimeZone {\r\n return TimeZone.Europe_Stockholm; // Do not change for bio norr slot calendar.\r\n }\r\n },\r\n methods: {\r\n chooseTime(date: CDate, event: CargoLoadingMobileEventsContainer) {\r\n event.start = date.shortDateTimePrintSeparated();\r\n event.end = date\r\n .addSeconds(event.cargoLoading!.cargoLoading.seconds)\r\n .addSeconds(event.cargoLoading!.extraSeconds)\r\n .shortDateTimePrintSeparated();\r\n this.addTempSlot(event);\r\n },\r\n addSeconds(seconds: number, event: CargoLoadingMobileEventsContainer) {\r\n if (seconds !== undefined) {\r\n event.cargoLoading!.extraSeconds = seconds;\r\n this.$emit(\"addSeconds\", seconds);\r\n }\r\n },\r\n toCDate(dstring: string): CDate {\r\n return CDate.fromString(dstring, TimeZone.Europe_Stockholm); // Default for mobile slot booking\r\n },\r\n addTempSlot(event: CargoLoadingMobileEventsContainer) {\r\n this.$emit(\"addTempSlot\", event);\r\n },\r\n eventClicked(cc: CargoLoadingMobileEventsContainer) {\r\n this.$emit(\"selectedCargoLoadingContainerIdChanged\", cc.cargoLoading!.id);\r\n if (cc.cargoLoading!.booking) {\r\n this.$emit(\"removeBooking\", cc.cargoLoading!.id);\r\n }\r\n },\r\n doBooking(event: CargoLoadingMobileEventsContainer) {\r\n this.$emit(\"doBooking\", event);\r\n this.panel = undefined;\r\n },\r\n timeOkGenerator(\r\n event: CargoLoadingMobileEventsContainer\r\n ): { (time: CDate): boolean } {\r\n return (time: CDate) => {\r\n return this.timeIsFree(\r\n time,\r\n time.addSeconds(\r\n event.cargoLoading!.cargoLoading.seconds +\r\n event.cargoLoading!.extraSeconds\r\n ),\r\n this.events.filter(e => e.category === event.category && e !== event)\r\n );\r\n };\r\n },\r\n cancel() {\r\n this.$emit(\"selectedCargoLoadingContainerIdChanged\", 0);\r\n this.$emit(\"fetchSchedule\");\r\n }\r\n },\r\n data: (): {\r\n panel: any;\r\n } => ({\r\n panel: undefined\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingExpansionPanels.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingExpansionPanels.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileSlotBookingExpansionPanels.vue?vue&type=template&id=8e2a25de&scoped=true&\"\nimport script from \"./MobileSlotBookingExpansionPanels.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileSlotBookingExpansionPanels.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileSlotBookingExpansionPanels.vue?vue&type=style&index=0&id=8e2a25de&scoped=true&lang=css&\"\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 \"8e2a25de\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VExpansionPanel } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelContent } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanelHeader } from 'vuetify/lib/components/VExpansionPanel';\nimport { VExpansionPanels } from 'vuetify/lib/components/VExpansionPanel';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCardActions,VCol,VExpansionPanel,VExpansionPanelContent,VExpansionPanelHeader,VExpansionPanels,VIcon,VRow,VSpacer})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-alert',{attrs:{\"border\":\"bottom\",\"colored-border\":\"\",\"color\":\"warning\",\"elevation\":\"2\"}},[_c('div',{staticClass:\"text-center small-padding-bottom\"},[_c('v-icon',{attrs:{\"color\":\"warning\"}},[_vm._v(\"mdi-comment-alert\")])],1),(_vm.loadedOrDelivered)?_c('div',{staticClass:\"small-padding-bottom\"},[_vm._v(\" \"+_vm._s(_vm.loadedOrDeliveredText)+\" \")]):_vm._e(),(_vm.loadedOrDelivered)?_c('div',{staticClass:\"small-padding-bottom\"},[_vm._v(\" You will now be redirected to the dashboard \"+_vm._s(_vm.secondsLeft)+_vm._s(_vm.dots)+\" \")]):_vm._e(),(_vm.annulled)?_c('div',{staticClass:\"medium-padding-bottom\"},[_vm._v(\" \"+_vm._s(_vm.annulledText)+\" \")]):_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\r\nimport Vue from \"vue\";\r\nimport { LoadStatus } from \"@/scripts/cld.api\";\r\nimport { LoadWithCargoLoadingContainer } from \"@/scripts/types\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n load: Object as () => LoadWithCargoLoadingContainer\r\n },\r\n watch: {\r\n loadedOrDelivered: {\r\n handler() {\r\n if (this.loadedOrDelivered) {\r\n this.secondsLeft = 15;\r\n this.tick();\r\n }\r\n },\r\n immediate: true\r\n },\r\n secondsLeft() {\r\n if (this.secondsLeft === 0) {\r\n this.$router.push(\"/mobile/anon-dashboard?id=\" + this.$route.query.id);\r\n }\r\n }\r\n },\r\n computed: {\r\n dots(): string {\r\n if (!this.secondsLeft) {\r\n return \"\";\r\n }\r\n return \".\".repeat(3 - (this.secondsLeft % 3));\r\n },\r\n loadedOrDelivered(): Boolean {\r\n return (\r\n this.load.status === LoadStatus.Loaded ||\r\n this.load.status === LoadStatus.Delivered\r\n );\r\n },\r\n annulled(): Boolean {\r\n return this.load.status === LoadStatus.Annulled;\r\n },\r\n loadedOrDeliveredText(): string {\r\n let returnText: string;\r\n returnText = this.$t(\"LoadWithTransportNr\") + \" \" + this.load.transportNo;\r\n\r\n if (this.load.bookingNo) {\r\n returnText +=\r\n \" (\" + this.$t(\"BookingNo\") + \":\" + this.load.bookingNo + \")\";\r\n }\r\n returnText += \" \" + this.$t(\"IsAlreadyLoaded\") + \".\";\r\n\r\n return returnText;\r\n },\r\n annulledText(): string {\r\n let returnText: string;\r\n returnText = this.$t(\"LoadWithTransportNr\") + \" \" + this.load.transportNo;\r\n\r\n if (this.load.bookingNo) {\r\n returnText +=\r\n \" (\" + this.$t(\"BookingNo\") + \":\" + this.load.bookingNo + \")\";\r\n }\r\n returnText += \" \" + this.$t(\"HasBeenAnnulledOrCanceled\");\r\n\r\n return returnText;\r\n }\r\n },\r\n methods: {\r\n tick() {\r\n if (!this.secondsLeft) {\r\n return;\r\n }\r\n this.secondsLeft--;\r\n setTimeout(this.tick, 1000);\r\n }\r\n },\r\n data: (): { secondsLeft: number | undefined } => ({ secondsLeft: undefined })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingNotAvailable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingNotAvailable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileSlotBookingNotAvailable.vue?vue&type=template&id=cb629ae6&scoped=true&\"\nimport script from \"./MobileSlotBookingNotAvailable.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileSlotBookingNotAvailable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileSlotBookingNotAvailable.vue?vue&type=style&index=0&id=cb629ae6&scoped=true&lang=css&\"\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 \"cb629ae6\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VAlert,VIcon})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport MobileSlotBookingCalendar from \"@/components/mobile/slots/MobileSlotBookingCalendar.vue\";\r\nimport MobileSlotBookingExpansionPanels from \"@/components/mobile/slots/MobileSlotBookingExpansionPanels.vue\";\r\nimport MobileSlotBookingNotAvailable from \"@/components/mobile/slots/MobileSlotBookingNotAvailable.vue\";\r\nimport {\r\n AnonymousLoadingDockCalendarsSearchCriteria,\r\n AnonymousLoadingSlotSaveDtoContainer,\r\n AnonymousLoadingSlotsClient,\r\n ApiConfiguration,\r\n CargoLoadingDto,\r\n LoadingDockDto,\r\n LoadingSlotDto,\r\n LoadingSlotSaveDto,\r\n LoadingSlotType,\r\n LoadStatus,\r\n RepositoryDto,\r\n TimeZone\r\n} from \"@/scripts/cld.api\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport CDate from \"@/scripts/misc/cdate\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport {\r\n CargoLoadingContainer,\r\n CargoLoadingMobileEventsContainer,\r\n LoadingDockCategory,\r\n LoadWithCargoLoadingContainer\r\n} from \"@/scripts/types\";\r\nimport { alertDialog } from \"@/scripts/misc/popupDialogs\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n MobileSlotBookingExpansionPanels,\r\n MobileSlotBookingCalendar,\r\n MobileSlotBookingNotAvailable\r\n },\r\n watch: {\r\n \"$route.query\": {\r\n handler() {\r\n const query = { ...this.$route.query };\r\n const encodedLoadId = query.id ? String(query.id) : undefined;\r\n\r\n this.encodedLoadId = encodedLoadId;\r\n this.calculateSecondsUntilNowish();\r\n this.fetchLoad();\r\n this.fetchSchedule();\r\n },\r\n immediate: true\r\n },\r\n currentDate() {\r\n this.fetchSchedule();\r\n },\r\n selectedCargoLoadingContainer() {\r\n this.fetchSchedule();\r\n },\r\n valueToWatch: {\r\n handler(newVal, oldVal) {\r\n if (newVal !== oldVal) {\r\n this.fetchSchedule();\r\n }\r\n },\r\n deep: true\r\n },\r\n secondsUntilRefreshTime() {\r\n if (this.secondsUntilRefreshTime <= 0) {\r\n this.fetchSchedule();\r\n this.refreshTime = CDate.now(\r\n TimeZone.Europe_Stockholm\r\n ).loadingSlotNowish();\r\n }\r\n }\r\n },\r\n computed: {\r\n height() {\r\n return (\r\n this.$store.getters[gets.dimensions].height -\r\n 205 -\r\n 50 * this.eventsNotBooked.length\r\n );\r\n },\r\n extraSecondsDropdownItems(): RepositoryDto[] {\r\n return [...Array(7).keys()].map(\r\n x =>\r\n new RepositoryDto({\r\n id: x * 300,\r\n text: `${x * 5} ${this.$t(\"LoweredMinutes\")}`\r\n })\r\n );\r\n },\r\n locale(): string {\r\n return localeCode();\r\n },\r\n cargoLoadingContainers(): CargoLoadingContainer[] {\r\n if (!this.load) {\r\n return [];\r\n }\r\n return this.load.cargoLoadingContainers;\r\n },\r\n saveDisabled(): boolean {\r\n return (\r\n this.cargoLoadingContainers.every(\r\n x => x.booking !== undefined && x.booking!.bookedByLoadUserId !== 0\r\n ) || this.cargoLoadingContainers.some(x => x.booking === undefined)\r\n );\r\n },\r\n selectedCargoLoadingContainer(): CargoLoadingContainer | undefined {\r\n return this.cargoLoadingContainers.find(\r\n c => c.id === this.selectedCargoLoadingContainerId\r\n );\r\n },\r\n selectedCategory(): LoadingDockCategory | undefined {\r\n if (this.selectedCargoLoadingContainerId !== 0) {\r\n return this.eventsNotBooked.find(\r\n x => x.cargoLoading!.id === this.selectedCargoLoadingContainerId\r\n )!.category;\r\n } else {\r\n return undefined;\r\n }\r\n },\r\n valueToWatch(): string {\r\n let val = this.cargoLoadingContainers\r\n .map(cc => cc.ignoreFromDb)\r\n .join(\",\");\r\n const selCC = this.selectedCargoLoadingContainer;\r\n if (selCC) {\r\n val +=\r\n \",\" +\r\n selCC.id +\r\n \",\" +\r\n selCC.extraSeconds +\r\n \",\" +\r\n selCC.cargoLoading.kilograms +\r\n \",\" +\r\n selCC.cargoLoading.seconds;\r\n }\r\n return val;\r\n },\r\n annulledOrCanceled() {\r\n if (this.load) {\r\n return this.load.status === LoadStatus.Annulled;\r\n }\r\n return false;\r\n },\r\n loadedOrDelivered() {\r\n if (this.load) {\r\n return (\r\n this.load.status === LoadStatus.Loaded ||\r\n this.load.status === LoadStatus.Delivered\r\n );\r\n }\r\n return false;\r\n }\r\n },\r\n methods: {\r\n selectedCargoLoadingContainerIdChanged(cargoLoadingContainerId: number) {\r\n if (cargoLoadingContainerId === 0) {\r\n this.selectedCargoLoadingContainer!.ignoreFromDb = false;\r\n }\r\n this.selectedCargoLoadingContainerId = cargoLoadingContainerId;\r\n if (cargoLoadingContainerId !== 0) {\r\n this.selectedCargoLoadingContainer!.ignoreFromDb = true;\r\n }\r\n },\r\n chooseTime(date: CDate) {\r\n if (date !== undefined) {\r\n this.currentDate = date;\r\n }\r\n },\r\n addSeconds(seconds: number) {\r\n if (seconds !== undefined) {\r\n this.selectedCargoLoadingContainer!.extraSeconds = seconds;\r\n }\r\n },\r\n addTempSlot(event: CargoLoadingMobileEventsContainer) {\r\n if (this.currentDate !== undefined) {\r\n if (event !== undefined) {\r\n this.events = this.events.filter(x => x !== event);\r\n }\r\n event.color = \"orange\";\r\n const free = this.timeIsFree(\r\n this.toCDate(event.start!),\r\n this.toCDate(event.end!),\r\n this.events.filter(e => e.category === event.category)\r\n );\r\n if (free) {\r\n this.events.push(event);\r\n } else {\r\n event.start = undefined;\r\n event.end = undefined;\r\n alertDialog(\r\n this.$t(\"NotAvailable\").toString(),\r\n this.$t(\"CantAddOnBusyTime\").toString()\r\n );\r\n }\r\n }\r\n },\r\n doBooking(event: CargoLoadingMobileEventsContainer) {\r\n this.selectedCargoLoadingContainer!.booking = new LoadingSlotDto({\r\n id: 0,\r\n type: LoadingSlotType.Booking,\r\n cargoLoadingId: this.selectedCargoLoadingContainer!.id,\r\n loadingDockId: event.category.id,\r\n loadId: this.selectedCargoLoadingContainer!.cargoLoading.loadId,\r\n bookedActorId: 0,\r\n bookedByLoadUserId: 0,\r\n startDate: this.toCDate(event.start!),\r\n endDate: this.toCDate(event.end!),\r\n kilograms: this.selectedCargoLoadingContainer!.cargoLoading.kilograms,\r\n kilogramsBefore: 0,\r\n kilogramsAfter: 0,\r\n alterDate: CDate.now(TimeZone.Europe_Stockholm),\r\n note: this.load!.note,\r\n truckNo: this.load!.truckNo,\r\n transportNo: this.load!.transportNo,\r\n bookingNo: this.load!.bookingNo,\r\n loadingDockToFillId: undefined,\r\n contacts: []\r\n });\r\n this.selectedCargoLoadingContainerIdChanged(0);\r\n },\r\n removeBooking(cargoLoadingContainerId: number) {\r\n const cargoLoadingContainer = this.cargoLoadingContainers.find(\r\n c => c.id === cargoLoadingContainerId\r\n )!;\r\n cargoLoadingContainer.booking = undefined;\r\n cargoLoadingContainer.ignoreFromDb = true;\r\n },\r\n timeIsFree(\r\n start: CDate,\r\n end: CDate,\r\n events: CargoLoadingMobileEventsContainer[]\r\n ): boolean {\r\n return events.every(\r\n x =>\r\n this.toCDate(x.start!).isSameOrAfter(end) ||\r\n this.toCDate(x.end!).isSameOrBefore(start)\r\n );\r\n },\r\n setDate(dstring: string | null) {\r\n if (dstring) {\r\n this.currentDate = this.toCDate(dstring);\r\n dstring = this.toDateString(this.toCDate(dstring));\r\n this.fetchSchedule();\r\n }\r\n },\r\n toCDate(dstring: string): CDate {\r\n return CDate.fromString(dstring, TimeZone.Europe_Stockholm); // Default for slot booking\r\n },\r\n toDateString(date: CDate): string | null {\r\n if (date) {\r\n return date.datePrint();\r\n }\r\n return null;\r\n },\r\n fetchLoad() {\r\n if (!this.encodedLoadId) {\r\n return;\r\n }\r\n this.refreshTime = CDate.now(\r\n TimeZone.Europe_Stockholm\r\n ).loadingSlotNowish();\r\n new AnonymousLoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .encodedLoadWithCargoLoadings(this.encodedLoadId)\r\n .then(res => {\r\n this.load = {\r\n loadId: res.loadId,\r\n transportNo: res.transportNo,\r\n pickupEarliest: res.pickupEarliest,\r\n pickupLatest: res.pickupLatest,\r\n note: undefined,\r\n truckNo: res.truckNo,\r\n bookingNo: res.bookingNo,\r\n clientName: res.clientName,\r\n cargoLoadingContainers: res.cargoLoadings!.map(c => ({\r\n id: c.id,\r\n cargoLoading: c,\r\n extraSeconds: 0,\r\n booking: undefined,\r\n ignoreFromDb: false\r\n })),\r\n status: res.loadStatus\r\n };\r\n this.identifyBookings();\r\n this.currentDate = res.viewDate;\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n fetchSchedule() {\r\n let cargoLoadingToBook: CargoLoadingDto | undefined = undefined;\r\n this.loadingDocks = [];\r\n const selCC = this.selectedCargoLoadingContainer;\r\n if (selCC) {\r\n cargoLoadingToBook = new CargoLoadingDto({\r\n id: selCC.cargoLoading.id,\r\n loadId: selCC.cargoLoading.loadId,\r\n pickupEarliest: selCC.cargoLoading.pickupEarliest,\r\n pickupLatest: selCC.cargoLoading.pickupLatest,\r\n seconds: selCC.cargoLoading.seconds + selCC.extraSeconds,\r\n kilograms: selCC.cargoLoading.kilograms,\r\n loadingDockIds: selCC.cargoLoading.loadingDockIds,\r\n loadingDockNames: selCC.cargoLoading.loadingDockNames\r\n });\r\n }\r\n new AnonymousLoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .calendars(\r\n new AnonymousLoadingDockCalendarsSearchCriteria({\r\n loadId: undefined,\r\n encodedLoadId: this.encodedLoadId,\r\n date: this.currentDate,\r\n cargoLoadingToBook: cargoLoadingToBook,\r\n now: this.refreshTime,\r\n premisedBookings: this.cargoLoadingContainers\r\n .filter(cc => cc.booking !== undefined)\r\n .map(cc => cc.booking!),\r\n cargoLoadingsFromDbToIgnore: this.cargoLoadingContainers\r\n .filter(cc => cc.ignoreFromDb || cc.booking)\r\n .map(cc => cc.id)\r\n })\r\n )\r\n .then(res => {\r\n this.loadingDocks = res;\r\n this.identifyBookings();\r\n this.populateCalendarData();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n identifyBookings() {\r\n this.cargoLoadingContainers.map(c => {\r\n const booking = [...this.loadingDocks.map(d => d.loadingSlots)]\r\n .flat()\r\n .find(s => s!.cargoLoadingId === c.id);\r\n if (booking !== undefined) {\r\n c.booking = booking;\r\n if (!this.load!.note) {\r\n this.load!.note = c.booking.note;\r\n }\r\n }\r\n });\r\n },\r\n populateCalendarData() {\r\n this.categories = [];\r\n this.events = [];\r\n this.eventsNotBooked = [];\r\n this.loadingDocks.forEach(x => {\r\n let category: LoadingDockCategory = { id: x.id, name: x.name! };\r\n this.categories.push(category);\r\n let loadingSlots = x.loadingSlots;\r\n\r\n loadingSlots!.forEach(slot => {\r\n if (\r\n !this.cargoLoadingContainers.find(\r\n x => x.cargoLoading.id === slot.cargoLoadingId\r\n )\r\n ) {\r\n this.populateBookedByAnotherEvents(slot, category);\r\n }\r\n });\r\n });\r\n this.populateEventsToBook();\r\n },\r\n populateEventsToBook() {\r\n this.cargoLoadingContainers.forEach(cargoLoading => {\r\n let category = this.categories.find(\r\n x => x.id === cargoLoading.cargoLoading.loadingDockIds![0]\r\n );\r\n let hasBooking = cargoLoading.booking !== undefined;\r\n let event = {\r\n name: this.load!.truckNo === null ? \"\" : this.load!.truckNo!,\r\n start: hasBooking\r\n ? cargoLoading.booking!.startDate.shortDateTimePrintSeparated()\r\n : undefined,\r\n end: hasBooking\r\n ? cargoLoading.booking!.endDate.shortDateTimePrintSeparated()\r\n : undefined,\r\n color:\r\n hasBooking && cargoLoading.booking!.bookedByLoadUserId !== 0\r\n ? \"green\"\r\n : \"orange\",\r\n category: category!,\r\n cargoLoading: cargoLoading,\r\n type: LoadingSlotType.Booking\r\n };\r\n if (hasBooking) {\r\n this.events.push(event);\r\n }\r\n this.eventsNotBooked.push(event);\r\n });\r\n },\r\n populateBookedByAnotherEvents(\r\n slot: LoadingSlotDto,\r\n category: LoadingDockCategory\r\n ) {\r\n this.events.push({\r\n name: slot.truckNo === null ? \"\" : slot.truckNo!,\r\n start: slot.startDate.shortDateTimePrintSeparated(),\r\n end: slot.endDate.shortDateTimePrintSeparated(),\r\n color: slot.truckNo === null ? \"grey darken-1\" : \"cyan\",\r\n category: category,\r\n type:\r\n slot.truckNo === null\r\n ? LoadingSlotType.AutoBlocking\r\n : LoadingSlotType.Open,\r\n cargoLoading: undefined\r\n });\r\n },\r\n save() {\r\n this.saveInProgress = true;\r\n new AnonymousLoadingSlotsClient(new ApiConfiguration(this.$store))\r\n .saveLoadingSlots(\r\n new AnonymousLoadingSlotSaveDtoContainer({\r\n encodedLoadId: this.encodedLoadId,\r\n loadId: 0,\r\n truckNo: this.load!.truckNo,\r\n bookingNo: this.load!.bookingNo,\r\n note: this.load!.note,\r\n now: this.refreshTime,\r\n loadingSlots: this.cargoLoadingContainers.map(\r\n c =>\r\n new LoadingSlotSaveDto({\r\n cargoLoadingId: c.booking!.cargoLoadingId,\r\n loadingDockId: c.booking!.loadingDockId,\r\n startDate: c.booking!.startDate,\r\n endDate: c.booking!.endDate,\r\n kilograms: c.booking!.kilograms\r\n })\r\n )\r\n })\r\n )\r\n .then(() => {\r\n this.load = undefined;\r\n this.saveInProgress = false;\r\n this.fetchLoad();\r\n this.fetchSchedule();\r\n })\r\n .catch(error => {\r\n this.$store.dispatch(actions.handleApiError, error);\r\n });\r\n },\r\n calculateSecondsUntilNowish() {\r\n this.secondsUntilRefreshTime =\r\n this.refreshTime.toSeconds() -\r\n CDate.now(TimeZone.Europe_Stockholm).toSeconds();\r\n setTimeout(this.calculateSecondsUntilNowish, 1000);\r\n }\r\n },\r\n data: (): {\r\n events: CargoLoadingMobileEventsContainer[];\r\n eventsNotBooked: CargoLoadingMobileEventsContainer[];\r\n categories: LoadingDockCategory[];\r\n bookedSiloOne: CDate | undefined;\r\n siloEvent: any;\r\n extraMinutesSiloOne: number;\r\n currentDate: CDate;\r\n loadingDocks: LoadingDockDto[];\r\n load?: LoadWithCargoLoadingContainer;\r\n loadId: number;\r\n encodedLoadId: string | undefined;\r\n saveInProgress: Boolean;\r\n selectedCargoLoadingContainerId: number;\r\n refreshTime: CDate;\r\n secondsUntilRefreshTime: number;\r\n } => ({\r\n events: [],\r\n eventsNotBooked: [],\r\n categories: [],\r\n bookedSiloOne: undefined,\r\n siloEvent: undefined,\r\n extraMinutesSiloOne: 0,\r\n currentDate: CDate.now(TimeZone.Europe_Stockholm).startOfDay(),\r\n loadingDocks: [],\r\n load: undefined,\r\n loadId: 412329,\r\n encodedLoadId: undefined,\r\n saveInProgress: false,\r\n selectedCargoLoadingContainerId: 0,\r\n refreshTime: CDate.now(TimeZone.Europe_Stockholm).loadingSlotNowish(),\r\n secondsUntilRefreshTime: Infinity\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlots.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlots.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./MobileSlots.vue?vue&type=template&id=2bf53069&scoped=true&\"\nimport script from \"./MobileSlots.vue?vue&type=script&lang=ts&\"\nexport * from \"./MobileSlots.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./MobileSlots.vue?vue&type=style&index=0&id=2bf53069&scoped=true&lang=css&\"\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 \"2bf53069\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VIcon,VRow,VSpacer})\n","import Vue from \"vue\";\r\nimport Router, { NavigationGuardNext, Route } from \"vue-router\";\r\nimport store from \"@/scripts/store/store\";\r\nimport { mutations, actions, gets } from \"@/scripts/store/constants\";\r\nimport Auth from \"@/scripts/auth\";\r\n\r\n/***** Unauthenticated ***/\r\nimport PageNotFound from \"@/views/unauthenticated/PageNotFound.vue\";\r\nimport ErrorPage from \"@/views/unauthenticated/ErrorPage.vue\";\r\nimport InternetExplorerNotSupported from \"@/views/unauthenticated/InternetExplorerNotSupported.vue\";\r\nimport IntegrationUser from \"@/views/unauthenticated/IntegrationUser.vue\";\r\nimport MobileDeliver from \"@/views/unauthenticated/MobileDeliver.vue\";\r\nimport AnonymousMobileDashboard from \"@/views/unauthenticated/AnonymousMobileDashboard.vue\";\r\n\r\n/***** Shared ************/\r\nimport Dashboard from \"@/views/shared/Dashboard.vue\";\r\nimport UserMutation from \"@/views/shared/UserMutation.vue\";\r\nimport Loads from \"@/views/shared/Loads.vue\";\r\nimport Search from \"@/views/shared/Search.vue\";\r\nimport PriceList from \"@/views/shared/PriceList.vue\";\r\nimport Indexes from \"@/views/shared/Indexes.vue\";\r\nimport About from \"@/views/shared/About.vue\";\r\nimport News from \"@/views/shared/News.vue\";\r\nimport SupportForm from \"@/views/shared/SupportForm.vue\";\r\nimport ExcludedActors from \"@/views/shared/ExcludedActors.vue\";\r\nimport Slots from \"@/views/shared/Slots.vue\";\r\nimport InvoiceReport from \"@/views/shared/reports/InvoiceReport.vue\";\r\nimport LoadStatistics from \"@/views/shared/reports/LoadStatisticsReport.vue\";\r\nimport AgreementStatistics from \"@/views/shared/reports/AgreementStatisticsReport.vue\";\r\nimport DistanceReport from \"@/views/shared/reports/DistanceReport.vue\";\r\nimport QualityPointsReport from \"@/views/shared/reports/QualityPointsReport.vue\";\r\nimport Messages from \"@/views/shared/Messages.vue\";\r\nimport MyActor from \"@/views/shared/MyActor.vue\";\r\nimport MySettings from \"@/views/shared/MySettings.vue\";\r\nimport Actors from \"@/views/shared/Actors.vue\";\r\nimport AdministrateActor from \"@/views/shared/AdministrateActor.vue\";\r\nimport AdministrateUsers from \"@/views/shared/AdministrateUsers.vue\";\r\n\r\n/***** Client ************/\r\nimport AgreementRoutes from \"@/views/client/AgreementRoutes.vue\";\r\nimport CreateProcurement from \"@/views/client/CreateProcurement.vue\";\r\nimport ClientProcurements from \"@/views/client/Procurements.vue\";\r\nimport ProcurementOverview from \"@/views/client/ProcurementOverview.vue\";\r\nimport ClientAgreements from \"@/views/client/Agreements.vue\";\r\nimport ClientSurveyOverview from \"@/views/client/SurveyOverview.vue\";\r\nimport CostReport from \"@/views/client/reports/CostReport.vue\";\r\nimport DeviationReport from \"@/views/client/reports/DeviationReport.vue\";\r\nimport ClientMonitoring from \"@/views/client/reports/ClientMonitoring.vue\";\r\nimport AnnulledLoadsReport from \"@/views/client/reports/AnnulledLoadsReport.vue\";\r\nimport ClientSubjectiveQualityPoints from \"@/views/client/SubjectiveQualityPoints.vue\";\r\nimport ClientQualityPointsWeights from \"@/views/client/QualityPointsWeights.vue\";\r\nimport ClientDocuments from \"@/views/client/Documents.vue\";\r\nimport SetraExport from \"@/views/client/SetraExport.vue\";\r\nimport ProcurementAnalytics from \"@/views/client/reports/ProcurementAnalytics.vue\";\r\nimport CostForecast from \"@/views/client/reports/CostForecast.vue\";\r\nimport StandardPhrases from \"@/views/client/StandardPhrases.vue\";\r\n\r\n/***** Supplier **********/\r\nimport SupplierProcurements from \"@/views/supplier/Procurements.vue\";\r\nimport SupplierAgreements from \"@/views/supplier/Agreements.vue\";\r\nimport SupplierSurveyOverview from \"@/views/supplier/SurveyOverview.vue\";\r\nimport Survey from \"@/views/supplier/Survey.vue\";\r\nimport SupplierSubjectiveQualityPoints from \"@/views/supplier/SubjectiveQualityPoints.vue\";\r\nimport SupplierQualityPointsWeights from \"@/views/supplier/QualityPointsWeights.vue\";\r\nimport PublishRules from \"@/views/client/PublishRules.vue\";\r\nimport SupplierDocuments from \"@/views/supplier/Documents.vue\";\r\n\r\n/***** SupportAdmin ******/\r\nimport SupportAdminDashboard from \"@/views/support-admin/Dashboard.vue\";\r\nimport SupportAdminActors from \"@/views/support-admin/Actors.vue\";\r\nimport SupportAdminUsers from \"@/views/support-admin/Users.vue\";\r\nimport AgreementList from \"@/views/support-admin/AgreementList.vue\";\r\nimport Explorer from \"@/views/support-admin/Explorer.vue\";\r\nimport MailViewer from \"@/views/support-admin/Mailviewer.vue\";\r\nimport QualityPointsVis from \"@/views/support-admin/QualityPointsVis.vue\";\r\nimport QualityPointsWeights from \"@/views/support-admin/QualityPointsWeights.vue\";\r\nimport Distance from \"@/views/support-admin/Distance.vue\";\r\nimport InvoiceGenerator from \"@/views/support-admin/InvoiceGenerator.vue\";\r\nimport PowerButtons from \"@/views/support-admin/PowerButtons.vue\";\r\nimport BackgroundTasks from \"@/views/support-admin/BackgroundTasks.vue\";\r\nimport SupportAdminNews from \"@/views/support-admin/News.vue\";\r\nimport EditNews from \"@/views/support-admin/EditNews.vue\";\r\nimport MailTemplate from \"@/views/support-admin/MailTemplate.vue\";\r\nimport Playground from \"@/views/support-admin/Playground.vue\";\r\nimport ButWhy from \"@/views/support-admin/ButWhy.vue\";\r\nimport IndexComponents from \"@/views/support-admin/IndexComponents.vue\";\r\nimport SupportAdminDocuments from \"@/views/support-admin/Documents.vue\";\r\nimport AddToProcurements from \"@/views/support-admin/AddToProcurements.vue\";\r\nimport AddLocation from \"@/views/support-admin/AddLocation.vue\";\r\nimport ActorSigning from \"@/views/support-admin/ActorSigning.vue\";\r\n\r\n/***** SupportAdmin Statistics */\r\nimport MegaReport from \"@/views/support-admin/statistics/MegaReport.vue\";\r\nimport HeatMap from \"@/views/support-admin/statistics/HeatMap.vue\";\r\nimport ActorsStatistics from \"@/views/support-admin/statistics/ActorStatistics.vue\";\r\nimport InvoicedFeesReport from \"@/views/support-admin/statistics/InvoicedFeesReport.vue\";\r\nimport ActiveUsers from \"@/views/support-admin/statistics/ActiveUsers.vue\";\r\n\r\n/***** Mobile *****/\r\nimport MobileLoads from \"@/views/mobile/MobileLoads.vue\";\r\nimport MobileSlots from \"@/views/mobile/MobileSlots.vue\";\r\n\r\nVue.use(Router);\r\n\r\nconst router = new Router({\r\n mode: \"history\",\r\n base: process.env.BASE_URL,\r\n routes: [\r\n /***** Authentication *****/\r\n {\r\n path: \"/auth-signin\",\r\n name: \"auth-signin\"\r\n },\r\n {\r\n path: \"/support-admin/auth-signin\",\r\n name: \"auth-signin-sa\"\r\n },\r\n {\r\n path: \"/mobile/auth-signin\",\r\n name: \"auth-signin-mo\"\r\n },\r\n {\r\n path: \"/auth-signout\",\r\n name: \"auth-signout\"\r\n },\r\n {\r\n path: \"/support-admin/auth-signout\",\r\n name: \"auth-signout-sa\"\r\n },\r\n {\r\n path: \"/mobile/auth-signout\",\r\n name: \"auth-signout-mo\"\r\n },\r\n {\r\n path: \"/auth-silent\",\r\n name: \"auth-silent\"\r\n },\r\n {\r\n path: \"/support-admin/auth-silent\",\r\n name: \"auth-silent-sa\"\r\n },\r\n {\r\n path: \"/mobile/auth-silent\",\r\n name: \"auth-silent-mo\"\r\n },\r\n /***** Unauthenticated ****/\r\n {\r\n path: \"*\",\r\n component: PageNotFound,\r\n name: \"404\",\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/error\",\r\n component: ErrorPage,\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/internet-explorer-not-supported\",\r\n component: InternetExplorerNotSupported,\r\n name: \"ie\",\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/integration-user\",\r\n component: IntegrationUser,\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/mobile/deliver\",\r\n component: MobileDeliver,\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/mobile/anon-dashboard\",\r\n component: AnonymousMobileDashboard,\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/mobile/slots\",\r\n component: MobileSlots,\r\n meta: {\r\n unauthenticated: true\r\n }\r\n },\r\n {\r\n path: \"/sb\",\r\n meta: {\r\n redirect: true\r\n }\r\n },\r\n {\r\n path: \"/d\",\r\n meta: {\r\n redirect: true\r\n }\r\n },\r\n /***** Shared ************/\r\n {\r\n path: \"/\",\r\n name: \"dashboard\",\r\n component: Dashboard\r\n },\r\n {\r\n path: \"/user-mutation\",\r\n component: UserMutation\r\n },\r\n {\r\n path: \"/loads\",\r\n component: Loads\r\n },\r\n {\r\n path: \"/search\",\r\n component: Search\r\n },\r\n {\r\n path: \"/slots\",\r\n component: Slots\r\n },\r\n {\r\n path: \"/procurements\",\r\n components: {\r\n Client: ClientProcurements,\r\n Supplier: SupplierProcurements\r\n }\r\n },\r\n {\r\n path: \"/agreements\",\r\n components: {\r\n Client: ClientAgreements,\r\n Supplier: SupplierAgreements\r\n }\r\n },\r\n {\r\n path: \"/documents\",\r\n components: {\r\n Client: ClientDocuments,\r\n Supplier: SupplierDocuments\r\n }\r\n },\r\n {\r\n path: \"/load-statistics\",\r\n component: LoadStatistics\r\n },\r\n {\r\n path: \"/agreement-statistics\",\r\n component: AgreementStatistics\r\n },\r\n {\r\n path: \"/invoice-report\",\r\n component: InvoiceReport\r\n },\r\n {\r\n path: \"/distance-report\",\r\n component: DistanceReport\r\n },\r\n {\r\n path: \"/quality-points\",\r\n component: QualityPointsReport\r\n },\r\n {\r\n path: \"/quality-points-weights\",\r\n components: {\r\n Client: ClientQualityPointsWeights,\r\n Supplier: SupplierQualityPointsWeights\r\n }\r\n },\r\n {\r\n path: \"/surveys\",\r\n components: {\r\n Client: ClientSurveyOverview,\r\n Supplier: SupplierSurveyOverview\r\n }\r\n },\r\n {\r\n path: \"/actors\",\r\n component: Actors\r\n },\r\n {\r\n path: \"/price-list\",\r\n component: PriceList\r\n },\r\n {\r\n path: \"/messages\",\r\n component: Messages\r\n },\r\n {\r\n path: \"/indexes\",\r\n component: Indexes\r\n },\r\n {\r\n path: \"/about\",\r\n component: About\r\n },\r\n {\r\n path: \"/news\",\r\n component: News\r\n },\r\n {\r\n path: \"/support-form\",\r\n component: SupportForm\r\n },\r\n {\r\n path: \"/excluded-actors\",\r\n component: ExcludedActors\r\n },\r\n {\r\n path: \"/administrate-actor\",\r\n component: AdministrateActor\r\n },\r\n {\r\n path: \"/administrate-users\",\r\n component: AdministrateUsers\r\n },\r\n {\r\n path: \"/my-actor\",\r\n component: MyActor\r\n },\r\n {\r\n path: \"/my-settings\",\r\n component: MySettings\r\n },\r\n /***** Client ************/\r\n {\r\n path: \"/agreement-routes\",\r\n component: AgreementRoutes\r\n },\r\n {\r\n path: \"/create-procurement\",\r\n component: CreateProcurement\r\n },\r\n {\r\n path: \"/procurement-overview\",\r\n component: ProcurementOverview\r\n },\r\n {\r\n path: \"/subjective-quality-points\",\r\n components: {\r\n Client: ClientSubjectiveQualityPoints,\r\n Supplier: SupplierSubjectiveQualityPoints\r\n }\r\n },\r\n {\r\n path: \"/standard-phrases\",\r\n component: StandardPhrases\r\n },\r\n {\r\n path: \"/publish-rules\",\r\n component: PublishRules\r\n },\r\n {\r\n path: \"/cost-report\",\r\n component: CostReport\r\n },\r\n {\r\n path: \"/deviation-report\",\r\n component: DeviationReport\r\n },\r\n {\r\n path: \"/client-monitoring\",\r\n component: ClientMonitoring\r\n },\r\n {\r\n path: \"/annulled-loads\",\r\n component: AnnulledLoadsReport\r\n },\r\n {\r\n path: \"/setra-export\",\r\n component: SetraExport\r\n },\r\n {\r\n path: \"/cost-forecast\",\r\n component: CostForecast\r\n },\r\n {\r\n path: \"/procurement-analytics\",\r\n component: ProcurementAnalytics\r\n },\r\n /***** Supplier **********/\r\n {\r\n path: \"/survey\",\r\n component: Survey\r\n },\r\n /***** Mobile *****/\r\n {\r\n path: \"/mobile\",\r\n component: MobileLoads\r\n },\r\n {\r\n path: \"/mobile/about\",\r\n component: About\r\n },\r\n {\r\n path: \"/mobile/support-form\",\r\n component: SupportForm\r\n },\r\n /***** SupportAdmin ******/\r\n {\r\n path: \"/support-admin\",\r\n component: SupportAdminDashboard\r\n },\r\n {\r\n path: \"/support-admin/explorer\",\r\n component: Explorer\r\n },\r\n {\r\n path: \"/support-admin/actors\",\r\n component: SupportAdminActors\r\n },\r\n {\r\n path: \"/support-admin/users\",\r\n component: SupportAdminUsers\r\n },\r\n {\r\n path: \"/support-admin/agreements\",\r\n component: AgreementList\r\n },\r\n {\r\n path: \"/support-admin/mailviewer\",\r\n component: MailViewer\r\n },\r\n {\r\n path: \"/support-admin/qp-vis\",\r\n component: QualityPointsVis\r\n },\r\n {\r\n path: \"/support-admin/qp-weights\",\r\n component: QualityPointsWeights\r\n },\r\n {\r\n path: \"/support-admin/documents\",\r\n component: SupportAdminDocuments\r\n },\r\n {\r\n path: \"/support-admin/invoicing\",\r\n component: InvoiceGenerator\r\n },\r\n {\r\n path: \"/support-admin/distance\",\r\n component: Distance\r\n },\r\n {\r\n path: \"/support-admin/power-buttons\",\r\n component: PowerButtons\r\n },\r\n {\r\n path: \"/support-admin/background-tasks\",\r\n component: BackgroundTasks\r\n },\r\n {\r\n path: \"/support-admin/edit-news\",\r\n component: EditNews\r\n },\r\n {\r\n path: \"/support-admin/news\",\r\n component: SupportAdminNews\r\n },\r\n {\r\n path: \"/support-admin/mail-template\",\r\n component: MailTemplate\r\n },\r\n {\r\n path: \"/support-admin/playground\",\r\n component: Playground\r\n },\r\n {\r\n path: \"/support-admin/but-why\",\r\n component: ButWhy\r\n },\r\n {\r\n path: \"/support-admin/index-components\",\r\n component: IndexComponents\r\n },\r\n {\r\n path: \"/support-admin/add-to-procurements\",\r\n component: AddToProcurements\r\n },\r\n {\r\n path: \"/support-admin/add-location\",\r\n component: AddLocation\r\n },\r\n {\r\n path: \"/support-admin/actor-signing\",\r\n component: ActorSigning\r\n },\r\n {\r\n path: \"/support-admin/mega-report\",\r\n component: MegaReport\r\n },\r\n {\r\n path: \"/support-admin/heat-map\",\r\n component: HeatMap\r\n },\r\n {\r\n path: \"/support-admin/actors-statistics\",\r\n component: ActorsStatistics\r\n },\r\n {\r\n path: \"/support-admin/invoiced-fees-report\",\r\n component: InvoicedFeesReport\r\n },\r\n {\r\n path: \"/support-admin/active-users-statistics\",\r\n component: ActiveUsers\r\n }\r\n ]\r\n});\r\n\r\nrouter.beforeEach((to, from, next) => {\r\n if (store.getters[gets.preventLeaving]) {\r\n store.commit(mutations.setTryingToLeave, next);\r\n } else if (internetExplorerRedirect(to)) {\r\n next({ name: \"ie\" });\r\n } else if (to.meta && to.meta.redirect) {\r\n redirect(to);\r\n } else if (to.name && to.name.startsWith(\"auth-\")) {\r\n handleAuthCallbacks(to, next);\r\n } else if (to.meta && to.meta.unauthenticated) {\r\n next();\r\n } else if (\r\n store.getters[gets.username] === \"\" &&\r\n !store.getters[gets.autoRenewing]\r\n ) {\r\n Auth.removeUser().then(() => {\r\n store.commit(mutations.setAutoRenewing, true);\r\n store.dispatch(actions.autoTokenRenew, to.fullPath);\r\n next();\r\n });\r\n } else if (needsSiteSwitch(from.path, to.path)) {\r\n window.location.href = to.path;\r\n } else {\r\n next();\r\n }\r\n});\r\n\r\nconst needsSiteSwitch = (from: string, to: string): boolean => {\r\n const paths = [from, to];\r\n if (paths.filter(path => path.startsWith(\"/support-admin\")).length === 1) {\r\n return true;\r\n }\r\n if (paths.filter(path => path.startsWith(\"/mobile\")).length === 1) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst redirect = (to: Route) => {\r\n if (to.path.startsWith(\"/sb\")) {\r\n window.location.href = \"/mobile/slots?id=\" + to.query.id;\r\n } else if (to.path.startsWith(\"/d\")) {\r\n window.location.href = \"/mobile/deliver?tn=\" + to.query.tn;\r\n }\r\n};\r\n\r\nconst internetExplorerRedirect = (to: Route) => {\r\n const ua = navigator.userAgent;\r\n const msie = ua.indexOf(\"MSIE \");\r\n const trident = ua.indexOf(\"Trident/\");\r\n if (\r\n to.name !== \"ie\" &&\r\n to.name !== \"dashboard\" &&\r\n (trident > 0 || msie > 0)\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n};\r\n\r\nconst handleAuthCallbacks = (to: Route, next: NavigationGuardNext) => {\r\n if (\r\n to.name === \"auth-signout\" ||\r\n to.name === \"auth-signout-sa\" ||\r\n to.name === \"auth-signout-mo\"\r\n ) {\r\n store.dispatch(actions.endSignout).then(() => {\r\n next(store.getters[gets.pathBeforeAuthentication]);\r\n });\r\n } else if (\r\n to.name === \"auth-signin\" ||\r\n to.name === \"auth-signin-sa\" ||\r\n to.name === \"auth-signin-mo\"\r\n ) {\r\n store.dispatch(actions.endSignin).then(() => {\r\n next(store.getters[gets.pathBeforeAuthentication]);\r\n });\r\n } else if (\r\n to.name === \"auth-silent\" ||\r\n to.name === \"auth-silent-sa\" ||\r\n to.name === \"auth-silent-mo\"\r\n ) {\r\n store.dispatch(actions.endSigninSilent);\r\n }\r\n};\r\n\r\nexport default router;\r\n","import \"@mdi/font/css/materialdesignicons.min.css\";\r\nimport Vue from \"vue\";\r\nimport Vuetify, { Ripple, ClickOutside } from \"vuetify/lib\";\r\nVue.use(Vuetify, {\r\n directives: {\r\n Ripple,\r\n ClickOutside\r\n }\r\n});\r\n\r\nexport const colors = {\r\n primary: \"#05afc5\",\r\n\r\n \"btn-cyan\": \"#80deea\",\r\n \"card-cyan\": \"#80deea\",\r\n \"icon-cyan\": \"#4dd0e1\",\r\n\r\n \"background-red\": \"#ffcdd2\",\r\n \"card-red\": \"#e03825\",\r\n \"icon-red\": \"#d92730\",\r\n \"cld-red\": \"#c62828\",\r\n\r\n \"icon-green\": \"#2f9e3a\",\r\n\r\n \"icon-yellow\": \"#fdd033\",\r\n\r\n \"icon-gold\": \"#a69f8b\",\r\n\r\n \"card-grey\": \"#e0e0e0\",\r\n \"icon-grey\": \"#616161\",\r\n\r\n \"btn-outlined\": \"#546e7a\",\r\n \"background-pale\": \"#f6f5f5\",\r\n \"background-grey\": \"#ebebeb\"\r\n};\r\n\r\nexport default new Vuetify({\r\n icons: {\r\n iconfont: \"mdi\"\r\n },\r\n theme: {\r\n themes: {\r\n light: colors\r\n }\r\n }\r\n});\r\n","import \"core-js\";\r\nimport Vue from \"vue\";\r\nimport App from \"@/App.vue\";\r\nimport router from \"@/scripts/router\";\r\nimport store from \"@/scripts/store/store\";\r\nimport vuetify from \"@/scripts/vuetify\";\r\nimport { i18n } from \"@/scripts/language/i18n\";\r\n\r\nVue.config.productionTip = false;\r\n\r\nnew Vue({\r\n store,\r\n router,\r\n i18n,\r\n vuetify,\r\n render: h => h(App)\r\n}).$mount(\"#app\");\r\n","module.exports = __webpack_public_path__ + \"media/notification.db874176.mp3\";","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadInfoIcons.vue?vue&type=style&index=0&id=39860ace&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./QualityPointsWeightsTable.vue?vue&type=style&index=0&id=11a56e0c&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Survey.vue?vue&type=style&index=0&id=14fa5e25&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SlotCalendarHeader.vue?vue&type=style&index=0&id=3f4f37a5&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UsersTable.vue?vue&type=style&index=0&id=39620228&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PriceList.vue?vue&type=style&index=0&id=523bc326&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SupplierEditSpotTenderDialog.vue?vue&type=style&index=0&id=de144f92&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProcurementDocumentDialog.vue?vue&type=style&index=0&id=3bc93450&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DocumentRouteDialog.vue?vue&type=style&index=0&id=4458ece3&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AccordionContainersDialog.vue?vue&type=style&index=0&id=0fc0509f&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LocationFilter.vue?vue&type=style&index=0&id=0352c834&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubjectiveQualityPointsTable.vue?vue&type=style&index=0&id=5734e829&scoped=true&lang=css&\"","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadEditDialog.vue?vue&type=style&index=0&id=e2382916&scoped=true&lang=css&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileFooter.vue?vue&type=style&index=0&id=2189cad1&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DashboardLoadsBox.vue?vue&type=style&index=0&id=7e014e3d&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Language.vue?vue&type=style&index=0&id=54283094&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileSlotBookingExpansionPanels.vue?vue&type=style&index=0&id=8e2a25de&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyQuestion.vue?vue&type=style&index=0&id=42a150bb&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NumberInput.vue?vue&type=style&index=0&id=0fd64ae6&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimePicker.vue?vue&type=style&index=0&id=93d52b06&scoped=true&lang=css&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddressCombobox.vue?vue&type=style&index=0&id=48436486&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoadDialogMultiTable.vue?vue&type=style&index=0&id=37757eab&scoped=true&lang=css&\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SurveyIterationCard.vue?vue&type=style&index=0&id=676e68d4&scoped=true&lang=css&\""],"sourceRoot":""}