{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/components/shared/input/Checkbox.vue?d120","webpack:///./src/views/mobile/MobileSlots.vue?8203","webpack:///./src/components/mobile/slots/MobileSlotBookingExpansionPanels.vue?c615","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/mobile/slots/MobileSlotBookingCalendar.vue?303b","webpack:///./src/components/shared/ui/SkeletonLoader.vue?2e67","webpack:///./src/components/web/slots/SlotCalendar.vue?0d54","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue?fc41","webpack:///./src/components/web/messages/MessagesTable.vue?26f8","webpack:///./src/components/shared/input/TimePickerDialog.vue?8cb4","webpack:///./src/components/shared/input/LocationFilter.vue?1e17","webpack:///./src/views/support-admin/Mailviewer.vue?71f0","webpack:///./src/components/mobile/MobileLoadListTabs.vue?4ecc","webpack:///./src/components/web/loads/supplier/SupplierEditSpotTenderDialog.vue?7d40","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue?4493","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue?18c4","webpack:///./src/components/web/loads/shared/search/LoadRelatedTable.vue?e1a0","webpack:///./src/components/shared/input/TimePicker.vue?77b0","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue?a9be","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue?ef20","webpack:///./src/views/support-admin/QualityPointsVis.vue?cdb6","webpack:///./src/components/web/index/IndexAccordion.vue?0b07","webpack:///./src/components/web/loads/client/edit/LoadEditDialog.vue?7501","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/views/shared/Dashboard.vue?37bf","webpack:///./src/components/mobile/MobileLoadListTable.vue?fbab","webpack:///./src/App.vue?94c5","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/assets/img/sv-SE.svg","webpack:///./src/components/shared/ui/Confirmation.vue?2917","webpack:///./src/components/web/loads/shared/list/LoadListTabsEdit.vue?f27e","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/web/loads/client/accordion/AccordionRelatedLoads.vue?303e","webpack:///./src/components/shared/input/PublishSpeedSlider.vue?422e","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/views/shared/PriceList.vue?e9a7","webpack:///./src/components/shared/ui/Emission.vue?0b11","webpack:///./src/assets/img/fair-transport-logo.png","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/slots/SlotDots.vue?a8da","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTable.vue?fc40","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue?11bd","webpack:///./src/components/web/loads/shared/list/LoadInfoIcons.vue?389f","webpack:///./src/assets/img/fi-FI.svg","webpack:///./src/components/web/agreements/client/ProcurementTable.vue?995f","webpack:///./src/components/shared/table/CustomFilter.vue?ca5a","webpack:///./src/components/mobile/MobileToolbarMenu.vue?4d1b","webpack:///./src/components/web/loads/shared/list/LoadDots.vue?637c","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/components/shared/input/Dropdown.vue?696b","webpack:///./src/components/shared/ui/SearchCard.vue?cc1a","webpack:///./src/components/web/loads/supplier/LoadEditContainersDialog.vue?6442","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue?4271","webpack:///./src/components/web/slots/SlotCalendarHeader.vue?69a7","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/web/slots/SlotCalendarDay.vue?8c86","webpack:///./src/components/shared/input/Autocomplete.vue?3fa4","webpack:///./src/views/support-admin/InvoiceGenerator.vue?e40f","webpack:///./src/components/web/documents/DocumentDropZone.vue?9a9b","webpack:///./src/views/support-admin/ButWhy.vue?8d98","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue?ffda","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/client/spot/CreateSpotTenderReview.vue?beeb","webpack:///./src/components/shared/ui/Spinner.vue?8082","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDetailsDialog.vue?852a","webpack:///./src/components/shared/ui/ReadOnlyText.vue?a94d","webpack:///./src/components/shared/input/DropdownMulti.vue?3083","webpack:///./src/components/shared/ui/Snackbars.vue?c417","webpack:///./src/views/supplier/Documents.vue?7061","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/App.vue?919b","webpack:///./src/scripts/misc/momentX.ts","webpack:///./src/scripts/cld.api.ts","webpack:///./src/scripts/language/i18n.ts","webpack:///./src/scripts/misc/neverHappens.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/misc/enumNames.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?b37f","webpack:///./src/components/shared/ui/ToolbarMenu.vue?e53b","webpack:///./src/components/shared/ui/Language.vue?250d","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?4596","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?7a69","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?dce9","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?6043","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?ff8a","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?a961","webpack:///./src/components/shared/ui/DialogCard.vue?1311","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?d83c","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?fba5","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?a927","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?3b4d","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?e006","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?b5bb","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?0353","webpack:///./src/components/shared/ui/SearchCard.vue?53ec","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?cfc0","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?876e","webpack:///./src/components/shared/input/TextSingle.vue?63f8","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?9f11","webpack:///./src/components/shared/ui/ReadOnlyText.vue?fa95","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?7d9e","webpack:///./src/components/web/dashboard/DashboardLoads.vue?7c56","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue?a993","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?ae7a","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?01a9","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?96d1","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?05da","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?9bba","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?d7f7","webpack:///./src/components/web/dashboard/DashboardProcurementsBox.vue?ab13","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?5344","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?fee9","webpack:///./src/components/web/dashboard/DashboardNewsBox.vue?5be6","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?b5a7","webpack:///./src/components/shared/input/Autocomplete.vue?5040","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?5df1","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?d570","webpack:///./src/scripts/misc/scrollTableToTop.ts","webpack:///./src/components/web/loads/shared/list/LoadListTabs.vue?a209","webpack:///./src/components/shared/input/MenuButton.vue?2303","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?8c15","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?7a2f","webpack:///./src/scripts/misc/loadListHeaders.ts","webpack:///./src/components/shared/table/CustomTableHeader.vue?c3a8","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?97af","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?4c5f","webpack:///./src/components/shared/input/AutocompleteMultiCountry.vue?8d4f","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?66bc","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?3ced","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?9111","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?0283","webpack:///./src/components/shared/input/CheckboxTiny.vue?a94a","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/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?58ed","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?5f30","webpack:///./src/components/web/loads/shared/details/LoadDetailsDialog.vue?08c6","webpack:///./src/components/web/loads/shared/LoadLock.vue?1617","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?3e47","webpack:///./src/components/web/loads/shared/appendix/AppendixConsigneeDialog.vue?0e9e","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?7af7","webpack:///./src/components/shared/input/Checkbox.vue?f5de","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?32c9","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?efe7","webpack:///./src/components/shared/ui/InfoTooltip.vue?027f","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?1755","webpack:///./src/components/web/actor/ActorDialogTabs.vue?d109","webpack:///./src/components/shared/input/TextMulti.vue?4d96","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?2ec8","webpack:///./src/components/web/loads/client/accordion/AccordionPrices.vue?1bd9","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?c3e2","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?a2e7","webpack:///./src/components/shared/input/TextSaved.vue?70ac","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?08f8","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?ba8e","webpack:///./src/components/shared/input/DatePicker.vue?5e4a","webpack:///./src/components/shared/input/TimePickerDialog.vue?cee8","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?0fde","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsDialog.vue?506b","webpack:///./src/scripts/misc/objectsEqual.ts","webpack:///./src/components/web/loads/client/accordion/AccordionSubLocationsTable.vue?bf40","webpack:///./src/components/shared/input/AddressCombobox.vue?b1b8","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?1b99","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?e247","webpack:///./src/components/web/loads/client/accordion/AccordionRelatedLoadsDialog.vue?af8e","webpack:///./src/components/web/loads/shared/search/LoadSearchInput.vue?1614","webpack:///./src/components/web/loads/shared/search/LoadSearchTable.vue?1ca5","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?358d","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?4158","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?0d4e","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue?f44d","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?66a6","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?530e","webpack:///./src/components/web/loads/shared/appendix/AppendixPackageSpecDialog.vue?9d30","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?cf13","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?7336","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?6a19","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue?3c27","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?9fd3","webpack:///./src/components/shared/input/DocumentDropdown.vue?b9d8","webpack:///./src/components/shared/ui/DocumentTable.vue?d3a9","webpack:///./src/components/shared/ui/DocumentButton.vue?98df","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?3d9e","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?a6e3","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?9610","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?6787","webpack:///./src/components/web/loads/shared/LoadDocumentsTable.vue?850b","webpack:///./src/components/web/loads/client/accordion/AccordionDocumentAddDialog.vue?961b","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?90c6","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?9261","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?9d25","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?1dba","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?f52f","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?9779","webpack:///./src/components/web/loads/client/edit/LoadEditBaseValues.vue?482c","webpack:///./src/components/shared/input/PublishSpeedSlider.vue?3699","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?d33a","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?90fa","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?87cc","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?b721","webpack:///./src/components/shared/input/UnitAutocomplete.vue?7fd8","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?5962","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?c706","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?e4ae","webpack:///./src/components/shared/ui/DatePickerHolder.vue?50bf","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?38be","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?ecd9","webpack:///./src/components/shared/ui/Chip.vue?1aea","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?a301","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?7c85","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?e102","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?c5a7","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?d3d3","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?323c","webpack:///./src/components/web/loads/client/spot/CreateSpotTenderDates.vue?9e65","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?1104","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?13db","webpack:///./src/components/web/agreements/client/SupplierSelectTable.vue?3f58","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?ef06","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?453f","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?c1fe","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?10d7","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?b109","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?03cb","webpack:///./src/components/mobile/details/MobileBaseValues.vue?71e7","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?32bb","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?edb2","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?ef7e","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?acb2","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?b3a8","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?3ddd","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?5d8d","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?f109","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?f5b3","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?6a2c","webpack:///./src/components/web/slots/SlotCalendarInfo.vue?8576","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?5d8e","webpack:///./src/components/web/slots/SlotCalendarHeader.vue?0b81","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?7d45","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?a5d8","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?d275","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?4845","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?f09b","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?0e97","webpack:///./src/components/web/index/IndexAccordion.vue?26dc","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?6dee","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?757a","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?9477","webpack:///./src/components/shared/ui/NewsSheet.vue?a5dc","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?3ed2","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?e611","webpack:///./src/components/web/settings/ExcludedActorsCard.vue?a913","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?13a0","webpack:///./src/components/web/slots/SlotTable.vue?7259","webpack:///./src/components/web/slots/SlotDots.vue?b3b6","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?d5a6","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?31bf","webpack:///./src/components/web/reports/shared/InvoiceReportSearch.vue?92f3","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?e143","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?3f06","webpack:///./src/components/web/reports/shared/LoadStatisticsReportSearch.vue?9ec8","webpack:///./src/components/shared/input/SwitchSingle.vue?a74c","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?8b54","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?9677","webpack:///./src/components/web/reports/shared/AgreementStatisticsReportSearch.vue?6c6c","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?1ff8","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?93ce","webpack:///./src/components/web/reports/shared/DistanceReportSearch.vue?186a","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?5f35","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?f838","webpack:///./src/components/web/reports/shared/QualityPointsReportSearch.vue?95db","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?f528","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?4fd6","webpack:///./src/components/web/messages/MessagesTable.vue?51d3","webpack:///./src/components/web/messages/MessageRecipientDialog.vue?ba2d","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?2c95","webpack:///./src/components/web/messages/CreateMessageDialog.vue?3993","webpack:///./src/components/web/messages/CreateMessageRecipientDialog.vue?f5fc","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?404e","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?eb7a","webpack:///./src/components/web/settings/UserSettingsForm.vue?bd6e","webpack:///./src/components/web/settings/BasicUserSettings.vue?19a2","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?1336","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue","webpack:///./src/components/web/settings/NotificationSettingsNode.vue?fbac","webpack:///./src/components/web/settings/NotificationSettingsFilters.vue?b9ec","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue?51d8","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue?45b0","webpack:///./src/components/web/settings/NotificationSettingsPickupFilterDialog.vue?2fed","webpack:///./src/components/web/settings/NotificationSettingsDeliveryFilterDialog.vue?11ec","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?55e5","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?33d8","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?0208","webpack:///./src/components/web/actor/ActorTable.vue?5658","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?7a31","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?8ad7","webpack:///./src/components/web/settings/AdministrateUserDialog.vue?e318","webpack:///./src/components/web/settings/ImportSettingsDialog.vue?5ed5","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?44c3","webpack:///./src/components/web/agreements/client/AgreementRouteSearch.vue?5595","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?9f20","webpack:///./src/components/web/agreements/client/AgreementRouteTableTruckTypeItems.vue?1cb7","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?df4a","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?548f","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?9180","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?2073","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?f3a9","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?f3af","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?452b","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementPeriod.vue?47e8","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?7c9b","webpack:///./src/components/web/agreements/client/CreateProcurementAgreementRoutesTable.vue?84de","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?4bbb","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?d70d","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?185d","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?58b4","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?21ab","webpack:///./src/components/web/agreements/client/AgreementSearch.vue?42fe","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?1e1b","webpack:///./src/components/web/agreements/client/ProcurementTableExpansion.vue?b5e7","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?d254","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?f03e","webpack:///./src/components/web/agreements/client/RankingDialogPrevAgreement.vue?2d5c","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?aab8","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?8e02","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?30ea","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?ebe4","webpack:///./src/components/web/agreements/client/AgreementOverviewTable.vue?2512","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?16fd","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?14f2","webpack:///./src/components/web/survey/client/SurveyDialog.vue?84d3","webpack:///./src/scripts/misc/surveyQuestions.ts","webpack:///./src/components/web/survey/SurveyContent.vue?3160","webpack:///./src/components/web/survey/SurveyQuestion.vue?8f31","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?0b10","webpack:///./src/components/web/reports/client/CostReportSearch.vue?036c","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?c0c2","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?96bb","webpack:///./src/components/web/reports/client/DeviationReportSearch.vue?456a","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?b1bb","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?d859","webpack:///./src/components/web/reports/client/ClientMonitoringSearch.vue?ed24","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?52d5","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?b3d7","webpack:///./src/components/web/reports/client/AnnulledLoadsReportSearch.vue?d8df","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?a221","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?ce38","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue?d835","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?d256","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?1e29","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue?cf91","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?6149","webpack:///./src/components/web/documents/DocumentDialog.vue?8708","webpack:///./src/components/shared/input/DocumentInput.vue?2294","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?ee90","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?d6ec","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?c853","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?e620","webpack:///./src/components/web/reports/client/ProcurementAnalyticsSearch.vue?60f1","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?ec8c","webpack:///./src/components/web/reports/client/ProcurementAnalyticsTableExpansion.vue?d8c9","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?537c","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?6ddf","webpack:///./src/components/web/standardphrases/StandardPhrasesTable.vue?2c5c","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?d150","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?af3f","webpack:///./src/components/web/agreements/supplier/ProcurementSearch.vue?adcf","webpack:///./src/components/web/agreements/supplier/ProcurementConfigDialog.vue?9f1c","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?a9d8","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?cce6","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?cf90","webpack:///./src/components/web/agreements/supplier/ProcurementDateTooltip.vue?b5af","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?41b0","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?31b8","webpack:///./src/components/web/agreements/supplier/ProcurementDocumentDialog.vue?384b","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?c2ae","webpack:///./src/components/web/agreements/supplier/AgreementSearch.vue?9923","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?0c7f","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?7b93","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue?e37e","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?48b0","webpack:///./src/components/web/survey/supplier/SubmitSurveyDialog.vue?b7b7","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?c4fb","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?b5c6","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?800e","webpack:///./src/components/web/settings/WorkingHoursEditDialog.vue?61e8","webpack:///./src/components/shared/input/TimePickerDuration.vue?d354","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?ebe7","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?b610","webpack:///./src/components/shared/ui/Snow.vue?5ea5","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?e60f","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue?2e93","webpack:///./src/components/support-admin/actor/ActorTable.vue?8c10","webpack:///./src/components/support-admin/actor/ActorEditDialog.vue?7da0","webpack:///./src/components/support-admin/actor/ActorEditForm.vue?c16c","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?d038","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?1049","webpack:///./src/components/support-admin/actor/user/UsersTable.vue?f909","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?3135","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?6a80","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/ActorList.vue?90b2","webpack:///./src/components/support-admin/actor/ActorCreateDialog.vue?7686","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/ActorList.vue","webpack:///./src/views/support-admin/ActorList.vue?80b1","webpack:///./src/views/support-admin/ActorList.vue?ce1e","webpack:///./src/views/support-admin/AgreementList.vue?18ef","webpack:///./src/components/support-admin/agreements/AgreementListSearch.vue?60c3","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?bab3","webpack:///./src/components/support-admin/agreements/AgreementListEditDialog.vue?5170","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?447d","webpack:///./src/components/support-admin/explorer/ExplorerSearch.vue?4fab","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?4b7e","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?2cab","webpack:///./src/components/support-admin/explorer/ExplorerDialogPrice.vue?87d3","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?0286","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?4f20","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?742a","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?19f3","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?56e1","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?f2fa","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?48e5","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?ca4a","webpack:///./src/views/support-admin/Distance.vue","webpack:///./src/components/support-admin/DistanceTable.vue?237f","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?7315","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorTable.vue?4045","webpack:///./src/components/support-admin/invoice/InvoiceGeneratorLoadIdsDialog.vue?ec9b","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?8edd","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?8081","webpack:///./src/components/support-admin/BackgroundTasksTable.vue?c2b5","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?e365","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?304e","webpack:///./src/components/support-admin/news/NewsHelpIcon.vue?a653","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?1e57","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?6374","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?64ab","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?0b50","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?08bd","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?83d3","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?bb58","webpack:///./src/components/shared/input/TextWithAutocomplete.vue?3068","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?5173","webpack:///./src/components/support-admin/signing/ActorSigningTable.vue","webpack:///./src/components/support-admin/signing/ActorSigningTable.vue?7d77","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?5fad","webpack:///./src/components/shared/charts/PieChart.vue?aba7","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/MegaReportPresetThing.vue?53a1","webpack:///./src/components/support-admin/MegaReportPresetThing.vue","webpack:///./src/components/support-admin/MegaReportPresetThing.vue?b1a4","webpack:///./src/components/support-admin/MegaReportPresetThing.vue?9040","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?d410","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/Actors.vue?28ea","webpack:///./src/components/shared/charts/BarChart.vue?ed0e","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/Actors.vue","webpack:///./src/views/support-admin/statistics/Actors.vue?c50b","webpack:///./src/views/support-admin/statistics/Actors.vue?22a6","webpack:///./src/views/support-admin/statistics/InvoicedFeesReport.vue?8786","webpack:///./src/components/support-admin/invoice/InvoicedFeesReportSearch.vue?c1d6","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?dc5a","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?5276","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?ad32","webpack:///./src/components/mobile/MobileLoadListTable.vue?adc3","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?a3ee","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?12c2","webpack:///./src/components/mobile/slots/MobileSlotBookingCalendar.vue?8963","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?0dee","webpack:///./src/components/shared/input/TimePicker.vue?54e6","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?89ea","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/views/support-admin/EditNews.vue?f85d","webpack:///./src/components/web/qp/QualityPointsWeightsTable.vue?3b29","webpack:///./src/views/supplier/Survey.vue?ca7a","webpack:///./src/components/web/loads/shared/details/LoadHistoryDialog.vue?a807","webpack:///./src/components/web/agreements/supplier/ProcurementTable.vue?9bff","webpack:///./src/components/support-admin/actor/user/UsersTable.vue?0d26","webpack:///./src/components/shared/ui/NewsSheet.vue?e693","webpack:///./src/components/support-admin/explorer/ExplorerDialogLoadDetails.vue?4526","webpack:///./src/components/shared/input/DocumentDropdown.vue?58ef","webpack:///./src/components/web/documents/DocumentRouteDialog.vue?9c37","webpack:///./src/components/web/loads/client/accordion/AccordionContainersDialog.vue?857e","webpack:///./src/components/web/loads/client/accordion/AccordionRankings.vue?213a","webpack:///./src/components/web/qp/SubjectiveQualityPointsTable.vue?a7e5","webpack:///./src/components/shared/input/TimePickerDuration.vue?17d5","webpack:///./src/components/web/agreements/client/RankingDialog.vue?9687","webpack:///./src/components/web/survey/supplier/SurveyIterationCard.vue?eb54","webpack:///./src/components/mobile/MobileFooter.vue?9f7b","webpack:///./src/components/web/dashboard/DashboardLoadsBox.vue?f16e","webpack:///./src/components/web/loads/client/accordion/AccordionContainers.vue?109e","webpack:///./src/components/shared/ui/Language.vue?1c58","webpack:///./src/components/shared/input/DatePicker.vue?6a2f","webpack:///./src/components/web/survey/SurveyQuestion.vue?d258","webpack:///./src/components/shared/input/NumberInput.vue?4942","webpack:///./src/components/shared/ui/ToolbarMenu.vue?1ecd","webpack:///./src/components/shared/input/AddressCombobox.vue?ee72","webpack:///./src/components/web/loads/client/spot/ClientEditSpotTenderDialog.vue?41d1","webpack:///./src/components/web/loads/shared/LoadDialogMultiTable.vue?083f"],"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","map","webpackContext","req","id","webpackContextResolve","e","Error","code","keys","resolve","_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","minDate","maxDate","MomentX","input","format","momentBase","utc","locale","mCopy","quarter","yearPrint","quarterPrint","shortDateTimePrint","to","mCopyOther","minutes","hours","date","month","year","startOf","endOf","endOfDay","amount","add","withMinutes","diff","datePrint","date1","date2","isSameOrAfter","isSameOrBefore","unix","seconds","isValid","keepOffset","toISOString","toJSON","DurationX","duration","_","__","dCopy","days","toString","padStart","milliseconds","startOfDay","withHours","parseZone","isMoment","durationFromTime","ActorType","UserLevel","SupportAdminLevel","ApiConfiguration","store","ApiClientBase","apiConf","options","headers","getters","token","currentClientVersion","Promise","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","encodeURIComponent","processSaveLanguage","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","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","processListForSupportAdmin","SupportAdminActorListDto","processExportForSupportAdmin","actorIds","processExportSelectionForSupportAdmin","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","EmailModel","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","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","processPickupCountiesSupportAdmin","processSystemStatus","SystemStatusDto","processCountries","pickup","processCountiesByCargotype","country","processCounties","processCountiesAndZipcode","CountyWithZipcodeDto","processPriceFilters","processPrices","PriceListDto","includeOnesExcludedByMe","includeOnesThatExcludeMe","processClientsWithAgreements","processTerminals","processCustomers","processUnits","processAgreementRoutes","AgreementRouteWithAgreementStatusDto","processTrucktypesByAgreementrouteid","TruckTypeDto","processIndexPeriods","IndexPeriodDto","processBaseIndexPeriods","BaseIndexPeriodDto","validDate","processBaseIndexPeriodByValidDate","baseIndexDate","indexDate","processFuelIndexesForDate","FuelIndexDto","processFuelIndexes","processCountiesOnAgreementroutes","processAllowedUploadFileExtensions","processCustomsPassages","CustomsPassageDto","b","f","processNotToBeCalled","StatisticsClient","processMegaReport","MegaReportDatasetDto","exportData","processMegaReportExport","actorSearchCritera","ActorRegDto","processHeatMap","processActiveUsersNow","ActiveUsersNowDto","processActiveUsersStatistics","ActiveUsersStatisticsDto","BackgroundTaskClient","BackgroundTaskStatusDto","task","taskId","processRun","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","agreementPeriodFrom","agreementRouteIds","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","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","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","truckTypeId","processTrucktypesByAgreementId","RankingTruckTypesDto","processAgreementLimitingDates","AgreementLimitingDatesDto","processAgreementToDates","AgreementToDateDto","ranking","processSaveRanking","processHighestRank","processAgreementPeriods","AgreementPeriodDto","processRankedSuppliersByAgreementroute","RankedSupplierDto","searchDate","processExportSupplierRoutePrices","AgreementsSupplierClient","SupplierAgreementContainerDto","RoutingClient","county","zipcode","address","processAddressSuggestions","SuggestionDto","fromCountry","fromCounty","fromZipcode","fromAddress","toCountry","toCounty","toZipcode","toAddress","processItinerary","ItineraryDto","AgreementRoutesClient","AgreementRouteDto","agreementStart","processListForProcurement","AgreementRouteForProcurementDto","processSuppliersForProcurement","createAgreementRouteDto","processAgreementRouteExists","processCreateAgreementRoute","processTags","tags","processSaveTags","phrases","processSaveStandardPhrases","defaultMandatoryFlags","processSaveDefaultMandatoryFlags","processSaveHiddenStatus","connectedTruckTypes","processSaveConnectedTrucktypes","estimates","processSaveEstimateAgreementRoutes","processEstimateFromHistoricalPeriod","EstimateFromHistoricalPeriodDto","processImportEstimateFromExcel","ImportedEstimatesDto","processExportEstimateToExcel","processExportAllToExcel","processArchiveOrDelete","_data","supportAdminLevel","userConfigurations","UserConfigurationDto","actorConfigurations","ActorConfigurationDto","actorName","actorCargoTypes","init","UserConfigurationType","subTypeId","ActorConfigurationType","Culture","CargoType","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","iteration","questionGroups","QuestionGroupDto","Question","questions","Currency","survey","loadUserName","respondentName","respondentRole","answerDate","pointsPercentage","completed","supplierName","surveyAnswerRows","SurveyAnswerRowDto","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","price","LoadStatus","AgreementSearchCriteriaDto","invoicePrice","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","SaveDiskFileToDocumentDto","MessageTextModel","body","mailAddress","sendDate","preferedSendDate","retryCount","attachemnts","EmailAttachmentModel","EmailSearchCriteria","withRetries","topMailCount","emailAddressFilter","fromDate","toDate","RenderTemplateDto","template","methods","ExplorerSelectionMethodOptionDto","loadStatuses","ExplorerSelectionLoadStatusOptionDto","clients","ExplorerNodeType","guid","color","children","PublishSpeed","ExplorerSearchCriteria","client","routeId","routeName","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","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","QualityPointsData","clientQP","systemQP","validQP","PerformanceQPParameter","agreementRouteID","agreementID","cargoTypeID","truckTypeID","clientID","supplierID","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","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","accumulate","monthsInGroup","truckTypes","units","splitBookingFeeType","deviationCauses","otherPriceCauses","stackYears","MegaReportExportDto","title","rowHeaders","columns","MegaReportExportColumnDto","heading","values","actorsCount","actors","ActorAddedInfoDto","ActorSearchCritera","HeatMapSearchCriteria","hoursPerGroup","integrationUser","activeUsers","activeClients","activeSuppliers","activeCustomers","activeTerminals","activeIntegrationUsers","ActiveUsersStatisticsSearchCriteria","precision","TriggerState","isEnabled","lockoutEnd","accessFailedCount","lastActivityDate","createdDate","previousFireTime","nextFireTime","triggerState","repeatInterval","startAt","timesTriggered","FuelIndexType","BackgroundTaskDto","loacationAndAgreementRouteLastModified","BroadcastDto","secondsLeft","pickupLocationId","deliveryLocationId","hasAgreement","mandatoryPickUpDateRequiredDefaultValue","mandatoryDeliveryDateRequiredDefaultValue","predefinedPickupInfo","predefinedDeliveryInfo","AgreementRouteSearchCriteria","agreementDate","TruckTypeSearchCriteria","IndexValueDto","validFrom","CountryISO","LoadFilterDaysBack","LoadFilterDaysForward","NotificationFilterType","QualityPointsReportSplit","QualityPointsOrderBy","QualityPointsRowDto","pointsPerformance","pointsTotal","QualityPointsSearchCriteriaContainer","QualityPointsSearchCriteria","split","SubjectiveQPParameter","surveyPoints","fairTransportPoints","AgreementHistoryType","pickupCountryAsEnum","deliveryCountryAsEnum","deliveryZipcode","pickupZipcode","tag","currencyName","baseIndexName","alteredDate","alteredBy","alteredType","RankingAgreementRowDto","unitBasePrice","currentRankingType","qualityPointsRankingType","parameterFactor","PriceFilter","ClientAgreementSearchCriteria","currencyType","priceFilter","pickupLocationCounty","deliveryLocationCounty","pickupLocationZipCode","deliveryLocationZipCode","unitBasePriceDate","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","SupplierProcurementRowDto","importInfo","ImportInfoDto","estimate","originalShare","originalStopPrice","originalServiceFee","originalNote","prevShare","prevStopPrice","prevNote","messageToSuppliers","priceRows","SupplierProcurementPriceRowDto","prevPriceRows","originalBasePrice","originalInitialFee","errors","SupplierExcelImportErrorMessage","errorMessage","subMessages","SupplierProcurementSearchCriteriaContainer","SupplierProcurementSearchCriteria","daysForward","pickupCountries","deliveryCountries","closedProcurements","LoadValuePermission","SupplierProcurementPriceDto","SupplierGivenPriceDto","rankedSupplierIds","CreateSpotTenderDto","endDate","dates","LoadClientEditDatesDto","deliverEarliest","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","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","CostReportOrderBy","userDisplayName","usageCount","agreementRoutesDeliveryInfos","CargoTypeAndRouteInfoDto","agreementRoutesPickupInfos","agreementRoutesSpecialRequirements","cargoTypeName","numLoads","numBroadcasts","avgRanking","CostReportPrices","CostReportRowDto","total","avg","perKm","totalPrice","avgPrice","pricePerVolume","pricePerKm","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","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","treated","refNo","history","InvoiceTreatedAndRefrenceHistoryDto","priceSum","InvoiceReportSearchCriteriaContainer","InvoiceReportSearchCriteria","treatedStatuses","DistanceReportOrderBy","InvoiceTreatedRefNoDto","DistanceReportRowDto","totalDistance","avgDistance","totalEmission","avgEmission","numLoadsFT","distanceFT","numLoadsWithDistance","DistanceReportSearchCriteriaContainer","DistanceReportSearchCriteria","mergeTruckTypes","CostForecastRankMethod","ProcurementAnalyticsAgreementRouteDto","prevAgreementId","prevFromDate","prevToDate","prevEstimate","ProcurementAnalyticsTruckTypeDto","supplierRows","ProcurementAnalyticsSupplierRowDto","prevPrice","prevRank","priceDiff","priceDiffShare","ProcurementAnalyticsSearchCriteriaContainer","ProcurementAnalyticsSearchCriteria","agreementValidDate","CostForecastRowDto","prevAgreementFrom","prevAgreementTo","prevNumLoads","prevNumContainers","prevAvgPrice","prevTotalPrice","prevTotalProjectedPrice","prevAvgRank","truckTypeLoadShares","CostForecastTruckTypeLoadShareDto","noOfSuppliersInAveragePrice","loadShare","CostForecatReportSearchCriteriaContainer","CostForecastSearchCriteria","costForecastRankMethod","ClientMonitoringOrderBy","ClientMonitoringRowDto","ClientMoitoringReportSumsDto","loadedCount","daysRegToPickupEarliest","daysRegToDelivLatest","canceledCount","deviatedCount","broadcastCount","directBookedCount","spotTenderCount","averageRanking","canceled","deviated","directBooked","spotTender","shareCanceled","shareDeviated","shareBroadcast","shareDirectBooked","shareSpotTender","ClientMonitoringSearchCriteriaContainer","ClientMonitoringSearchCriteria","AnnulledLoadsReportOrderBy","AnnulledLoadsReportRowDto","annulledDate","annulledBy","AnnulledLoadsReportSearchCriteriaContainer","AnnulledLoadsReportSearchCriteria","LoadingSlotType","cargoLoadings","CargoLoadingDto","viewDate","kilograms","loadingDockIds","loadingDockNames","LoadingSlotDto","cargoLoadingId","loadingDockId","bookedActorId","bookedByLoadUserId","startDate","kilogramsBefore","kilogramsAfter","contacts","loadingDockToFillId","MessageType","LoadingDockCalendarsSearchCriteria","cargoLoadingToBook","premisedBookings","cargoLoadingsFromDbToIgnore","now","AnonymousLoadingDockCalendarsSearchCriteria","LoadingSlotSaveDtoContainer","LoadingSlotSaveDto","AnonymousLoadingSlotSaveDtoContainer","BlockingSaveDto","BlockingDeleteDto","termsOfAgreement","TermsOfAgreementDocumentDto","invoicingInformation","TermsOfAgreementRouteDto","DocumentGroupSaveDto","DocumentSaveDto","owner","CreateDirectMessageDto","AgreementSupplierOrderBy","numUsers","cargoTypesWithAgreement","regLoadUserName","DirectMessagingDocumentDto","recipients","viewed","noOfLoads","procurementCounts","ProcurementCountDto","ProcurementPeriodDto2","prevAgreementEnd","nextAgreementStart","RankingAgreementSaveDto","RankingAgreementRowSaveDto","time","declined","RankingSearchCriteria","SupplierAgreementRowDto","SupplierAgreementSearchCriteriaContainer","SupplierAgreementSearchCriteria","ArchivableOrDeletableStatus","fromExactness","toExactness","agreementPeriods","estimateFromHistoricalPeriod","statusChangedBy","archivableOrDeletableStatus","PublishRuleType","CreateAgreementRouteDto","TagDto","AgreementRouteStandardPhraseSaveDto","DefaultMandatoryFlagsDto","SaveAgreementRouteStatusHiddenDto","hideShowAgreementRoutes","StatusDto","saveAnyway","ConnectedTruckTypesDto","EstimateDto","EstimateFromHistoricalPeriodSearchCriteria","actorInfo","openingHours","publishRuleRows","PublishRuleRowDto","publishRuleType","delay","DayType","workingHours","WorkingHoursDto","holidays","HolidayDto","start","stop","dayType","trim","ApiException","isApiException","obj","Vue","use","VueI18n","defaultLocale","English","messages","assign","en","Swedish","sv","Finnish","fi","Norwegian","no","i18n","fallbackLocale","langs","image","require","shortCode","priorities","localeCode","find","bestLang","locales","lang","bestLocale","includes","x","Sound","userInfoFromProfileDto","profile","AgreementDataDtoX","selectable","procurementEditable","isBetween","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","Ordered","Booked","Loaded","Delivered","Annulled","loadListTabSortOrder","LoadListTab","defaultHeaders","Client","defaultHeadersClient","Supplier","defaultHeadersSupplier","Customer","defaultHeadersCustomer","Terminal","defaultHeadersTerminal","neverHappens","PickupLocationFormatted","DeliveryLocationFormatted","NumExtraStops","TruckTypeName","PickupEarliest","DeliveryLatest","TransportNo","Unit","ReferenceNo","Id","BookedPickupDate","SupplierName","LoadedDate","BookedDeliveryDate","DeliveryDate","AlterDate","SpotTenderEndDate","VisibleToNextSupplier","ClientName","NumRelatedLoads","Config","config","cfg","cp","hostname","getParameter","getInstance","auth","authority","redirectUriBase","scope","docsUrl","_browsingMobile","pathname","startsWith","_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","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","actorTypeName","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","MissingAgreement","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","BookedDate","DeliverDate","PickupLatest","DeliveryEarliest","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","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","momentFromString","filterType","daysBack","OnlyPublished","OnlySpotTenders","NoFilter","filterDate","specReq","agreementEnd","startOfMonth","endOfMonth","Actors","Bookings","addMonths","tt","truckTypesByCargoType","flatMap","currencies","addDays","substring","indexOf","confs","userConfModule","sort","entry","createUserConf","isNaN","Number","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","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","langImg","changeLang","extend","props","Boolean","computed","languages","localStorage","setItem","$store","saveLanguage","reload","mounted","getItem","component","VBtn","VIcon","VImg","VList","VListItem","VListItemContent","VMenu","activeWebUsers","tooltip","join","fetchActiveUsers","activeUsersNow","$nextTick","intervalId","setInterval","destroyed","clearInterval","VTooltip","String","Language","ActiveUsersNow","screenWidth","hideArrows","allowedToMutateUser","getTitle","$emit","open","VBadge","VListItemIcon","VSpacer","VToolbarTitle","VToolbar","VListItemTitle","stringCompare","aNum","Infinity","bNum","stringSearchHit","query","mustStartWith","terms","transform","texts","termsNotInText","term","termIsInText","toLocaleLowerCase","replaceAll","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","VDivider","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","set","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","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","BookingDate","RegNo","BookingNo","BookedPickupInfo","sortable","hoveredHeader","transparent","sortedBy","hovered","flipped","sortedDesc","estimatedNoOfLoadsTextShort","types","autocomplete","dropdownItems","dropdown","dropdownMulti","subtypes","locationMulti","locationCargoType","locationClient","counties","countries","endpointLocationCache","countiesByCargotype","countiesOnAgreementroutes","countiesAndZipcode","countiesStartingWith","pickupCountiesSupportAdmin","zipcodesStartingWith","endpointLongTimeCache","baseIndexPeriods","addressSuggestions","itinerary","endpointShortTimeCache","trucktypesByAgreementrouteid","rankedSuppliersByAgreementroute","agreementRoutes","suppliersForSupportAdmin","customers","terminals","loadSearch","cache","isLocationType","endpoint","isShortTimeType","isLongTimeType","clearCacheIfNeeded","timestamp","isLessThanSecondsOld","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","iso","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","CustomTableHeader","CustomFilter","EllipsisTableItem","LoadDots","LoadInfoIcons","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","Checkbox","nextVisible","loadingSlotsText","supplierRank","forEach","shortDateTimePrintSeparated","viewClient","viewSupplier","viewCustomer","actorIdToView","actorTypeToView","disableOnEmpty","openDocuments","tabIndexById","countryName","viewingClient","viewingSupplier","rule","holiday","hoursAndMinutes","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","invalid","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","eventDate","setDate","closeDate","closeTime","moreMinutes","hourClass","setHours","minuteClass","setMinutes","originalValue","updateOnClose","timeOk","NaN","hourOptions","minuteOptions","hour","parseInt","hourMinutes","hm","minute","TimePickerDialog","invalidText","gteToday","gteNow","gteDates","gteText","lteDate","lteText","withTime","toDateString","dstring","toMoment","timePoints","addHours","validations","validMoment","greaterThanEqualToday","greaterThanEqualNow","greaterThanEqual","lessThanEqual","addMinutes","datePicker","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","Set","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","newVal","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","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","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","shortTimePrint","$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","base","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","toMomentX","baseIndexPeriod","indexPeriods","indexPeriod","currValues","NordicFuel","ContinentalFuel","EuroCurrency","labels","fuelIndexes","fromAsDate","cubicInterpolationMode","borderColor","raw","changeDates","fetchIndexPeriods","fetchBaseIndexPeriods","phone","imageData","openImage","bold","italic","generateParts","parts","img","fetchImage","images","Headers","fetch","arrayBuffer","binary","bytes","Uint8Array","len","byteLength","fromCharCode","base64","btoa","NewsSheet","fetchNews","listSimple","updateLastRead","updateLastNewsRead","userGuideLink","sendDto","removeFile","listFiles","chooseFiles","sendInProgress","send","attachedFiles","fetchPreSupport","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","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","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","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","end","valueForChangeDetection","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","agreementToDates","baseIndexText","resetPage","procurementCreated","goToProcurements","createProcurement","routesForDialog","atd","agreementEndText","emitValidity","checkAllState","filters","checkOne","idsVisible","selectedIdsNotVisible","CreateProcurementAgreementRoutesTable","period","pauseText","fromGte","today","qpRanking","lastPeriod","removePeriod","addPeriod","fixDates","pauseDuration","pauseStart","pauseEnd","pop","prevPeriod","routesWithTagText","listHeight","tagGroups","CreateProcurementAgreementPeriod","CreateProcurementAgreementRoutes","CreateProcurementProcurementPeriods","CreateProcurementAgreementRoutesDialog","CreateProcurementSuppliers","CreateProcurementReview","valuesAffectingDbFetch","validateLists","procurementStart","fetchBaseIndexName","fetchAgreementToDates","isWorkingWithDraft","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","newPeriod","qualityPointsMethodSelected","addProcurementPeriod","AgreementSearch","ProcurementTable","ProcurementActions","RankingDialog","NewProcurementPeriodDialog","dirtyTable","bySearchCriteria","selected","newIndex","rankByQualitypoints","createAgreementCallback","removeSupplierCallback","highestRank","suppliersInProcurements","agreementContainer","momentFromDateString","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","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","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","minNumRules","dayTypeIncluded","getWorkingHours","getTime","selectedYear","hasPassed","holidayRules","isAllDay","toggleAllDay","removeHoliday","firstOkDay","addHoliday","selectedTimeOk","HolidayDtoX","dto","originalDate","TimePickerDuration","holidaysDuringYear","originalDayTypeIncluded","originalWorkingHours","originalHolidays","newDate","toDuration","holidayToRemove","saveClientSchedule","WorkingHoursEditDialog","changedValues","originalRulesAsJSON","originalRules","delayPrevLevel","roundValues","savePublishRules","nodeType","docName","clientDocumentsForSuppliers","VTreeview","cldVersionData","Branch","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","cargoTypeRules","fetchOrgNumbers","editForm","orgNumbers","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","clearConfigurations","resetLockout","resetCredentialsLink","ActorEditDialog","filteredActorsList","fetchPriceRow","fetchPublishInfo","isStatusOrdered","pricerowByLoadid","publishInfo","emptyFilter","ExplorerDialogLoadDetails","filteredRows","Snow","DashboardLoadsDialog","loadStatusInfo","procurementStatusInfo","agreementStatusInfo","refreshDate","fetchCurrentLoads","fetchProcurements","fetchAgreements","fetchBuildInfo","currentLoads","cldVersionPath","ok","versionData","exportSelectionToExcel","createNewActor","setFilteredActorsList","createActorActorType","createActor","emptyActor","ActorCreateDialog","listForSupportAdmin","filteredList","exportSelectionForSupportAdmin","exportForSupportAdmin","toggles","scrollToTop","augmentedAgreements","invoicePriceTooltip","megaUserTooltip","openActorDialog","editingAgreementId","editingSupplierId","editingAgreements","updateModels","valuesToWatch","stopPriceEnabled","serviceFeeEnabled","initialFeeEnabled","updatePrice","AgreementListEditDialog","sortedAgreements","filteredAgreements","ttHeaders","arow","statHeaders","AgreementListSearch","AgreementListTable","itemClicked","selectedItem","advancedSelection","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","dateRule","feeTypeGroups","feeTypeGroupChanged","feeTypeGroup","markAsInvoiced","selectedRow","invoiceRecipientName","sql","InvoiceGeneratorLoadIdsDialog","invoiceRecipient","monthlyFees","annualFees","InvoiceGeneratorTable","totals","getFeeTypes","generate","exportInvoice","earthquake","earthquakeMode","logging","toll","checkEmails","getUsersToFix","usersLeftToFix","logTest","badEmails","fixUsers","fetchJobs","stopAll","startSafe","frequentJobs","updateJob","runJob","nightJobs","isNightJobs","job","timePrint","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","checkMade","countyTexts","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","chartTypeItems","monthInGroupItems","countyItems","countryItems","extraStopsItems","piealog","pieChartData","pieChartTitle","backgroundColor","dialogPresetId","preset","copyCriteria","deviationNull","unitNull","unitEmpty","MegaReportPresetThing","PieChart","Containers","BookingFees","FreightPrices","AvgFreightPrice","AvgFreightPricePerVolume","PercentDelivered","PercentBookedPickup","PercentBookedDelivery","PercentHasDistanceLoad","PercentHasDistanceRoute","PercentEconomy","PercentBroadcast","PercentHasOtherPrice","statistics","monthNamePrint","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","day","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","eventClicked","TimePicker","bookedSiloOne","eventsToBook","loadedOrDeliveredText","dots","annulledText","tick","repeat","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","ActorList","AgreementList","MailViewer","QualityPointsVis","QualityPointsWeights","SupportAdminDocuments","PowerButtons","BackgroundTasks","EditNews","SupportAdminNews","MailTemplate","Playground","ButWhy","IndexComponents","AddToProcurements","AddLocation","ActorSigning","MegaReport","SupportAdminActors","InvoicedFeesReport","ActiveUsers","beforeEach","internetExplorerRedirect","handleAuthCallbacks","needsSiteSwitch","paths","ua","msie","trident","Vuetify","primary","iconfont","theme","themes","productionTip","vuetify","App","$mount"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAKnBhB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASS,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAU6B,QAGnC,IAAIC,EAASF,EAAiB5B,GAAY,CACzCK,EAAGL,EACH+B,GAAG,EACHF,QAAS,IAUV,OANAf,EAAQd,GAAUW,KAAKmB,EAAOD,QAASC,EAAQA,EAAOD,QAASH,GAG/DI,EAAOC,GAAI,EAGJD,EAAOD,QAKfH,EAAoBM,EAAIlB,EAGxBY,EAAoBO,EAAIL,EAGxBF,EAAoBQ,EAAI,SAASL,EAASM,EAAMC,GAC3CV,EAAoBW,EAAER,EAASM,IAClC3B,OAAO8B,eAAeT,EAASM,EAAM,CAAEI,YAAY,EAAMC,IAAKJ,KAKhEV,EAAoBe,EAAI,SAASZ,GACX,qBAAXa,QAA0BA,OAAOC,aAC1CnC,OAAO8B,eAAeT,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DpC,OAAO8B,eAAeT,EAAS,aAAc,CAAEe,OAAO,KAQvDlB,EAAoBmB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQlB,EAAoBkB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKxC,OAAOyC,OAAO,MAGvB,GAFAvB,EAAoBe,EAAEO,GACtBxC,OAAO8B,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOlB,EAAoBQ,EAAEc,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIRtB,EAAoB0B,EAAI,SAAStB,GAChC,IAAIM,EAASN,GAAUA,EAAOiB,WAC7B,WAAwB,OAAOjB,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAJ,EAAoBQ,EAAEE,EAAQ,IAAKA,GAC5BA,GAIRV,EAAoBW,EAAI,SAASgB,EAAQC,GAAY,OAAO9C,OAAOC,UAAUC,eAAeC,KAAK0C,EAAQC,IAGzG5B,EAAoB6B,EAAI,IAExB,IAAIC,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAW3C,KAAKsC,KAAKK,GAC5CA,EAAW3C,KAAOf,EAClB0D,EAAaA,EAAWG,QACxB,IAAI,IAAItD,EAAI,EAAGA,EAAImD,EAAWjD,OAAQF,IAAKP,EAAqB0D,EAAWnD,IAC3E,IAAIU,EAAsB2C,EAI1BzC,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,6ECvJT,W,kt3GCAA,W,oCCAA,W,0LCAA,W,oCCAA,W,kCCAA,W,oCCAA,W,2DCAA,W,wICAA,W,oCCAA,W,kCCAA,W,6DCAA,W,yDCAA,W,kCCAA,W,oCCAA,W,8DCAA,W,kFCAA,W,kCCAA,W,0LCAA,W,6DCAA,W,4CCAA,IAAIyC,EAAM,CACT,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,WAAY,OACZ,cAAe,OACf,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,QAAS,OACT,WAAY,OACZ,OAAQ,OACR,UAAW,OACX,QAAS,OACT,WAAY,OACZ,QAAS,OACT,aAAc,OACd,gBAAiB,OACjB,WAAY,OACZ,UAAW,OACX,aAAc,OACd,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,UAAW,OACX,OAAQ,OACR,YAAa,OACb,eAAgB,OAChB,UAAW,OACX,OAAQ,OACR,UAAW,OACX,aAAc,OACd,gBAAiB,OACjB,OAAQ,OACR,UAAW,OACX,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,OACd,UAAW,OACX,aAAc,QAIf,SAASC,EAAeC,GACvB,IAAIC,EAAKC,EAAsBF,GAC/B,OAAOpC,EAAoBqC,GAE5B,SAASC,EAAsBF,GAC9B,IAAIpC,EAAoBW,EAAEuB,EAAKE,GAAM,CACpC,IAAIG,EAAI,IAAIC,MAAM,uBAAyBJ,EAAM,KAEjD,MADAG,EAAEE,KAAO,mBACHF,EAEP,OAAOL,EAAIE,GAEZD,EAAeO,KAAO,WACrB,OAAO5D,OAAO4D,KAAKR,IAEpBC,EAAeQ,QAAUL,EACzBlC,EAAOD,QAAUgC,EACjBA,EAAeE,GAAK,Q,oCCnSpB,W,oCCAA,W,2DCAA,W,oCCAA,W,skwGCAA,W,oCCAA,W,oCCAA,W,uHCAAjC,EAAOD,QAAU,IAA0B,iC,oCCA3C,W,6DCAA,W,oFCAA,W,kFCAA,W,oCCAA,W,2DCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,gDCA3CC,EAAOD,QAAU,IAA0B,0B,6GCA3C,W,oCCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,gFCA3C,W,oCCAA,W,oCCAA,Y,2DCAA,W,6DCAA,W,oCCAA,W,6DCAA,W,6DCAA,W,gDCAAC,EAAOD,QAAU,IAA0B,gC,oCCA3C,W,oCCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,wC,kCCA3C,W,oCCAA,W,6DCAA,W,oCCAA,W,kCCAA,W,oCCAA,W,6DCAA,W,6DCAA,W,oCCAA,W,uBCAAC,EAAOD,QAAU,IAA0B,0B,oCCA3C,W,oCCAA,W,oCCAA,W,6DCAA,W,+GCAA,W,2DCAA,W,oCCAA,W,oCCAA,W,sICAA,W,s7oGCAA,W,oCCAA,W,kCCAA,W,2JCAA,W,oCCAA,W,oCCAA,W,oCCAA,W,6DCAA,W,oCCAA,W,qFCAA,W,kCCAA,W,yDCAA,W,kCCAA,W,kCCAA,W,uGCAA,W,qJCAA,W,gFCAA,W,kCCAA,W,yDCAA,W,gFCAA,W,gFCAA,W,yDCAA,W,qJCAA,W,kCCAA,W,kCCAA,W,kCCAA,W,2kHCAI,EAAS,WAAa,IAAIyC,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,GAAMV,GAAG,CAAC,KAAOV,EAAIqB,mBAAmBjB,EAAG,SAASA,EAAG,eAAe,CAACE,MAAM,CAAC,oBAAsBN,EAAIsB,uBAAuBlB,EAAG,aAAaA,EAAG,mBAAmB,CAAsB,IAApBJ,EAAIQ,KAAKvE,QAAiB+D,EAAIS,yBAAqGI,IAA5Bb,EAAIuB,oBAAmCnB,EAAG,YAAY,CAACE,MAAM,CAAC,OAASN,EAAIuB,uBAAuBnB,EAAG,MAAM,CAACQ,YAAY,2CAA2C,CAACR,EAAG,eAAeA,EAAG,cAAc,CAACE,MAAM,CAAC,KAAON,EAAIwB,oBAAoB,GAAlSpB,EAAG,UAAU,CAACE,MAAM,CAAC,KAAO,IAAI,aAAa,OAAyP,IAAI,GAAIN,EAAU,OAAEI,EAAG,gBAAgBJ,EAAIyB,MAAM,IAC3kCC,EAAkB,G,qYCEtB,IAAMC,EAAU,sBACVC,EAAU,sBAIVC,EAAO,WAGX,WAAYC,EAAsBC,GAAe,UAC/C9B,KAAKvC,EAAIsE,IAAWF,EAAOC,GAAQE,KAAI,GACnChC,KAAKvC,EAAIsE,IAAWL,GAASM,KAAI,GACnChC,KAAKvC,EAAIsE,IAAWL,GAASM,KAAI,GACxBhC,KAAKvC,EAAIsE,IAAWJ,GAASK,KAAI,KAC1ChC,KAAKvC,EAAIsE,IAAWJ,GAASK,KAAI,IAsLpC,OApLA,wBAEO,WAEN,OAAOD,IAAW/B,KAAKvC,GAAGuE,KAAI,KAC/B,wBACO,SAAWrE,GACjB,OAAOoE,IAAWpE,EAAEF,GAAGuE,KAAI,KAC5B,sBACD,SAASC,GACP,OAAOjC,KAAKkC,QACTD,OAAOA,GACPH,OAAO,UACX,2BACD,SAAcG,GACZ,OAAOjC,KAAKkC,QACTD,OAAOA,GACPH,OAAO,SACX,4BACD,SAAeG,GACb,OAAOjC,KAAKkC,QACTD,OAAOA,GACPH,OAAO,UACX,0BACD,WACE,MAAO,IAAM9B,KAAKkC,QAAQC,YAC3B,gCACD,SAAmBF,GACjB,OAAOjC,KAAKkC,QACTD,OAAOA,GACPH,OAAO,eACX,8BACD,WACE,OAAO9B,KAAKoC,YAAc,IAAMpC,KAAKqC,iBACtC,uBACD,WACE,OAAOrC,KAAKkC,QAAQJ,OAAO,UAC5B,uBACD,WACE,OAAO9B,KAAKkC,QAAQJ,OAAO,gBAC5B,uBACD,WACE,OAAO9B,KAAKkC,QAAQJ,OAAO,cAC5B,4BACD,WACE,OAAO9B,KAAKkC,QAAQJ,OAAO,WAC5B,2BACD,WACE,OAAO9B,KAAKkC,QAAQJ,OAAO,yBAC5B,2BACD,SAAcG,GACZ,OAAOjC,KAAKkC,QACTD,OAAOA,GACPH,OAAO,gBACX,gCACD,SAAmBG,GACjB,OAAOjC,KAAKkC,QACTD,OAAOA,GACPH,OAAO,WACX,gCACD,WACE,OAAO9B,KAAKkC,QAAQJ,OAAO,sBAC5B,yCACD,WACE,OAAO9B,KAAKkC,QAAQJ,OAAO,uBAC5B,sCACD,SAAyBnE,EAAYsE,GACnC,MAAO,GAAP,OAAUtE,EAAE2E,qBAAoB,cAAMtC,KAAKuC,GAAG5E,EAAGsE,GAAO,OACzD,gBACD,SAAGtE,EAAYsE,GACb,OAAOjC,KAAKkC,QACTD,OAAOA,GACPM,GAAGvC,KAAKwC,WAAW7E,MACvB,qBACD,WACE,OAAOqC,KAAKkC,QAAQO,YACrB,mBACD,WACE,OAAOzC,KAAKkC,QAAQQ,UACrB,kBACD,WACE,OAAO1C,KAAKkC,QAAQS,SACrB,mBACD,WACE,OAAO3C,KAAKkC,QAAQU,UACrB,kBACD,WACE,OAAO5C,KAAKkC,QAAQW,SACrB,uBACD,SAAUH,GACR,OAAO,IAAId,EAAQ5B,KAAKkC,QAAQQ,MAAMA,MACvC,yBACD,SAAYD,GACV,OAAO,IAAIb,EAAQ5B,KAAKkC,QAAQO,QAAQA,MACzC,wBACD,WACE,OAAO,IAAIb,EAAQ5B,KAAKkC,QAAQY,QAAQ,UACzC,sBACD,WACE,OAAO,IAAIlB,EAAQ5B,KAAKkC,QAAQa,MAAM,UACvC,0BACD,WACE,OAAO,IAAInB,EAAQ5B,KAAKkC,QAAQY,QAAQ,YACzC,wBACD,WACE,OAAO,IAAIlB,EAAQ5B,KAAKkC,QAAQa,MAAM,UAAUC,aACjD,yBACD,WACE,OAAO,IAAIpB,EAAQ5B,KAAKkC,QAAQY,QAAQ,WACzC,uBACD,WACE,OAAO,IAAIlB,EAAQ5B,KAAKkC,QAAQa,MAAM,SAASC,aAChD,wBACD,SAAWC,GACT,OAAO,IAAIrB,EAAQ5B,KAAKkC,QAAQgB,IAAID,EAAQ,cAC7C,wBACD,SAAWA,GACT,OAAO,IAAIrB,EAAQ5B,KAAKkC,QAAQgB,IAAID,EAAQ,cAC7C,sBACD,SAASA,GACP,OAAO,IAAIrB,EAAQ5B,KAAKkC,QAAQgB,IAAID,EAAQ,YAC7C,qBACD,SAAQA,GACN,OAAO,IAAIrB,EAAQ5B,KAAKkC,QAAQgB,IAAID,EAAQ,WAC7C,uBACD,SAAUA,GACR,OAAO,IAAIrB,EAAQ5B,KAAKkC,QAAQgB,IAAID,EAAQ,aAC7C,sBACD,SAASA,GACP,OAAO,IAAIrB,EAAQ5B,KAAKkC,QAAQgB,IAAID,EAAQ,YAC7C,+BACD,WACE,IAAMtF,EAAIqC,KAAKkC,QACZY,QAAQ,UACRI,IAAI,EAAG,UACV,OAAO,IAAItB,EAAQjE,GAAGwF,YAAYxF,EAAE8E,UAAa9E,EAAE8E,UAAY,KAChE,kBACD,SAAKE,GACH,OAAO3C,KAAKkC,QAAQkB,KAAKT,EAAKU,YAAa,UAC5C,uBACD,SAAUC,EAAgBC,GACxB,OAAOvD,KAAKwD,cAAcF,IAAUtD,KAAKyD,eAAeF,KACzD,oBACD,SAAOZ,GACL,OAAO3C,KAAKkC,QAAQwB,SAAWf,EAAKe,SACrC,sBACD,SAASf,GACP,OAAO3C,KAAKkC,QAAQwB,OAASf,EAAKe,SACnC,4BACD,SAAef,GACb,OAAO3C,KAAKkC,QAAQwB,QAAUf,EAAKe,SACpC,qBACD,SAAQf,GACN,OAAO3C,KAAKkC,QAAQwB,OAASf,EAAKe,SACnC,2BACD,SAAcf,GACZ,OAAO3C,KAAKkC,QAAQwB,QAAUf,EAAKe,SACpC,kCACD,SAAqBC,GACnB,OAAO3D,KAAK0D,QAAS,IAAI9B,GAAU8B,OAASC,IAC7C,qBACD,WACE,OAAO3D,KAAKkC,QAAQ0B,YACrB,yBACD,SAAYC,GACV,OAAO7D,KAAKkC,QAAQ4B,YAAYD,KACjC,oBACD,WACE,OAAO7D,KAAKkC,QAAQ6B,WACrB,sBACD,WACE,OAAO/D,KAAKsC,uBACb,kBACD,WACE,OAAOtC,KAAKkC,QAAQwB,SACrB,wBACD,WACE,OAAO,IAAIM,EACc,KAAvBhE,KAAKkC,QAAQQ,QAAiB,IAAgC,GAAzB1C,KAAKkC,QAAQO,UAAiB,SAEtE,EA9LU,GAmMPuB,EAAS,WAGb,WAAYnC,GAAsB,UAChC7B,KAAKrC,EAAIoE,IAAWkC,SAASpC,GAyD9B,OAxDA,wBAEO,WAEN,OAAOE,IAAWkC,SAASjE,KAAKrC,KACjC,oBAED,SAAOuG,EAAQC,GACb,OACEnE,KAAKoE,QAAQC,OACb,IACArE,KAAKoE,QACF1B,QACA4B,WACAC,SAAS,EAAG,KACf,IACAvE,KAAKoE,QACF3B,UACA6B,WACAC,SAAS,EAAG,KACf,IACAvE,KAAKoE,QACFT,UACAW,WACAC,SAAS,EAAG,KACf,IACAvE,KAAKoE,QACFI,eACAF,WACAC,SAAS,EAAG,OAElB,mBACD,WACE,OAAOvE,KAAKoE,QAAQ1B,UACrB,qBACD,WACE,OAAO1C,KAAKoE,QAAQ3B,YACrB,6BACD,WACE,OACEzC,KAAKoE,QACF1B,QACA4B,WACAC,SAAS,EAAG,KACf,IACAvE,KAAKoE,QACF3B,UACA6B,WACAC,SAAS,EAAG,OAElB,uBACD,WACE,OAAO,IAAI3C,GACR6C,aACAC,UAAU1E,KAAKoE,QAAQ1B,SACvBS,YAAYnD,KAAKoE,QAAQ3B,eAC7B,EA7DY,GA6Efb,EAAQ+C,UAAY,SAAC9C,GACnB,OAAO,IAAID,EAAQG,IAAW4C,UAAU9C,KAE1CD,EAAQgD,SAAW,SAAC/C,GAClB,aAAcjB,IAAViB,GAAiC,OAAVA,IAAkBA,EAAM+C,WAMrDhD,EAAQF,QAAU,WAChB,OAAO,IAAIE,EAAQF,IAErBE,EAAQD,QAAU,WAChB,OAAO,IAAIC,EAAQD,IAErBC,EAAQ8B,KAAO,SAAC7B,GACd,OAAO,IAAID,EAAQG,IAAW2B,KAAK7B,KAGrCD,EAAQqC,SAAW,SAACpC,GAClB,OAAO,IAAImC,EAAUjC,IAAWkC,SAASpC,KAE3CD,EAAQiD,iBAAmB,SAACnC,EAAeD,GACzC,OAAOb,EAAQqC,SAAS,KAAD,OAAMvB,EAAK,YAAID,EAAO,aAGhCb,Q,o9EClTf,8/RAWO,IAs9nBKkD,EAOAC,EAQAC,EAr+nBCC,EAAgB,GACzB,WAAmBC,GAAU,UAAV,KAAAA,WAIVC,EAAc,8BACvB,WAAYC,GAAyB,6BAC3BA,EAAQF,OAajB,OAZA,gEAES,WAAuBG,GAA2B,kEAExD,OADAA,EAAQC,QAAO,OAAQD,EAAQC,SAAO,IAAE,cAAgB,UAAD,OAAYtF,KAAKkF,MAAMK,QAAQC,OAAS,qBAAwBxF,KAAKkF,MAAMK,QAAQE,uBAC1I,kBACOC,QAAQ5F,QAAQuF,IAAQ,gDAClC,sDANA,IAQD,6BACU,SAAgBM,EAAaC,EAA8BC,GAEjE,OADAC,QAAQC,MAAMH,GACPC,EAAUD,OACpB,EAfsB,CAAQX,GA0CtBe,EAAY,8BAKrB,WAAYC,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAikChC,OA/jCA,0BAED,SAASI,GAAyB,WAC1BC,EAAOvG,KAAKkG,QAAU,qBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKC,eAAeD,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYE,GAAWC,OAAOF,GACvB/B,QAAQ5F,QAAoB0H,GAEhC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoB,QACtC,0BAED,SAAa+H,EAA8BvB,GAAyB,WAC5DC,EAAOvG,KAAKkG,QAAU,4BAC1B,GAAgB,OAAZ2B,EACA,MAAM,IAAIlI,MAAM,gDACCiB,IAAZiH,IACLtB,GAAQ,WAAauB,mBAAmB,GAAKD,GAAW,KAC5DtB,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKa,oBAAoBb,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,+BAED,SAAkBP,EAA2B+G,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU3I,GAE5BkH,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiB,yBAAyBjB,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,4BAED,SAAgBwG,GAAyB,WACjCC,EAAOvG,KAAKkG,QAAU,8BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmB,sBAAsBnB,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,mCAED,SAAuBwG,GAAyB,WACxCC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2B,6BAA6B3B,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK2M,GAAqBtB,OAAOqB,KAAO,oCAGvDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAgC0H,GAE5C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgC,QAClD,+BAED,SAAkBoJ,EAAgC5C,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,kCAC1B,GAAmB,OAAfgD,EACA,MAAM,IAAIvJ,MAAM,mDACIiB,IAAfsI,IACL3C,GAAQ,cAAgBuB,mBAAmB,GAAKoB,GAAc,KAClE3C,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiC,yBAAyBjC,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYyB,GAAqBtB,OAAOF,GACjC/B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,mCAED,SAAsBsJ,EAA+B9C,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmC,6BAA6BnC,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kCAED,SAAqBoJ,EAAgC5C,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,oCAC1B,GAAmB,OAAfgD,EACA,MAAM,IAAIvJ,MAAM,mDACIiB,IAAfsI,IACL3C,GAAQ,cAAgBuB,mBAAmB,GAAKoB,GAAc,KAClE3C,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoC,4BAA4BpC,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY+B,GAAwB5B,OAAOF,GACpC/B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,sCAED,SAAyBsJ,EAAkC9C,GAAyB,WAC5EC,EAAOvG,KAAKkG,QAAU,wCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsC,gCAAgCtC,QAEnD,6CAES,SAAgCtB,GACtC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAcQ,EAAqCgG,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,kCACTtF,IAAbN,GAAuC,OAAbA,IAC1BiG,GAAQ,YAAcuB,mBAAmB,GAAKxH,GAAY,KAC9DiG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuC,qBAAqBvC,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAiB0H,GAE7B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiB,QACnC,8BAED,SAAiBQ,EAAqCgG,GAAyB,WACvEC,EAAOvG,KAAKkG,QAAU,qCACTtF,IAAbN,GAAuC,OAAbA,IAC1BiG,GAAQ,YAAcuB,mBAAmB,GAAKxH,GAAY,KAC9DiG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwC,wBAAwBxC,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,oCAED,SAAuB6J,EAAuCrD,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUyB,GAE5BlD,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0C,8BAA8B1C,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,uBAED,SAAU+J,EAAoCvD,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,6CACVtF,IAAZiJ,GAAqC,OAAZA,IACzBtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4C,iBAAiB5C,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKyN,GAAQpC,OAAOqB,KAAO,oCAG1CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmB0H,GAE/B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmB,QACrC,0BAED,SAAaoJ,EAAgC5C,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,0CAC1B,GAAmB,OAAfgD,EACA,MAAM,IAAIvJ,MAAM,mDACIiB,IAAfsI,IACL3C,GAAQ,cAAgBuB,mBAAmB,GAAKoB,GAAc,KAClE3C,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8C,oBAAoB9C,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,oBAED,SAAOoJ,EAAgCe,EAA6B3D,GAAyB,WACrFC,EAAOvG,KAAKkG,QAAU,mCAC1B,GAAmB,OAAfgD,EACA,MAAM,IAAIvJ,MAAM,8CAGpB,QAFwBiB,IAAfsI,IACL3C,GAAQ,cAAgBuB,mBAAmB,GAAKoB,GAAc,KACnD,OAAXe,EACA,MAAM,IAAItK,MAAM,+CACAiB,IAAXqJ,IACL1D,GAAQ,UAAYuB,mBAAmB,GAAKmC,GAAU,KAC1D1D,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgD,cAAchD,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kBAED,SAAKqK,EAAe7D,GAAyB,WACrCC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUiC,GAE5B1D,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkD,YAAYlD,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,iCAED,SAAoBoJ,EAAgC5C,GAAyB,WACrEC,EAAOvG,KAAKkG,QAAU,iDAC1B,GAAmB,OAAfgD,EACA,MAAM,IAAIvJ,MAAM,mDACIiB,IAAfsI,IACL3C,GAAQ,cAAgBuB,mBAAmB,GAAKoB,GAAc,KAClE3C,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmD,2BAA2BnD,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,gCAED,SAAmBoJ,EAAgC5C,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,gDAC1B,GAAmB,OAAfgD,EACA,MAAM,IAAIvJ,MAAM,mDACIiB,IAAfsI,IACL3C,GAAQ,cAAgBuB,mBAAmB,GAAKoB,GAAc,KAClE3C,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoD,0BAA0BpD,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,yBAED,SAAY+J,EAA6BvD,GAAyB,WAC1DC,EAAOvG,KAAKkG,QAAU,yCAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqD,mBAAmBrD,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,6BAED,SAAgB0K,EAAkClE,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,8CAC1B,GAAkB,OAAdsE,EACA,MAAM,IAAI7K,MAAM,kDACGiB,IAAd4J,IACLjE,GAAQ,aAAeuB,mBAAmB,GAAK0C,GAAa,KAChEjE,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuD,uBAAuBvD,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kCAED,SAAqBQ,EAAqCgG,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,wDACTtF,IAAbN,GAAuC,OAAbA,IAC1BiG,GAAQ,YAAcuB,mBAAmB,GAAKxH,GAAY,KAC9DiG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwD,4BAA4BxD,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,UAClC,EA5kCoB,CAAQqF,GAqlCpBwF,EAAmB,8BAK5B,WAAY1E,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA0KhC,OAxKA,0BAED,SAASI,GAAyB,WAC1BC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0D,eAAe1D,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuO,GAAUlD,OAAOqB,KAAO,oCAG5CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAqB0H,GAEjC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqB,QACvC,8BAED,SAAiBgL,EAAgCxE,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,wCAC1B,GAAmB,OAAf4E,EACA,MAAM,IAAInL,MAAM,mDACIiB,IAAfkK,IACLvE,GAAQ,cAAgBuB,mBAAmB,GAAKgD,GAAc,KAClEvE,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6D,wBAAwB7D,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwD,GAAoBrD,OAAOF,GAChC/B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,uBAED,SAAWwG,GAAyB,WAC5BC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+D,iBAAiB/D,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK4O,GAAkBvD,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,UAC/C,EArL2B,CAAQqF,GA+L3BgG,EAAqB,8BAK9B,WAAYlF,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA4NhC,OA1NA,0BAED,SAASI,GAAyB,WAC1BC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0D,eAAe1D,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuO,GAAUlD,OAAOqB,KAAO,oCAG5CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAqB0H,GAEjC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqB,QACvC,yBAED,SAAawG,GAAyB,WAC9BC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkE,mBAAmBlE,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0O,GAAoBrD,OAAOqB,KAAO,oCAGtDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA+B0H,GAE3C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+B,QACjD,wBAED,SAAWuL,EAAkC/E,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,mCAC1B,GAAqB,OAAjBmF,EACA,MAAM,IAAI1L,MAAM,qDACMiB,IAAjByK,IACL9E,GAAQ,gBAAkBuB,mBAAmB,GAAKuD,GAAgB,KACtE9E,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoE,kBAAkBpE,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwD,GAAoBrD,OAAOF,GAChC/B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,oBAED,SAAOyL,EAAqCjF,GAAyB,WAC7DC,EAAOvG,KAAKkG,QAAU,8BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUqD,GAE5B9E,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsE,cAActE,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAvO6B,CAAQqF,GA+O7BsG,EAAc,8BAKvB,WAAYxF,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAsGhC,OApGA,6BAED,SAAYI,GAAyB,WAC7BC,EAAOvG,KAAKkG,QAAU,2BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwE,kBAAkBxE,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmE,GAAyBhE,OAAOF,GACrC/B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,QACpD,kBAED,SAAK8L,EAAgCtF,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,oBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU0D,GAE5BnF,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2E,YAAY3E,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAjHsB,CAAQqF,GAkJtB2G,EAAa,8BAKtB,WAAY7F,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAo9ChC,OAl9CA,uCAED,SAAqB2D,EAA6BvD,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6E,4BAA4B7E,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwE,GAASrE,OAAOF,GACrB/B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,iCAED,SAAqBwG,GAAyB,WACtCC,EAAOvG,KAAKkG,QAAU,mDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+E,2BAA2B/E,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK4P,GAAyBvE,OAAOqB,KAAO,oCAG3DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,mCAED,SAAuBwG,GAAyB,WACxCC,EAAOvG,KAAKkG,QAAU,qDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiF,6BAA6BjF,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,4CAED,SAA+BsM,EAAoB9F,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,+DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkE,GAE5B3F,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmF,sCAAsCnF,QAEzD,mDAES,SAAsCtB,GAC5C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,iCAED,SAAoBwM,EAAiBhG,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,mDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUoE,GAE5B7F,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqF,2BAA2BrF,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,oBAED,SAAO+J,EAA6BI,EAA6B3D,GAAyB,WAClFC,EAAOvG,KAAKkG,QAAU,oCAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,2CAGpB,QAFqBiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC7C,OAAXI,EACA,MAAM,IAAItK,MAAM,+CACAiB,IAAXqJ,IACL1D,GAAQ,UAAYuB,mBAAmB,GAAKmC,GAAU,KAC1D1D,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgD,cAAchD,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,uBAED,SAAU+J,EAA6B2C,EAAgClG,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,wCAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,2CAGpB,QAFqBiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC1C,OAAd2C,EACA,MAAM,IAAI7M,MAAM,kDACGiB,IAAd4L,IACLjG,GAAQ,aAAeuB,mBAAmB,GAAK0E,GAAa,KAChEjG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuF,iBAAiBvF,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,+BAED,SAAmBwG,GAAyB,WACpCC,EAAOvG,KAAKkG,QAAU,gDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwF,yBAAyBxF,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,sCAED,SAAyB8M,EAAyCtG,GAAyB,WACnFC,EAAOvG,KAAKkG,QAAU,8DACRtF,IAAdgM,GAAyC,OAAdA,IAC3BrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2F,gCAAgC3F,QAEnD,6CAES,SAAgCtB,GACtC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,oCAED,SAAuBgN,EAAsCxG,GAAyB,WAC9EC,EAAOvG,KAAKkG,QAAU,uDAC1B,GAAwB,OAApB4G,EACA,MAAM,IAAInN,MAAM,wDACSiB,IAApBkM,IACLvG,GAAQ,mBAAqBuB,mBAAmB,GAAKgF,GAAmB,KAC5EvG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6F,8BAA8B7F,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,oCAED,SAAuBkN,EAAuC1G,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,qDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8E,GAE5BvG,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+F,8BAA8B/F,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,mBAED,SAAOwG,GAAyB,WACxBC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgG,aAAahG,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6Q,GAAcxF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,oDAED,SAAuC+J,EAA6BvD,GAAyB,WACrFC,EAAOvG,KAAKkG,QAAU,yEAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkG,8CAA8ClG,QAEjE,2DAES,SAA8CtB,GACpD,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,kBAED,SAAKuN,EAAkC/G,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,oBAC1B,GAAkB,OAAdmH,EACA,MAAM,IAAI1N,MAAM,kDACGiB,IAAdyM,IACL9G,GAAQ,aAAeuB,mBAAmB,GAAKuF,GAAa,KAChE9G,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKiR,GAAa5F,OAAOqB,KAAO,oCAG/CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,wBAED,SAAW0N,EAA0CpB,EAAoB9F,GAAyB,WAC1FC,EAAOvG,KAAKkG,QAAU,2BAC1B,GAA0B,OAAtBsH,EACA,MAAM,IAAI7N,MAAM,0DACWiB,IAAtB4M,IACLjH,GAAQ,qBAAuBuB,mBAAmB,GAAK0F,GAAqB,KAChFjH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkE,GAE5B3F,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuG,kBAAkBvG,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,qBAED,SAAQ+J,EAA6BvD,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,uBAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwG,eAAexG,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmG,GAAgBhG,OAAOF,GAC5B/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,yBAED,SAAawG,GAAyB,WAC9BC,EAAOvG,KAAKkG,QAAU,2BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0G,mBAAmB1G,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuR,GAAclG,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,qBAED,SAASwG,GAAyB,WAC1BC,EAAOvG,KAAKkG,QAAU,uBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4G,eAAe5G,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuG,GAAgBpG,OAAOF,GAC5B/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,kBAED,SAAKsJ,EAAuB9C,GAAyB,WAC7CC,EAAOvG,KAAKkG,QAAU,mBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkD,YAAYlD,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,0BAED,SAAakO,EAA8B1H,GAAyB,WAC5DC,EAAOvG,KAAKkG,QAAU,6BAC1B,GAAiB,OAAb8H,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+G,oBAAoB/G,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK4R,GAAevG,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,8BAED,SAAiBqO,EAAgC7H,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,iCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUiG,GAE5B1H,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkH,wBAAwBlH,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,4BAED,SAAekO,EAA8B1H,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,+BAC1B,GAAiB,OAAb8H,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmH,sBAAsBnH,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY8G,GAAkB3G,OAAOF,GAC9B/B,QAAQ5F,QAA2B0H,GAEvC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2B,QAC7C,gCAED,SAAmBsJ,EAA4B9C,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqH,0BAA0BrH,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,gCAED,SAAmBP,EAA4B+G,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,kCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU3I,GAE5BkH,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsH,0BAA0BtH,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,sCAED,SAAyBP,EAA4B+G,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU3I,GAE5BkH,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuH,gCAAgCvH,QAEnD,6CAES,SAAgCtB,GACtC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,gCAED,SAAmBsM,EAAoB9F,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkE,GAE5B3F,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwH,0BAA0BxH,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,qCAED,SAAyBwG,GAAyB,WAC1CC,EAAOvG,KAAKkG,QAAU,wCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyH,+BAA+BzH,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,UAC3C,EA/9CqB,CAAQqF,GAy+CrByJ,EAAmB,8BAK5B,WAAY3I,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAiNhC,OA/MA,uBAED,SAAMI,GAAyB,WACvBC,EAAOvG,KAAKkG,QAAU,wCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuS,GAAgBlH,OAAOqB,KAAO,oCAGlDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2B0H,GAEvC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2B,QAC7C,uBAED,SAAU+J,EAA6BvD,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,8CAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4H,iBAAiB5H,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,wBAED,SAAW+J,EAA6BvD,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,+CAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6H,kBAAkB7H,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,0BAED,SAAa+J,EAA6BvD,GAAyB,WAC3DC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8H,oBAAoB9H,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EA5N2B,CAAQqF,GAyO3B8J,GAAiB,8BAK1B,WAAYhJ,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAoYhC,OAlYA,6BAED,SAAWgJ,EAA4C5I,GAAyB,WACxEC,EAAOvG,KAAKkG,QAAU,2CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiI,kBAAkBjI,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8S,GAAiBzH,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,yBAED,SAAYuP,EAA6C/I,GAAyB,WAC1EC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmH,GAE5B5I,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoI,mBAAmBpI,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,uCAED,SAA0BtE,EAAoC8K,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,6DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU1M,GAE5BiL,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqI,iCAAiCrI,QAEpD,8CAES,SAAiCtB,GACvC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAcoP,EAA4C5I,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,gDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,qCAED,SAAwB8M,EAAkCtG,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,2DAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuI,+BAA+BvI,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,+BAED,SAAkB4P,EAAiCpJ,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyI,yBAAyBzI,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,iCAED,SAAoB8P,EAAsCtJ,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,wCAC1B,GAAyB,OAArB0J,EACA,MAAM,IAAIjQ,MAAM,yDACUiB,IAArBgP,IACLrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2I,2BAA2B3I,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,UAClC,EA/YyB,CAAQqF,GAwZzB2K,GAA4B,8BAKrC,WAAY7J,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA6KhC,OA3KA,+BAED,SAAcI,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,2DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6I,oBAAoB7I,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0T,GAAkCrI,OAAOqB,KAAO,oCAGpExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6C0H,GAEzD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6C,QAC/D,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,0DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+I,oBAAoB/I,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK4T,GAAkCvI,OAAOqB,KAAO,oCAGpExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6C0H,GAEzD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6C,QAC/D,wBAED,SAAYwG,GAAyB,WAC7BC,EAAOvG,KAAKkG,QAAU,wDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiI,kBAAkBjI,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6T,GAAgCxI,OAAOqB,KAAO,oCAGlExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2C0H,GAEvD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2C,UAC7D,EAxLoC,CAAQqF,GAgMpCiL,GAAe,8BAKxB,WAAYnK,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA8GhC,OA5GA,uBAED,SAAKmK,EAAyD/J,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY8I,GAAmC3I,OAAOF,GAC/C/B,QAAQ5F,QAA4C0H,GAExD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4C,QAC9D,oBAED,SAAOyQ,EAA2CjK,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,qCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUqI,GAE5B9J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsJ,cAActJ,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYiJ,GAA0B9I,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,UACrD,EAzHuB,CAAQqF,GA2IvBuL,GAAgB,8BAKzB,WAAYzK,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAoqBhC,OAlqBA,mCAED,SAAkBI,GAAyB,WACnCC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyJ,wBAAwBzJ,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsU,GAAiBjJ,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,iCAED,SAAoB+Q,EAAqCvK,GAAyB,WAC1EC,EAAOvG,KAAKkG,QAAU,wCAC1B,GAAwB,OAApB2K,EACA,MAAM,IAAIlR,MAAM,wDACSiB,IAApBiQ,IACLtK,GAAQ,mBAAqBuB,mBAAmB,GAAK+I,GAAmB,KAC5EtK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4J,2BAA2B5J,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuJ,GAA0BpJ,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,6BAED,SAAgBkR,EAAiC1K,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8I,GAE5BvK,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+J,uBAAuB/J,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,kBAED,SAAKoR,EAAqCC,EAAoC7K,GAAyB,WAC/FC,EAAOvG,KAAKkG,QAAU,uBAG1B,QAFgBtF,IAAZsQ,GAAqC,OAAZA,IACzB3K,GAAQ,WAAauB,mBAAmB,GAAKoJ,GAAW,KACtC,OAAlBC,EACA,MAAM,IAAIxR,MAAM,sDACOiB,IAAlBuQ,IACL5K,GAAQ,iBAAmBuB,mBAAmB,GAAKqJ,GAAiB,KACxE5K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsU,GAAiBjJ,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,qBAED,SAAQoR,EAAqC5K,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,+BACVtF,IAAZsQ,GAAqC,OAAZA,IACzB3K,GAAQ,WAAauB,mBAAmB,GAAKoJ,GAAW,KAC5D3K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkK,eAAelK,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsU,GAAiBjJ,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,wBAED,SAAWuR,EAA4B/K,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,8BAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoK,kBAAkBpK,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYoJ,GAAiBjJ,OAAOF,GAC7B/B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,yCAED,SAA6BwG,GAAyB,WAC9CC,EAAOvG,KAAKkG,QAAU,gDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqK,mCAAmCrK,QAEtD,gDAES,SAAmCtB,GACzC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKkV,GAA+B7J,OAAOqB,KAAO,oCAGjExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0C0H,GAEtD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0C,QAC5D,qBAED,SAAQ+Q,EAAqCvK,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,0BAC1B,GAAwB,OAApB2K,EACA,MAAM,IAAIlR,MAAM,wDACSiB,IAApBiQ,IACLtK,GAAQ,mBAAqBuB,mBAAmB,GAAK+I,GAAmB,KAC5EtK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwG,eAAexG,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuJ,GAA0BpJ,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,kBAED,SAAKsJ,EAA+B9C,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,sBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuK,YAAYvK,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,6BAED,SAAgBkR,EAAiC1K,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8I,GAE5BvK,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwK,uBAAuBxK,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,gCAED,SAAmBkR,EAAiC1K,GAAyB,WACrEC,EAAOvG,KAAKkG,QAAU,uCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8I,GAE5BvK,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyK,0BAA0BzK,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,2BAED,SAAcuR,EAA4B/K,GAAyB,WAC3DC,EAAOvG,KAAKkG,QAAU,iCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0K,qBAAqB1K,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuV,GAAgBlK,OAAOqB,KAAO,oCAGlDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2B0H,GAEvC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2B,UAC7C,EA/qBwB,CAAQqF,GAwrBxB2M,GAAiB,8BAK1B,WAAY7L,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAwKhC,OAtKA,yBAED,SAAOmK,EAA+B/J,GAAyB,WACvDC,EAAOvG,KAAKkG,QAAU,uCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6K,cAAc7K,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0V,GAAWrK,OAAOqB,KAAO,oCAG7CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAsB0H,GAElC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,yBAED,SAAYmS,EAAsC3L,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+J,GAE5BxL,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgL,mBAAmBhL,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,kCAED,SAAqBqS,EAA6B7L,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,wDAC1B,GAAgB,OAAZiM,EACA,MAAM,IAAIxS,MAAM,gDACCiB,IAAZuR,IACL5L,GAAQ,WAAauB,mBAAmB,GAAKqK,GAAW,KAC5D5L,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkL,4BAA4BlL,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAnLyB,CAAQqF,GA6MzBkN,GAAe,8BAKxB,WAAYpM,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAwnChC,OAtnCA,mCAED,SAAkBI,GAAyB,WACnCC,EAAOvG,KAAKkG,QAAU,gDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoL,wBAAwBpL,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY+K,GAA4B5K,OAAOF,GACxC/B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,mBAED,SAAMuQ,EAAkC/J,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsL,aAAatL,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKmW,GAAgB9K,OAAOqB,KAAO,oCAGlDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2B0H,GAEvC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2B,QAC7C,kBAED,SAAKuR,EAA4B/K,GAAyB,WAClDC,EAAOvG,KAAKkG,QAAU,oCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwL,YAAYxL,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmL,GAAgBhL,OAAOF,GAC5B/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,yBAED,SAAYuR,EAA4B/K,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,2CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0L,mBAAmB1L,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuW,GAAelL,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,wBAED,SAAWuR,EAA4B/K,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,0CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4L,kBAAkB5L,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKyW,GAAkBpL,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,qBAED,SAAQuR,EAA4B/K,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,uCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8L,eAAe9L,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK2W,GAAetL,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,yBAED,SAAYuR,EAA4B/K,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,4CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgM,mBAAmBhM,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6W,GAAexL,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,8BAED,SAAiBuR,EAA4B/K,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,gDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkM,wBAAwBlM,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK+W,GAAwB1L,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,mCAED,SAAsBuR,EAA4B/K,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoM,6BAA6BpM,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKiX,GAAyB5L,OAAOqB,KAAO,oCAG3DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,8BAED,SAAiBuR,EAA4B/K,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsM,wBAAwBtM,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYiM,GAAmB9L,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,kCAED,SAAqB4T,EAAgCpN,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,sDAC1B,GAAmB,OAAfwN,EACA,MAAM,IAAI/T,MAAM,mDACIiB,IAAf8S,IACLnN,GAAQ,cAAgBuB,mBAAmB,GAAK4L,GAAc,KAClEnN,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyM,4BAA4BzM,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYiM,GAAmB9L,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,2BAED,SAAcuR,EAA4B/K,GAAyB,WAC3DC,EAAOvG,KAAKkG,QAAU,6CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0M,qBAAqB1M,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYqM,GAAiBlM,OAAOF,GAC7B/B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,0BAED,SAAagU,EAAoCxN,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,4CAC1B,GAAuB,OAAnB4N,EACA,MAAM,IAAInU,MAAM,uDACQiB,IAAnBkT,IACLvN,GAAQ,kBAAoBuB,mBAAmB,GAAKgM,GAAkB,KAC1EvN,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6M,oBAAoB7M,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwM,GAAgBrM,OAAOF,GAC5B/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,4BAED,SAAe8P,EAAsCtJ,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,8CAC1B,GAAyB,OAArB0J,EACA,MAAM,IAAIjQ,MAAM,yDACUiB,IAArBgP,IACLrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+M,sBAAsB/M,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0M,GAAoBvM,OAAOF,GAChC/B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,mCAED,SAAsB8P,EAAsCtJ,GAAyB,WAC7EC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAyB,OAArB0J,EACA,MAAM,IAAIjQ,MAAM,yDACUiB,IAArBgP,IACLrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiN,6BAA6BjN,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8X,GAAyBzM,OAAOqB,KAAO,oCAG3DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,sCAED,SAAyB8P,EAAsCtJ,GAAyB,WAChFC,EAAOvG,KAAKkG,QAAU,wDAC1B,GAAyB,OAArB0J,EACA,MAAM,IAAIjQ,MAAM,yDACUiB,IAArBgP,IACLrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmN,gCAAgCnN,QAEnD,6CAES,SAAgCtB,GACtC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKgY,GAA4B3M,OAAOqB,KAAO,oCAG9DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAuC0H,GAEnD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuC,QACzD,uBAED,SAAU4P,EAAiCpJ,GAAyB,WAC5DC,EAAOvG,KAAKkG,QAAU,yCAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqN,iBAAiBrN,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYgN,GAAa7M,OAAOF,GACzB/B,QAAQ5F,QAAsB0H,GAElC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,8BAED,SAAiB4P,EAAiCpJ,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,gDAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuN,wBAAwBvN,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKoY,GAAoB/M,OAAOqB,KAAO,oCAGtDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA+B0H,GAE3C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+B,QACjD,oCAED,SAAuB4P,EAAiCpJ,GAAyB,WACzEC,EAAOvG,KAAKkG,QAAU,sDAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyN,8BAA8BzN,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYoN,GAA+BjN,OAAOF,GAC3C/B,QAAQ5F,QAAwC0H,GAEpD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwC,QAC1D,6BAED,SAAgBuR,EAA4B/K,GAAyB,WAC7DC,EAAOvG,KAAKkG,QAAU,+CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2N,uBAAuB3N,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAnoCuB,CAAQqF,GA2oCvB2P,GAAY,8BAKrB,WAAY7O,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA6GhC,OA3GA,kCAED,SAAiBI,GAAyB,WAClCC,EAAOvG,KAAKkG,QAAU,4CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6N,uBAAuB7N,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0Y,GAA0BrN,OAAOqB,KAAO,oCAG5DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,iCAED,SAAoBmV,EAAsC3O,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,iDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+M,GAE5BxO,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgO,2BAA2BhO,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAxHoB,CAAQqF,GAiIpBgQ,GAAc,8BAKvB,WAAYlP,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA4KhC,OA1KA,2BAED,SAASgJ,EAAkC5I,GAAyB,WAC5DC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkO,gBAAgBlO,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK+Y,GAA0B1N,OAAOqB,KAAO,oCAG5DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,4BAED,SAAeoP,EAAkC5I,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoO,sBAAsBpO,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAcoP,EAAkC5I,GAAyB,WACjEC,EAAOvG,KAAKkG,QAAU,4CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqO,qBAAqBrO,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,UACxC,EAvLsB,CAAQqF,GAiMtBqQ,GAAmB,8BAK5B,WAAYvP,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAyOhC,OAvOA,yBAED,SAAOgJ,EAAqD5I,GAAyB,WAC7EC,EAAOvG,KAAKkG,QAAU,0CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuO,cAAcvO,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYkO,GAAyB/N,OAAOF,GACrC/B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,QACpD,oBAED,SAAOoP,EAAqD5I,GAAyB,WAC7EC,EAAOvG,KAAKkG,QAAU,0CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyO,cAAczO,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,mBAED,SAAM+J,EAA6BvD,GAAyB,WACpDC,EAAOvG,KAAKkG,QAAU,0CAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0O,aAAa1O,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuZ,EAAOlR,UAAUqE,KAAO,oCAG5CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,oBAED,SAAQwG,GAAyB,WACzBC,EAAOvG,KAAKkG,QAAU,0CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4O,cAAc5O,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,UAC3C,EApP2B,CAAQqF,GAiQ3B4Q,GAAgB,8BAKzB,WAAY9P,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAqYhC,OAnYA,+BAED,SAAa8P,EAAqB1P,GAAyB,WACnDC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8N,GAE5BvP,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+O,oBAAoB/O,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0O,GAAyBvO,OAAOF,GACrC/B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,QACpD,0BAED,SAAakW,EAAqB1P,GAAyB,WACnDC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8N,GAE5BvP,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiP,oBAAoBjP,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY4O,GAAyBzO,OAAOF,GACrC/B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,QACpD,iBAED,SAAIkW,EAAqB1P,GAAyB,WAC1CC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU8N,GAE5BvP,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmP,WAAWnP,QAE9B,wBAES,SAAWtB,GACjB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAewG,GAAyB,WAChCC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoP,qBAAqBpP,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKia,GAAkB5O,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,oBAED,SAAO0W,EAAgClQ,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,uCAC1B,GAAmB,OAAfsQ,EACA,MAAM,IAAI7W,MAAM,mDACIiB,IAAf4V,IACLjQ,GAAQ,cAAgBuB,mBAAmB,GAAK0O,GAAc,KAClEjQ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuP,cAAcvP,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kCAED,SAAqBtC,EAA4B8I,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,sDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU1K,GAE5BiJ,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwP,4BAA4BxP,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,kCAED,SAAqBtC,EAA4B8I,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,sDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU1K,GAE5BiJ,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyP,4BAA4BzP,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,UACpC,EAhZwB,CAAQqF,GA4ZxByR,GAAW,8BAKpB,WAAY3Q,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAwThC,OAtTA,uBAED,SAAMI,GAAyB,WACvBC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKua,GAAoBlP,OAAOqB,KAAO,oCAGtDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA+B0H,GAE3C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+B,QACjD,kBAED,SAAKgX,EAA2BxQ,GAAyB,WACjDC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU4O,GAE5BrQ,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuK,YAAYvK,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,oBAED,SAAOiX,EAA4BzQ,GAAyB,WACpDC,EAAOvG,KAAKkG,QAAU,kCAC1B,GAAe,OAAX6Q,EACA,MAAM,IAAIpX,MAAM,+CACAiB,IAAXmW,IACLxQ,GAAQ,UAAYuB,mBAAmB,GAAKiP,GAAU,KAC1DxQ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8P,cAAc9P,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,qBAED,SAAQiX,EAA4BzQ,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,mCAC1B,GAAe,OAAX6Q,EACA,MAAM,IAAIpX,MAAM,+CACAiB,IAAXmW,IACLxQ,GAAQ,UAAYuB,mBAAmB,GAAKiP,GAAU,KAC1DxQ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+P,eAAe/P,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,wBAED,SAAYwG,GAAyB,WAC7BC,EAAOvG,KAAKkG,QAAU,wBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgQ,kBAAkBhQ,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6a,GAAQxP,OAAOqB,KAAO,oCAG1CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmB0H,GAE/B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmB,QACrC,gCAED,SAAoBwG,GAAyB,WACrCC,EAAOvG,KAAKkG,QAAU,kCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkQ,0BAA0BlQ,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAnUmB,CAAQqF,GA0UnBkS,GAAmB,8BAK5B,WAAYpR,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAgDhC,OA9CA,0BAED,SAASI,GAAyB,WAC1BC,EAAOvG,KAAKkG,QAAU,2CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoQ,eAAepQ,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EA3D2B,CAAQqF,GAkE3BoS,GAAY,8BAKrB,WAAYtR,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAoDhC,OAlDA,kCAED,SAAgBkD,EAA6B9C,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsQ,uBAAuBtQ,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EA/DoB,CAAQqF,GAwEpBsS,GAAgC,8BAKzC,WAAYxR,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAiMhC,OA/LA,gCAED,SAAcwJ,EAAiC1B,EAA8B1H,GAAyB,WAC9FC,EAAOvG,KAAKkG,QAAU,iEAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,+CAGpB,QAFyBiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACnD,OAAb1B,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwQ,qBAAqBxQ,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqb,GAA2BhQ,OAAOqB,KAAO,oCAG7DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAsC0H,GAElD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsC,QACxD,gCAED,SAAmB8M,EAAkCoB,EAA8B1H,GAAyB,WACpGC,EAAOvG,KAAKkG,QAAU,uEAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,6CAGpB,QAFuBiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAC/C,OAAboB,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0Q,0BAA0B1Q,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKub,GAAwBlQ,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,+BAED,SAAkBkO,EAA8B1H,GAAyB,WACjEC,EAAOvG,KAAKkG,QAAU,sEAC1B,GAAiB,OAAb8H,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4Q,yBAAyB5Q,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKyb,GAAuBpQ,OAAOqB,KAAO,oCAGzDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,UACpD,EA5MwC,CAAQqF,GA6OxC6S,GAAiB,8BAK1B,WAAY/R,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAmlDhC,OAjlDA,oCAED,SAAkB2D,EAA6BvD,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAgB,OAAZ2D,EACA,MAAM,IAAIlK,MAAM,gDACCiB,IAAZiJ,IACLtD,GAAQ,WAAauB,mBAAmB,GAAK+B,GAAW,KAC5DtD,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+Q,yBAAyB/Q,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,+BAED,SAAkBkO,EAAqC1H,GAAyB,WACxEC,EAAOvG,KAAKkG,QAAU,0DACTtF,IAAboN,GAAuC,OAAbA,IAC1BzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgR,yBAAyBhR,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,wCAED,SAA4BwG,GAAyB,WAC7CC,EAAOvG,KAAKkG,QAAU,8DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiR,kCAAkCjR,QAErD,+CAES,SAAkCtB,GACxC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkR,oBAAoBlR,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY6Q,GAAgB1Q,OAAOF,GAC5B/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,uBAED,SAAWwG,GAAyB,WAC5BC,EAAOvG,KAAKkG,QAAU,4BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoR,iBAAiBpR,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,iCAED,SAAoB8M,EAAkC2L,EAA6BjS,GAAyB,WACpGC,EAAOvG,KAAKkG,QAAU,yCAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,6CAGpB,QAFuBiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KACjD,OAAX2L,EACA,MAAM,IAAI5Y,MAAM,+CACAiB,IAAX2X,IACLhS,GAAQ,UAAYuB,mBAAmB,GAAKyQ,GAAU,KAC1DhS,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsR,2BAA2BtR,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,sBAED,SAAS2Y,EAAqCnS,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,iCACVtF,IAAZ6X,GAAqC,OAAZA,IACzBlS,GAAQ,WAAauB,mBAAmB,GAAK2Q,GAAW,KAC5DlS,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwR,gBAAgBxR,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,gCAED,SAAmB2Y,EAA8BnS,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,wCAC1B,GAAgB,OAAZuS,EACA,MAAM,IAAI9Y,MAAM,gDACCiB,IAAZ6X,IACLlS,GAAQ,WAAauB,mBAAmB,GAAK2Q,GAAW,KAC5DlS,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyR,0BAA0BzR,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsc,GAAqBjR,OAAOqB,KAAO,oCAGvDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAgC0H,GAE5C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgC,QAClD,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2R,oBAAoB3R,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,oBAED,SAAO6C,EAAiC2D,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,0BAC1B,GAAa,OAATvD,EACA,MAAM,IAAIhD,MAAM,6CACFiB,IAAT+B,IACL4D,GAAQ,QAAUuB,mBAAmBnF,EAAO,GAAKA,EAAKmB,aAAY,GAAQ,IAAM,KACpFyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4R,cAAc5R,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKyc,GAAapR,OAAOqB,KAAO,oCAG/CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,qBAED,SAAQkZ,EAA8CC,EAA+CnM,EAAsCxG,GAAyB,WAC5JC,EAAOvG,KAAKkG,QAAU,2BAC1B,GAAgC,OAA5B8S,EACA,MAAM,IAAIrZ,MAAM,2DAGpB,QAFqCiB,IAA5BoY,IACLzS,GAAQ,2BAA6BuB,mBAAmB,GAAKkR,GAA2B,KAC3D,OAA7BC,EACA,MAAM,IAAItZ,MAAM,4DAGpB,QAFsCiB,IAA7BqY,IACL1S,GAAQ,4BAA8BuB,mBAAmB,GAAKmR,GAA4B,KACtE,OAApBnM,EACA,MAAM,IAAInN,MAAM,wDACSiB,IAApBkM,IACLvG,GAAQ,mBAAqBuB,mBAAmB,GAAKgF,GAAmB,KAC5EvG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkK,eAAelK,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,mCAED,SAAuBwG,GAAyB,WACxCC,EAAOvG,KAAKkG,QAAU,0CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgS,6BAA6BhS,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,uBAED,SAAU8M,EAAyCoM,EAA8CC,EAA+C3S,GAAyB,WACjKC,EAAOvG,KAAKkG,QAAU,6BAG1B,QAFkBtF,IAAdgM,GAAyC,OAAdA,IAC3BrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChC,OAA5BoM,EACA,MAAM,IAAIrZ,MAAM,2DAGpB,QAFqCiB,IAA5BoY,IACLzS,GAAQ,2BAA6BuB,mBAAmB,GAAKkR,GAA2B,KAC3D,OAA7BC,EACA,MAAM,IAAItZ,MAAM,iEACkBiB,IAA7BqY,IACL1S,GAAQ,4BAA8BuB,mBAAmB,GAAKmR,GAA4B,KAC9F1S,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+D,iBAAiB/D,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,uBAED,SAAWwG,GAAyB,WAC5BC,EAAOvG,KAAKkG,QAAU,4BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiS,iBAAiBjS,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,uBAED,SAAWwG,GAAyB,WAC5BC,EAAOvG,KAAKkG,QAAU,4BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkS,iBAAiBlS,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,mBAED,SAAOwG,GAAyB,WACxBC,EAAOvG,KAAKkG,QAAU,wBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmS,aAAanS,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,6BAED,SAAgBoP,EAA8C5I,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoS,uBAAuBpS,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKid,GAAqC5R,OAAOqB,KAAO,oCAGvExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAgD0H,GAE5D,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgD,QAClE,0CAED,SAA6BoP,EAAyC5I,GAAyB,WACvFC,EAAOvG,KAAKkG,QAAU,iDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsS,oCAAoCtS,QAEvD,iDAES,SAAoCtB,GAC1C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKmd,GAAa9R,OAAOqB,KAAO,oCAG/CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwS,oBAAoBxS,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqd,GAAehS,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,8BAED,SAAkBwG,GAAyB,WACnCC,EAAOvG,KAAKkG,QAAU,qCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0S,wBAAwB1S,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKud,GAAmBlS,OAAOqB,KAAO,oCAGrDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,wCAED,SAA2Bga,EAAsCxT,GAAyB,WAClFC,EAAOvG,KAAKkG,QAAU,mDAC1B,GAAkB,OAAd4T,EACA,MAAM,IAAIna,MAAM,kDACGiB,IAAdkZ,IACLvT,GAAQ,aAAeuB,mBAAmBgS,EAAY,GAAKA,EAAUhW,aAAY,GAAQ,IAAM,KACnGyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6S,kCAAkC7S,QAErD,+CAES,SAAkCtB,GACxC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYqS,GAAmBlS,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,gCAED,SAAmBka,EAA0CC,EAAsC3T,GAAyB,WACpHC,EAAOvG,KAAKkG,QAAU,yCAC1B,GAAsB,OAAlB8T,EACA,MAAM,IAAIra,MAAM,iDAGpB,QAF2BiB,IAAlBoZ,IACLzT,GAAQ,iBAAmBuB,mBAAmBkS,EAAgB,GAAKA,EAAclW,aAAY,GAAQ,IAAM,KAC7F,OAAdmW,EACA,MAAM,IAAIta,MAAM,kDACGiB,IAAdqZ,IACL1T,GAAQ,aAAeuB,mBAAmBmS,EAAY,GAAKA,EAAUnW,aAAY,GAAQ,IAAM,KACnGyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgT,0BAA0BhT,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6d,GAAaxS,OAAOqB,KAAO,oCAG/CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,yBAED,SAAYka,EAA0C1T,GAAyB,WACvEC,EAAOvG,KAAKkG,QAAU,gCAC1B,GAAsB,OAAlB8T,EACA,MAAM,IAAIra,MAAM,sDACOiB,IAAlBoZ,IACLzT,GAAQ,iBAAmBuB,mBAAmBkS,EAAgB,GAAKA,EAAclW,aAAY,GAAQ,IAAM,KAC/GyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkT,mBAAmBlT,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6d,GAAaxS,OAAOqB,KAAO,oCAG/CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,uCAED,SAA0B8M,EAAkC2L,EAA6BjS,GAAyB,WAC1GC,EAAOvG,KAAKkG,QAAU,+CAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,6CAGpB,QAFuBiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KACjD,OAAX2L,EACA,MAAM,IAAI5Y,MAAM,+CACAiB,IAAX2X,IACLhS,GAAQ,UAAYuB,mBAAmB,GAAKyQ,GAAU,KAC1DhS,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmT,iCAAiCnT,QAEpD,8CAES,SAAiCtB,GACvC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,yCAED,SAA6BwG,GAAyB,WAC9CC,EAAOvG,KAAKkG,QAAU,iDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoT,mCAAmCpT,QAEtD,gDAES,SAAmCtB,GACzC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,6BAED,SAAiBwG,GAAyB,WAClCC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqT,uBAAuBrT,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKke,GAAkB7S,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,2BAED,SAAcpC,EAA2B+c,EAAmCC,EAAsCpc,EAAuCgI,GAAyB,WAC1KC,EAAOvG,KAAKkG,QAAU,oCAC1B,GAAU,OAANxI,EACA,MAAM,IAAIiC,MAAM,qCAGpB,QAFeiB,IAANlD,IACL6I,GAAQ,KAAOuB,mBAAmB,GAAKpK,GAAK,KACtC,OAAN+c,EACA,MAAM,IAAI9a,MAAM,qCAGpB,QAFeiB,IAAN6Z,IACLlU,GAAQ,KAAOuB,mBAAmB,GAAK2S,GAAK,KACtC,OAANC,EACA,MAAM,IAAI/a,MAAM,qCAGpB,QAFeiB,IAAN8Z,IACLnU,GAAQ,KAAOuB,mBAAmB,GAAK4S,GAAK,KACtC,OAANpc,EACA,MAAM,IAAIqB,MAAM,0CACLiB,IAANtC,IACLiI,GAAQ,KAAOuB,mBAAmB,GAAKxJ,GAAK,KAChDiI,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyT,qBAAqBzT,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,UACxC,EA9lDyB,CAAQqF,GA0mDzByV,GAAiB,8BAK1B,WAAY3U,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA0WhC,OAxWA,6BAED,SAAWmK,EAAoC/J,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,4CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2T,kBAAkB3T,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKwe,GAAqBnT,OAAOqB,KAAO,oCAGvDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAgC0H,GAE5C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgC,QAClD,8BAED,SAAiBib,EAAiCzU,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,mDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU6S,GAE5BtU,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8T,wBAAwB9T,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,oBAED,SAAOmb,EAAwC3U,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,uCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+S,GAE5BxU,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4O,cAAc5O,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK4e,GAAYvT,OAAOqB,KAAO,oCAG9CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAuB0H,GAEnC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuB,QACzC,qBAED,SAAQuQ,EAAiC/J,GAAyB,WAC1DC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiU,eAAejU,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,4BAED,SAAgBwG,GAAyB,WACjCC,EAAOvG,KAAKkG,QAAU,iDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkU,sBAAsBlU,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK+e,GAAkB1T,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,mCAED,SAAsBuQ,EAA+C/J,GAAyB,WACtFC,EAAOvG,KAAKkG,QAAU,wDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoU,6BAA6BpU,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKif,GAAyB5T,OAAOqB,KAAO,oCAG3DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,UACtD,EArXyB,CAAQqF,GA8XzBqW,GAAqB,8BAK9B,WAAYvV,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA+JhC,OA7JA,uBAED,SAAMI,GAAyB,WACvBC,EAAOvG,KAAKkG,QAAU,0CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKmf,GAAwB9T,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,oBAED,SAAO4b,EAAyBpV,GAAyB,WACjDC,EAAOvG,KAAKkG,QAAU,4CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUwT,GAE5BjV,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsJ,cAActJ,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,iBAED,SAAI6b,EAA4BrV,GAAyB,WACjDC,EAAOvG,KAAKkG,QAAU,0CAC1B,GAAe,OAAXyV,EACA,MAAM,IAAIhc,MAAM,+CACAiB,IAAX+a,IACLpV,GAAQ,UAAYuB,mBAAmB,GAAK6T,GAAU,KAC1DpV,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0U,WAAW1U,QAE9B,wBAES,SAAWtB,GACjB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EA1K6B,CAAQqF,GAmT7B0W,GAA0B,8BAKnC,WAAY5V,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAsdhC,OApdA,yBAED,SAAOgJ,EAAsD5I,GAAyB,WAC9EC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuO,cAAcvO,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsU,GAA0BnU,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,2BAED,SAAcoP,EAAsD5I,GAAyB,WACrFC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,mCAED,SAAsB8M,EAAkCtG,GAAyB,WACzEC,EAAOvG,KAAKkG,QAAU,uDAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6U,6BAA6B7U,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0f,GAAyBrU,OAAOqB,KAAO,oCAG3DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,2BAED,SAAc4P,EAAiCpJ,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,6CAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+U,qBAAqB/U,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK4f,GAA0BvU,OAAOqB,KAAO,oCAG5DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,gCAED,SAAmB8M,EAAkCtG,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0Q,0BAA0B1Q,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKub,GAAwBlQ,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,8BAED,SAAiBgL,EAAgCxE,GAAyB,WAClEC,EAAOvG,KAAKkG,QAAU,gDAC1B,GAAmB,OAAf4E,EACA,MAAM,IAAInL,MAAM,mDACIiB,IAAfkK,IACLvE,GAAQ,cAAgBuB,mBAAmB,GAAKgD,GAAc,KAClEvE,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiV,wBAAwBjV,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8f,GAAgBzU,OAAOqB,KAAO,oCAGlDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2B0H,GAEvC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2B,QAC7C,+BAED,SAAkBgL,EAAgCxE,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,iDAC1B,GAAmB,OAAf4E,EACA,MAAM,IAAInL,MAAM,mDACIiB,IAAfkK,IACLvE,GAAQ,cAAgBuB,mBAAmB,GAAKgD,GAAc,KAClEvE,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmV,yBAAyBnV,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKggB,GAAkC3U,OAAOqB,KAAO,oCAGpExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6C0H,GAEzD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6C,QAC/D,4BAED,SAAeyc,EAA4CjW,GAAyB,WAC5EC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUqU,GAE5B9V,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsV,sBAAsBtV,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAjekC,CAAQqF,GA4elCsX,GAA4B,8BAKrC,WAAYxW,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA8ShC,OA5SA,yBAED,SAAOgJ,EAAsD5I,GAAyB,WAC9EC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuO,cAAcvO,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsU,GAA0BnU,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,2BAED,SAAcoP,EAAsD5I,GAAyB,WACrFC,EAAOvG,KAAKkG,QAAU,+CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,gCAED,SAAmB8M,EAAkCoB,EAA8B1H,GAAyB,WACpGC,EAAOvG,KAAKkG,QAAU,oDAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,6CAGpB,QAFuBiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAC/C,OAAboB,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0Q,0BAA0B1Q,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKub,GAAwBlQ,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,8BAED,SAAiBkO,EAA8B1H,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAiB,OAAb8H,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiV,wBAAwBjV,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8f,GAAgBzU,OAAOqB,KAAO,oCAGlDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2B0H,GAEvC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2B,QAC7C,+BAED,SAAkBkO,EAA8B1H,GAAyB,WACjEC,EAAOvG,KAAKkG,QAAU,mDAC1B,GAAiB,OAAb8H,EACA,MAAM,IAAIrO,MAAM,iDACEiB,IAAboN,IACLzH,GAAQ,YAAcuB,mBAAmB,GAAKkG,GAAY,KAC9DzH,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmV,yBAAyBnV,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKggB,GAAkC3U,OAAOqB,KAAO,oCAGpExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6C0H,GAEzD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6C,UAC/D,EAzToC,CAAQqF,GA4UpCuX,GAAyB,8BAKlC,WAAYzW,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA6sBhC,OA3sBA,mCAED,SAAiBgJ,EAA+C5I,GAAyB,WACjFC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyV,wBAAwBzV,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsgB,GAAiBjV,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,sCAED,SAAyBoP,EAAwD5I,GAAyB,WAClGC,EAAOvG,KAAKkG,QAAU,uDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2V,gCAAgC3V,QAEnD,6CAES,SAAgCtB,GACtC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsV,GAA4BnV,OAAOF,GACxC/B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,yBAED,SAAYP,EAAkB+G,GAAyB,WAC/CC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU3I,GAE5BkH,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6V,mBAAmB7V,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,iCAED,SAAoBP,EAAkB+G,GAAyB,WACvDC,EAAOvG,KAAKkG,QAAU,iDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU3I,GAE5BkH,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8V,2BAA2B9V,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,+BAED,SAAkBmd,EAAwB3W,GAAyB,WAC3DC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+U,GAE5BxW,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgW,yBAAyBhW,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kCAED,SAAqBqd,EAAmD7W,GAAyB,WACzFC,EAAOvG,KAAKkG,QAAU,kDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUiV,GAE5B1W,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkW,4BAA4BlW,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,qCAED,SAAyBwG,GAAyB,WAC1CC,EAAOvG,KAAKkG,QAAU,qDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmW,+BAA+BnW,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,4BAED,SAAewd,EAA2ChX,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,2CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUoV,GAE5B7W,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqW,sBAAsBrW,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,+BAED,SAAkB4P,EAAiCpJ,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,+CAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsW,yBAAyBtW,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAcoP,EAAwD5I,GAAyB,WACvFC,EAAOvG,KAAKkG,QAAU,2CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,+BAED,SAAkB2d,EAAwCnX,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUuV,GAE5BhX,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwW,yBAAyBxW,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,+BAED,SAAkB8M,EAAkC+Q,EAAuBrX,GAAyB,WAC5FC,EAAOvG,KAAKkG,QAAU,+CAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUyV,GAE5BlX,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0W,yBAAyB1W,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKuhB,GAA4BlW,OAAOqB,KAAO,oCAG9DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAuC0H,GAEnD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuC,QACzD,qCAED,SAAwB8M,EAAkCkR,EAAgDC,EAA6BzX,GAAyB,WACxJC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,6CAGpB,QAFuBiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KACpC,OAAxBkR,EACA,MAAM,IAAIne,MAAM,4DACaiB,IAAxBkd,IACLvX,GAAQ,uBAAyBuB,mBAAmBgW,EAAsB,GAAKA,EAAoBha,aAAY,GAAQ,IAAM,KACjIyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU6V,GAE5BtX,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8W,+BAA+B9W,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK2hB,GAAkCtW,OAAOqB,KAAO,oCAGpExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6C0H,GAEzD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6C,UAC/D,EAxtBiC,CAAQqF,GAkuBjC+Y,GAA2B,8BAKpC,WAAYjY,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA4NhC,OA1NA,mCAED,SAAiBgJ,EAA4D5I,GAAyB,WAC9FC,EAAOvG,KAAKkG,QAAU,gDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyV,wBAAwBzV,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY2W,GAAgCxW,OAAOF,GAC5C/B,QAAQ5F,QAAyC0H,GAErD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyC,QAC3D,wBAED,SAAWse,EAA4C9X,GAAyB,WACxEC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkW,GAE5B3X,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmX,kBAAkBnX,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAcoP,EAA4D5I,GAAyB,WAC3FC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,6BAED,SAAgBwe,EAAyChY,GAAyB,WAC1EC,EAAOvG,KAAKkG,QAAU,+CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAW,IAAIuW,SACP,OAAVD,QAA4B1d,IAAV0d,GAClBtW,EAASwW,OAAO,QAASF,EAAM9iB,KAAM8iB,EAAM7V,SAAW6V,EAAM7V,SAAW,SAE3E,IAAIhC,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuX,uBAAuBvX,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY2W,GAAgCxW,OAAOF,GAC5C/B,QAAQ5F,QAAyC0H,GAErD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyC,UAC3D,EAvOmC,CAAQqF,GAkPnCuZ,GAAuB,8BAKhC,WAAYzY,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAgRhC,OA9QA,sCAED,SAAoBmL,EAA4B/K,GAAyB,WACjEC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyX,2BAA2BzX,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYoX,GAAiBjX,OAAOF,GAC7B/B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,8BAED,SAAiB+e,EAA2CvY,GAAyB,WAC7EC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU2W,GAE5BpY,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4X,wBAAwB5X,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,iCAED,SAAoBuR,EAA4B/K,GAAyB,WACjEC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8X,2BAA2B9X,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYyX,GAA2BtX,OAAOF,GACvC/B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,8BAED,SAAiBof,EAA2C5Y,GAAyB,WAC7EC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgX,GAE5BzY,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiY,wBAAwBjY,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,8BAED,SAAiBuR,EAA4B/K,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,8CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkY,wBAAwBlY,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,UAC9C,EA3R+B,CAAQqF,GAkS/Bka,GAAiB,8BAK1B,WAAYpZ,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAwDhC,OAtDA,6CAED,SAA2BmL,EAA4B/K,GAAyB,WACxEC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoY,kCAAkCpY,QAErD,+CAES,SAAkCtB,GACxC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY+X,GAAuB5X,OAAOF,GACnC/B,QAAQ5F,QAAgC0H,GAE5C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgC,UAClD,EAnEyB,CAAQqF,GA2EzBqa,GAAyB,8BAKlC,WAAYvZ,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA8GhC,OA5GA,iCAED,SAAeuZ,EAAsDnZ,GAAyB,WACtFC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUuX,GAE5BhZ,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwY,sBAAsBxY,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,+BAED,SAAkBuR,EAA4B/K,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyY,yBAAyBzY,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYoY,GAA6BjY,OAAOF,GACzC/B,QAAQ5F,QAAsC0H,GAElD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsC,UACxD,EAzHiC,CAAQqF,GAkIjC0a,GAAa,8BAKtB,WAAY5Z,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAyKhC,OAvKA,0BAED,SAAQ4Z,EAAmCxZ,GAAyB,WAC5DC,EAAOvG,KAAKkG,QAAU,sBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU4X,GAE5BrZ,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6Y,eAAe7Y,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,qBAED,SAAQkgB,EAA0C1Z,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,4BACJtF,IAAlBof,GAAiD,OAAlBA,IAC/BzZ,GAAQ,iBAAmBuB,mBAAmB,GAAKkY,GAAiB,KACxEzZ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwG,eAAexG,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYyY,GAAwBtY,OAAOF,GACpC/B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,sBAED,SAASogB,EAAoC5Z,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,wBAC1B,GAAmB,OAAfga,EACA,MAAM,IAAIvgB,MAAM,mDACIiB,IAAfsf,IACL3Z,GAAQ,cAAgBuB,mBAAmB,GAAKoY,GAAc,KAClE3Z,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKiZ,gBAAgBjZ,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8jB,GAAkBzY,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,UAC/C,EApLqB,CAAQqF,GAwMrBkb,GAAkB,8BAK3B,WAAYpa,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAyxBhC,OAvxBA,yBAED,SAAOoa,EAA8Bha,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,2BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUoY,GAE5B7Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqZ,cAAcrZ,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKyiB,GAAmBpX,OAAOqB,KAAO,oCAGrDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,sBAED,SAAS0gB,EAAmBla,GAAyB,WAC7CC,EAAOvG,KAAKkG,QAAU,8BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuZ,gBAAgBvZ,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKokB,GAAuB/Y,OAAOqB,KAAO,oCAGzDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,QACpD,mBAED,SAAM6gB,EAAmCra,GAAyB,WAC1DC,EAAOvG,KAAKkG,QAAU,0BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUyY,GAE5Bla,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0Z,aAAa1Z,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,qBAED,SAAQ0gB,EAAmBla,GAAyB,WAC5CC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2Z,eAAe3Z,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKwkB,GAA0BnZ,OAAOqB,KAAO,oCAG5DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,0BAED,SAAauR,EAA4B/K,GAAyB,WAC1DC,EAAOvG,KAAKkG,QAAU,mCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6Z,oBAAoB7Z,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwZ,GAAwBrZ,OAAOF,GACpC/B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,2BAED,SAAcuR,EAA4B4P,EAAgC3a,GAAyB,WAC3FC,EAAOvG,KAAKkG,QAAU,oCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+Y,GAE5Bxa,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKga,qBAAqBha,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kBAED,SAAKqhB,EAA0B7a,GAAyB,WAChDC,EAAOvG,KAAKkG,QAAU,yBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUiZ,GAE5B1a,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwL,YAAYxL,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,uBAED,SAAU0gB,EAAmBla,GAAyB,WAC9CC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKka,iBAAiBla,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK+kB,GAAwB1Z,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,oBAED,SAAOwhB,EAA0Bhb,GAAyB,WAClDC,EAAOvG,KAAKkG,QAAU,2BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUoZ,GAE5B7a,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqa,cAAcra,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,wBAED,SAAW0gB,EAAmBla,GAAyB,WAC/CC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsa,kBAAkBta,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKmlB,GAAyB9Z,OAAOqB,KAAO,oCAG3DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,qBAED,SAAQ4hB,EAAgCpb,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,4BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUwZ,GAE5Bjb,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKya,eAAeza,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,qBAED,SAAQuR,EAA4B/K,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,8BAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4G,eAAe5G,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYoa,GAAqBja,OAAOF,GACjC/B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,kBAED,SAAK+hB,EAAyBvb,GAAyB,WAC/CC,EAAOvG,KAAKkG,QAAU,yBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU2Z,GAE5Bpb,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkD,YAAYlD,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,gCAED,SAAmBuR,EAA4B/K,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,0CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4a,0BAA0B5a,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYua,GAAsBpa,OAAOF,GAClC/B,QAAQ5F,QAA+B0H,GAE3C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+B,UACjD,EApyB0B,CAAQqF,GAm0B1B6c,GAAY,8BAKrB,WAAY/b,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA64ChC,OA34CA,uBAED,SAAK+b,EAAyD3b,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,kBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+Z,GAE5Bxb,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0a,GAAqBva,OAAOF,GACjC/B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,4BAED,SAAe0gB,EAAmBla,GAAyB,WACnDC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKib,sBAAsBjb,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8lB,GAAiCza,OAAOqB,KAAO,oCAGnExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4C0H,GAExD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4C,QAC9D,kBAED,SAAK0gB,EAAmBla,GAAyB,WACzCC,EAAOvG,KAAKkG,QAAU,kBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmb,YAAYnb,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKgmB,GAAY3a,OAAOqB,KAAO,oCAG9CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAuB0H,GAEnC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuB,QACzC,oBAED,SAAO0gB,EAAmBla,GAAyB,WAC3CC,EAAOvG,KAAKkG,QAAU,oBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqb,cAAcrb,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,wBAED,SAAW0gB,EAAmBla,GAAyB,WAC/CC,EAAOvG,KAAKkG,QAAU,yBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsb,kBAAkBtb,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKgmB,GAAY3a,OAAOqB,KAAO,oCAG9CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAuB0H,GAEnC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuB,QACzC,kBAED,SAAK2iB,EAAgCnc,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,kBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUua,GAE5Bhc,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwb,YAAYxb,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,4BAED,SAAe0gB,EAAmBla,GAAyB,WACnDC,EAAOvG,KAAKkG,QAAU,8BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyb,sBAAsBzb,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsmB,GAAsBjb,OAAOqB,KAAO,oCAGxDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,qBAED,SAAQ+iB,EAAsCvc,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,qBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU2a,GAE5Bpc,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6Y,eAAe7Y,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYuX,GAAmBpX,OAAOF,GAC/B/B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,+BAED,SAAkBuR,EAA4B/K,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,kCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4b,yBAAyB5b,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYub,GAAyBpb,OAAOF,GACrC/B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,QACpD,gCAED,SAAmBuR,EAA4B/K,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,mCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8b,0BAA0B9b,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,oCAED,SAAuBuR,EAA4B/K,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,uCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+b,8BAA8B/b,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0b,GAA0Bvb,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,0BAED,SAAauR,EAA4B/K,GAAyB,WAC1DC,EAAOvG,KAAKkG,QAAU,4BAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKic,oBAAoBjc,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY4b,GAAgBzb,OAAOF,GAC5B/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,wBAED,SAAWuR,EAA4B/K,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,yBAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmc,kBAAkBnc,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKgnB,GAAoB3b,OAAOqB,KAAO,oCAGtDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA+B0H,GAE3C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+B,QACjD,0BAED,SAAayjB,EAAgCjd,GAAyB,WAC9DC,EAAOvG,KAAKkG,QAAU,4BAC1B,GAAmB,OAAfqd,EACA,MAAM,IAAI5jB,MAAM,mDACIiB,IAAf2iB,IACLhd,GAAQ,cAAgBuB,mBAAmB,GAAKyb,GAAc,KAClEhd,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsc,oBAAoBtc,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYic,GAAY9b,OAAOF,GACxB/B,QAAQ5F,QAAqB0H,GAEjC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqB,QACvC,4BAED,SAAeyjB,EAAgCG,EAAwCpd,GAAyB,WACxGC,EAAOvG,KAAKkG,QAAU,8BAC1B,GAAmB,OAAfqd,EACA,MAAM,IAAI5jB,MAAM,8CAGpB,QAFwBiB,IAAf2iB,IACLhd,GAAQ,cAAgBuB,mBAAmB,GAAKyb,GAAc,KAC/C,OAAfG,EACA,MAAM,IAAI/jB,MAAM,mDACIiB,IAAf8iB,IACLnd,GAAQ,cAAgBuB,mBAAmB,GAAK4b,GAAc,KAClEnd,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyc,sBAAsBzc,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,wBAED,SAAW8jB,EAA2Ctd,GAAyB,WACvEC,EAAOvG,KAAKkG,QAAU,+BACHtF,IAAnBgjB,GAAmD,OAAnBA,IAChCrd,GAAQ,kBAAoBuB,mBAAmB,GAAK8b,GAAkB,KAC1Erd,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2c,kBAAkB3c,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKwnB,GAAoBnc,OAAOqB,KAAO,oCAGtDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA+B0H,GAE3C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+B,QACjD,0BAED,SAAauR,EAA4B/K,GAAyB,WAC1DC,EAAOvG,KAAKkG,QAAU,2BAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6c,oBAAoB7c,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwc,GAA2Brc,OAAOF,GACvC/B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,wBAED,SAAWuR,EAA4B/K,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,yBAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+c,kBAAkB/c,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0c,GAA4Bvc,OAAOF,GACxC/B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,qBAED,SAAQuR,EAA4B/K,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,sBAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKid,eAAejd,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8nB,GAAsBzc,OAAOqB,KAAO,oCAGxDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,yBAED,SAAYuR,EAA4B/K,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,2BAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmd,mBAAmBnd,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY8c,GAAe3c,OAAOF,GAC3B/B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,qBAED,SAAQuR,EAA4B/K,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,sBAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwG,eAAexG,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY+c,GAAe5c,OAAOF,GAC3B/B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,sBAED,SAAS0kB,EAAkCC,EAA8Bne,GAAyB,WAC1FC,EAAOvG,KAAKkG,QAAU,uBAC1B,GAAkB,OAAdse,EACA,MAAM,IAAI7kB,MAAM,6CAGpB,QAFuBiB,IAAd4jB,IACLje,GAAQ,aAAeuB,mBAAmB,GAAK0c,GAAa,KAC/C,OAAbC,EACA,MAAM,IAAI9kB,MAAM,iDACEiB,IAAb6jB,IACLle,GAAQ,YAAcuB,mBAAmB,GAAK2c,GAAY,KAC9Dle,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwd,gBAAgBxd,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,mBAED,SAAMuR,EAA4B/K,GAAyB,WACnDC,EAAOvG,KAAKkG,QAAU,oBAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyd,aAAazd,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYod,GAAYjd,OAAOF,GACxB/B,QAAQ5F,QAAqB0H,GAEjC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqB,QACvC,sBAED,SAASuR,EAA4B/K,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,uBAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2d,gBAAgB3d,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKwoB,GAAend,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,0BAED,SAAauR,EAA4B0T,EAAgCze,GAAyB,WAC1FC,EAAOvG,KAAKkG,QAAU,4BAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU6c,GAE5Bte,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8d,oBAAoB9d,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAx5CoB,CAAQqF,GAq6CpB8f,GAAoB,8BAK7B,WAAYhf,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAuXhC,OArXA,yBAED,SAAOgf,EAA2B5e,GAAyB,WACnDC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgd,GAE5Bze,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKie,cAAcje,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,8BAED,SAAiB0gB,EAAmBla,GAAyB,WACrDC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsY,GAE5B/Z,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKke,wBAAwBle,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK+oB,GAAwB1d,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,sBAED,SAASwlB,EAAiChf,GAAyB,WAC3DC,EAAOvG,KAAKkG,QAAU,gCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUod,GAE5B7e,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqe,gBAAgBre,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,gCAED,SAAmBuR,EAA4B/K,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,6CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKse,0BAA0Bte,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYie,GAA8B9d,OAAOF,GAC1C/B,QAAQ5F,QAAuC0H,GAEnD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuC,QACzD,qCAED,SAAwBuR,EAA4B/K,GAAyB,WACrEC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwe,+BAA+Bxe,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYme,GAA6Bhe,OAAOF,GACzC/B,QAAQ5F,QAAsC0H,GAElD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsC,QACxD,kCAED,SAAqB8lB,EAAgDtf,GAAyB,WACtFC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU0d,GAE5Bnf,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2e,4BAA4B3e,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,2BAED,SAAcuR,EAA4ByU,EAAuBxf,GAAyB,WAClFC,EAAOvG,KAAKkG,QAAU,sCAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU4d,GAE5Brf,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6e,qBAAqB7e,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAlY4B,CAAQqF,GA8Y5B6gB,GAAsB,8BAK/B,WAAY/f,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA4ThC,OA1TA,uBAED,SAAMI,GAAyB,WACvBC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK2pB,GAAkBte,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,+CAED,SAAmCwG,GAAyB,WACpDC,EAAOvG,KAAKkG,QAAU,8DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgf,yCAAyChf,QAE5D,sDAES,SAAyCtB,GAC/C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6pB,GAAgCxe,OAAOqB,KAAO,oCAGlExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2C0H,GAEvD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2C,QAC7D,8CAED,SAAiCsmB,EAAyC9f,GAAyB,WAC3FC,EAAOvG,KAAKkG,QAAU,6DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUke,GAE5B3f,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmf,wCAAwCnf,QAE3D,qDAES,SAAwCtB,GAC9C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,gDAED,SAAmCwmB,EAA8BhgB,GAAyB,WAClFC,EAAOvG,KAAKkG,QAAU,gEAC1B,GAAiB,OAAbogB,EACA,MAAM,IAAI3mB,MAAM,iDACEiB,IAAb0lB,IACL/f,GAAQ,YAAcuB,mBAAmB,GAAKwe,GAAY,KAC9D/f,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,SACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqf,0CAA0Crf,QAE7D,uDAES,SAA0CtB,GAChD,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kBAED,SAAKsmB,EAA2B9f,GAAyB,WACjDC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUke,GAE5B3f,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkD,YAAYlD,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,oBAED,SAAOwmB,EAA8BhgB,GAAyB,WACtDC,EAAOvG,KAAKkG,QAAU,gCAC1B,GAAiB,OAAbogB,EACA,MAAM,IAAI3mB,MAAM,iDACEiB,IAAb0lB,IACL/f,GAAQ,YAAcuB,mBAAmB,GAAKwe,GAAY,KAC9D/f,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,SACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8P,cAAc9P,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAvU8B,CAAQqF,GAkW9BqhB,GAAc,8BAKvB,WAAYvgB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA8pChC,OA5pCA,uBAED,SAAKgJ,EAAmD5I,GAAyB,WACzEC,EAAOvG,KAAKkG,QAAU,oBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKuf,YAAYvf,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYkf,GAAuB/e,OAAOF,GACnC/B,QAAQ5F,QAAgC0H,GAE5C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgC,QAClD,+BAED,SAAkBoP,EAAmD5I,GAAyB,WACtFC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyf,yBAAyBzf,QAE5C,sCAES,SAAyBtB,GAC/B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,4BAED,SAAeoP,EAA6D5I,GAAyB,WAC7FC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0f,sBAAsB1f,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYqf,GAAiClf,OAAOF,GAC7C/B,QAAQ5F,QAA0C0H,GAEtD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0C,QAC5D,yCAED,SAA4BoP,EAA6D5I,GAAyB,WAC1GC,EAAOvG,KAAKkG,QAAU,+CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4f,mCAAmC5f,QAEtD,gDAES,SAAmCtB,GACzC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,iCAED,SAAoBoP,EAAkE5I,GAAyB,WACvGC,EAAOvG,KAAKkG,QAAU,oCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6f,2BAA2B7f,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYwf,GAAsCrf,OAAOF,GAClD/B,QAAQ5F,QAA+C0H,GAE3D,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA+C,QACjE,8CAED,SAAiCoP,EAAkE5I,GAAyB,WACpHC,EAAOvG,KAAKkG,QAAU,oDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+f,wCAAwC/f,QAE3D,qDAES,SAAwCtB,GAC9C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,uBAED,SAAUoP,EAAwD5I,GAAyB,WACnFC,EAAOvG,KAAKkG,QAAU,yBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKggB,iBAAiBhgB,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY2f,GAA4Bxf,OAAOF,GACxC/B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,oCAED,SAAuBoP,EAAwD5I,GAAyB,WAChGC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkgB,8BAA8BlgB,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,qBAED,SAAQoP,EAAsD5I,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,uBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmgB,eAAengB,QAElC,4BAES,SAAetB,GACrB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY8f,GAA0B3f,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,kCAED,SAAqBynB,EAAwCjhB,GAAyB,WAC9EC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUqf,GAE5B9gB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsgB,4BAA4BtgB,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kCAED,SAAqBoP,EAAsD5I,GAAyB,WAC5FC,EAAOvG,KAAKkG,QAAU,uCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKugB,4BAA4BvgB,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,sBAED,SAASoP,EAAuD5I,GAAyB,WACjFC,EAAOvG,KAAKkG,QAAU,wBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwgB,gBAAgBxgB,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmgB,GAA2BhgB,OAAOF,GACvC/B,QAAQ5F,QAAoC0H,GAEhD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAoC,QACtD,mCAED,SAAsBoP,EAAuD5I,GAAyB,WAC9FC,EAAOvG,KAAKkG,QAAU,wCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0gB,6BAA6B1gB,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,kCAED,SAAqBoP,EAA6D5I,GAAyB,WACnGC,EAAOvG,KAAKkG,QAAU,qCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2gB,4BAA4B3gB,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsgB,GAAiCngB,OAAOF,GAC7C/B,QAAQ5F,QAA0C0H,GAEtD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0C,QAC5D,+CAED,SAAkCoP,EAA6D5I,GAAyB,WAChHC,EAAOvG,KAAKkG,QAAU,qDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6gB,yCAAyC7gB,QAE5D,sDAES,SAAyCtB,GAC/C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,0BAED,SAAaoP,EAA0D5I,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8gB,oBAAoB9gB,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYygB,GAA+BtgB,OAAOF,GAC3C/B,QAAQ5F,QAAwC0H,GAEpD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwC,QAC1D,uCAED,SAA0BoP,EAA0D5I,GAAyB,WACrGC,EAAOvG,KAAKkG,QAAU,6CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKghB,iCAAiChhB,QAEpD,8CAES,SAAiCtB,GACvC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,8BAED,SAAiBoP,EAAyD5I,GAAyB,WAC3FC,EAAOvG,KAAKkG,QAAU,iCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKihB,wBAAwBjhB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY4gB,GAA6BzgB,OAAOF,GACzC/B,QAAQ5F,QAAsC0H,GAElD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsC,QACxD,2CAED,SAA8BoP,EAAyD5I,GAAyB,WACxGC,EAAOvG,KAAKkG,QAAU,iDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmhB,qCAAqCnhB,QAExD,kDAES,SAAqCtB,GAC3C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,iCAED,SAAoBoP,EAA4D5I,GAAyB,WACjGC,EAAOvG,KAAKkG,QAAU,qCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKohB,2BAA2BphB,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY+gB,GAAgC5gB,OAAOF,GAC5C/B,QAAQ5F,QAAyC0H,GAErD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyC,QAC3D,8CAED,SAAiCoP,EAA4D5I,GAAyB,WAC9GC,EAAOvG,KAAKkG,QAAU,qDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKshB,wCAAwCthB,QAE3D,qDAES,SAAwCtB,GAC9C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,UACxC,EAzqCsB,CAAQqF,GAkrCtBsjB,GAA4B,8BAKrC,WAAYxiB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAqKhC,OAnKA,+CAED,SAA6B8Z,EAA0C1Z,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,sEACJtF,IAAlBof,GAAiD,OAAlBA,IAC/BzZ,GAAQ,iBAAmBuB,mBAAmB,GAAKkY,GAAiB,KACxEzZ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwhB,oCAAoCxhB,QAEvD,iDAES,SAAoCtB,GAC1C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmhB,GAAwBhhB,OAAOF,GACpC/B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,uBAED,SAAUoP,EAA6D5I,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0hB,iBAAiB1hB,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKusB,GAAelhB,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,8BAED,SAAiBgpB,EAAmExiB,GAAyB,WACrGC,EAAOvG,KAAKkG,QAAU,kDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU4gB,GAE5BriB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6hB,wBAAwB7hB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAhLoC,CAAQqF,GA4LpC6jB,GAAmB,8BAK5B,WAAY/iB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAoUhC,OAlUA,4BAED,SAAUgJ,EAAoD5I,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0hB,iBAAiB1hB,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKusB,GAAelhB,OAAOqB,KAAO,oCAGjDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA0B0H,GAEtC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA0B,QAC5C,mCAED,SAAsBuR,EAA4B/K,GAAyB,WACnEC,EAAOvG,KAAKkG,QAAU,+CAC1B,GAAe,OAAXmL,EACA,MAAM,IAAI1R,MAAM,+CACAiB,IAAXyQ,IACL9K,GAAQ,UAAYuB,mBAAmB,GAAKuJ,GAAU,KAC1D9K,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+hB,6BAA6B/hB,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmhB,GAAwBhhB,OAAOF,GACpC/B,QAAQ5F,QAAiC0H,GAE7C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAiC,QACnD,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgiB,oBAAoBhiB,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6sB,GAAmBxhB,OAAOqB,KAAO,oCAGrDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,8BAED,SAAiBspB,EAA4C9iB,GAAyB,WAC9EC,EAAOvG,KAAKkG,QAAU,wCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkhB,GAE5B3iB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK6hB,wBAAwB7hB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,0BAED,SAAaupB,EAA2B/iB,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmhB,GAE5B5iB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoiB,oBAAoBpiB,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,4BAED,SAAeypB,EAAsCjjB,GAAyB,WACtEC,EAAOvG,KAAKkG,QAAU,qCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUqhB,GAE5B9iB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsiB,sBAAsBtiB,QAEzC,mCAES,SAAsBtB,GAC5B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EA/U2B,CAAQqF,GAsV3BskB,GAAY,8BAKrB,WAAYxjB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA0DhC,OAxDA,yBAED,SAAO8K,EAAwC1K,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,oBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAW,IAAIuW,SACR,OAATvN,QAA0BpQ,IAAToQ,GACjBhJ,EAASwW,OAAO,OAAQxN,EAAKxV,KAAMwV,EAAKvI,SAAWuI,EAAKvI,SAAW,QAEvE,IAAIhC,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwiB,cAAcxiB,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,UAClC,EArEoB,CAAQqF,GAiFpBwkB,GAAsB,8BAK/B,WAAY1jB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAsUhC,OApUA,yBAED,SAAOhF,EAAiCoF,GAAyB,WACzDC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUhH,GAE5BuF,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqZ,cAAcrZ,QAEjC,2BAES,SAActB,GACpB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,6CAED,SAAgC8pB,EAAsCtjB,GAAyB,WACvFC,EAAOvG,KAAKkG,QAAU,4DAC1B,GAAoB,OAAhB0jB,EACA,MAAM,IAAIjqB,MAAM,oDACKiB,IAAhBgpB,IACLrjB,GAAQ,eAAiBuB,mBAAmB,GAAK8hB,GAAe,KACpErjB,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2iB,uCAAuC3iB,QAE1D,oDAES,SAAuCtB,GAC7C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,wBAED,SAAYwG,GAAyB,WAC7BC,EAAOvG,KAAKkG,QAAU,mCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4iB,kBAAkB5iB,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKytB,GAAapiB,OAAOqB,KAAO,oCAG/CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAwB0H,GAEpC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAwB,QAC1C,kBAED,SAAMwG,GAAyB,WACvBC,EAAOvG,KAAKkG,QAAU,6BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0tB,GAAiBriB,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,0BAED,SAAamqB,EAAsC3jB,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,6CACRtF,IAAdqpB,GAAyC,OAAdA,IAC3B1jB,GAAQ,aAAeuB,mBAAmB,GAAKmiB,GAAa,KAChE1jB,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgjB,oBAAoBhjB,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,yBAED,SAAawG,GAAyB,WAC9BC,EAAOvG,KAAKkG,QAAU,qCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKijB,mBAAmBjjB,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,UAClC,EAjV8B,CAAQqF,GA6V9BilB,GAAgB,8BAKzB,WAAYnkB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAwVhC,OAtVA,wBAED,SAAOI,GAAyB,WACxBC,EAAOvG,KAAKkG,QAAU,uBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmjB,aAAanjB,QAEhC,0BAES,SAAatB,GACnB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKguB,GAAiB3iB,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,wBAED,SAAYwG,GAAyB,WAC7BC,EAAOvG,KAAKkG,QAAU,4BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+c,kBAAkB/c,QAErC,+BAES,SAAkBtB,GACxB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKguB,GAAiB3iB,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,+BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKic,oBAAoBjc,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKguB,GAAiB3iB,OAAOqB,KAAO,oCAGnDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA4B0H,GAExC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA4B,QAC9C,kBAED,SAAMwG,GAAyB,WACvBC,EAAOvG,KAAKkG,QAAU,sBAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqjB,YAAYrjB,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6a,GAAQxP,OAAOqB,KAAO,oCAG1CxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmB0H,GAE/B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmB,QACrC,0BAED,SAAcwG,GAAyB,WAC/BC,EAAOvG,KAAKkG,QAAU,8BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+I,oBAAoB/I,QAEvC,iCAES,SAAoBtB,GAC1B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKkuB,GAAwB7iB,OAAOqB,KAAO,oCAG1DxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,yBAED,SAAawG,GAAyB,WAC9BC,EAAOvG,KAAKkG,QAAU,8BAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKujB,mBAAmBvjB,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKouB,GAAuB/iB,OAAOqB,KAAO,oCAGzDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkC0H,GAE9C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkC,UACpD,EAnWwB,CAAQqF,GAqXxBwlB,GAAuB,8BAKhC,WAAY1kB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA6qBhC,OA3qBA,mCAED,SAAiBgJ,EAAwD5I,GAAyB,WAC1FC,EAAOvG,KAAKkG,QAAU,4CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyV,wBAAwBzV,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsV,GAA4BnV,OAAOF,GACxC/B,QAAQ5F,QAAqC0H,GAEjD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAqC,QACvD,2BAED,SAAc8qB,EAAiEtkB,GAAyB,WAChGC,EAAOvG,KAAKkG,QAAU,yCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU0iB,GAE5BnkB,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,2BAED,SAAc4P,EAAiCpJ,GAAyB,WAChEC,EAAOvG,KAAKkG,QAAU,0CAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2jB,qBAAqB3jB,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsjB,GAAoBnjB,OAAOF,GAChC/B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,mCAED,SAAsBirB,EAAwCzkB,GAAyB,WAC/EC,EAAOvG,KAAKkG,QAAU,mDAC1B,GAA2B,OAAvB6kB,EACA,MAAM,IAAIprB,MAAM,2DACYiB,IAAvBmqB,IACLxkB,GAAQ,sBAAwBuB,mBAAmB,GAAKijB,GAAsB,KAClFxkB,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8jB,6BAA6B9jB,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYsjB,GAAoBnjB,OAAOF,GAChC/B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,qCAED,SAAwB4P,EAAiCub,EAA2CjR,EAAiD1T,GAAyB,WACtKC,EAAOvG,KAAKkG,QAAU,qDAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,UAChD9O,IAAhBqqB,GAA6C,OAAhBA,IAC7B1kB,GAAQ,eAAiBuB,mBAAmB,GAAKmjB,GAAe,UAC9CrqB,IAAlBoZ,GAAiD,OAAlBA,IAC/BzT,GAAQ,iBAAmBuB,mBAAmBkS,EAAgB,GAAKA,EAAclW,aAAY,GAAQ,IAAM,KAC/GyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgkB,+BAA+BhkB,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK6uB,GAAqBxjB,OAAOqB,KAAO,oCAGvDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAgC0H,GAE5C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgC,QAClD,oCAED,SAAuB4P,EAAiCpJ,GAAyB,WACzEC,EAAOvG,KAAKkG,QAAU,mDAC1B,GAAoB,OAAhBwJ,EACA,MAAM,IAAI/P,MAAM,oDACKiB,IAAhB8O,IACLnJ,GAAQ,eAAiBuB,mBAAmB,GAAK4H,GAAe,KACpEnJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKkkB,8BAA8BlkB,QAEjD,2CAES,SAA8BtB,GACpC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY6jB,GAA0B1jB,OAAOF,GACtC/B,QAAQ5F,QAAmC0H,GAE/C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAmC,QACrD,8BAED,SAAiB8M,EAAkCtG,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,6CAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKokB,wBAAwBpkB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKivB,GAAmB5jB,OAAOqB,KAAO,oCAGrDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,yBAED,SAAY0rB,EAAkCllB,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUsjB,GAE5B/kB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKukB,mBAAmBvkB,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,yBAED,SAAawG,GAAyB,WAC9BC,EAAOvG,KAAKkG,QAAU,sCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwkB,mBAAmBxkB,QAEtC,gCAES,SAAmBtB,GACzB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAgB0H,GAE5B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAgB,QAClC,8BAED,SAAiB8P,EAAsCtJ,GAAyB,WACxEC,EAAOvG,KAAKkG,QAAU,4CAC1B,GAAyB,OAArB0J,EACA,MAAM,IAAIjQ,MAAM,yDACUiB,IAArBgP,IACLrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKykB,wBAAwBzkB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKsvB,GAAmBjkB,OAAOqB,KAAO,oCAGrDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,6CAED,SAAgCoP,EAAuC5I,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,4DAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2kB,uCAAuC3kB,QAE1D,oDAES,SAAuCtB,GAC7C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKwvB,GAAkBnkB,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,uCAED,SAA0BisB,EAAuCzlB,GAAyB,WAClFC,EAAOvG,KAAKkG,QAAU,uDAC1B,GAAmB,OAAf6lB,EACA,MAAM,IAAIpsB,MAAM,mDACIiB,IAAfmrB,IACLxlB,GAAQ,cAAgBuB,mBAAmBikB,EAAa,GAAKA,EAAWjoB,aAAY,GAAQ,IAAM,KACtGyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8kB,iCAAiC9kB,QAEpD,8CAES,SAAiCtB,GACvC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,UACxC,EAxrB+B,CAAQqF,GAgsB/B8mB,GAAyB,8BAKlC,WAAYhmB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EAmHhC,OAjHA,mCAED,SAAiBgJ,EAA0D5I,GAAyB,WAC5FC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUgH,GAE5BzI,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKyV,wBAAwBzV,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0kB,GAA8BvkB,OAAOF,GAC1C/B,QAAQ5F,QAAuC0H,GAEnD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAuC,QACzD,2BAED,SAAc8qB,EAAmEtkB,GAAyB,WAClGC,EAAOvG,KAAKkG,QAAU,2CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU0iB,GAE5BnkB,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsI,qBAAqBtI,QAExC,kCAES,SAAqBtB,GAC3B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,UACxC,EA9HiC,CAAQqF,GAsIjCgnB,GAAc,8BAKvB,WAAYlmB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA6IhC,OA3IA,qCAED,SAAmBuS,EAA8B2T,EAAmCC,EAAoCC,EAAoChmB,GAAyB,WAC7KC,EAAOvG,KAAKkG,QAAU,oCAC1B,GAAgB,OAAZuS,EACA,MAAM,IAAI9Y,MAAM,gDACCiB,IAAZ6X,IACLlS,GAAQ,WAAauB,mBAAmB,GAAK2Q,GAAW,UAC7C7X,IAAXwrB,GAAmC,OAAXA,IACxB7lB,GAAQ,UAAYuB,mBAAmB,GAAKskB,GAAU,UAC1CxrB,IAAZyrB,GAAqC,OAAZA,IACzB9lB,GAAQ,WAAauB,mBAAmB,GAAKukB,GAAW,UAC5CzrB,IAAZ0rB,GAAqC,OAAZA,IACzB/lB,GAAQ,WAAauB,mBAAmB,GAAKwkB,GAAW,KAC5D/lB,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqlB,0BAA0BrlB,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKkwB,GAAc7kB,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,uBAED,SAAU2sB,EAAkCC,EAAuCC,EAAwCC,EAAwCC,EAAgCC,EAAqCC,EAAsCC,EAAsCpd,EAA6CtJ,GAAyB,WAClXC,EAAOvG,KAAKkG,QAAU,0BAC1B,GAAoB,OAAhBumB,EACA,MAAM,IAAI9sB,MAAM,+CASpB,QARyBiB,IAAhB6rB,IACLlmB,GAAQ,eAAiBuB,mBAAmB,GAAK2kB,GAAe,UACjD7rB,IAAf8rB,GAA2C,OAAfA,IAC5BnmB,GAAQ,cAAgBuB,mBAAmB,GAAK4kB,GAAc,UAC9C9rB,IAAhB+rB,GAA6C,OAAhBA,IAC7BpmB,GAAQ,eAAiBuB,mBAAmB,GAAK6kB,GAAe,UAChD/rB,IAAhBgsB,GAA6C,OAAhBA,IAC7BrmB,GAAQ,eAAiBuB,mBAAmB,GAAK8kB,GAAe,KAClD,OAAdC,EACA,MAAM,IAAIltB,MAAM,kDACGiB,IAAdisB,IACLtmB,GAAQ,aAAeuB,mBAAmB,GAAK+kB,GAAa,UAC/CjsB,IAAbksB,GAAuC,OAAbA,IAC1BvmB,GAAQ,YAAcuB,mBAAmB,GAAKglB,GAAY,UAC5ClsB,IAAdmsB,GAAyC,OAAdA,IAC3BxmB,GAAQ,aAAeuB,mBAAmB,GAAKilB,GAAa,UAC9CnsB,IAAdosB,GAAyC,OAAdA,IAC3BzmB,GAAQ,aAAeuB,mBAAmB,GAAKklB,GAAa,UACvCpsB,IAArBgP,GAAuD,OAArBA,IAClCrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK+lB,iBAAiB/lB,QAEpC,8BAES,SAAiBtB,GACvB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAY0lB,GAAavlB,OAAOF,GACzB/B,QAAQ5F,QAAsB0H,GAElC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,UACxC,EAxJsB,CAAQqF,GA+KtBgoB,GAAsB,8BAK/B,WAAYlnB,EAAiCC,EAAkBC,GAAwB,MAMtD,OANsD,UAEnF,cAAMF,GAJA,EAAAG,sBAAmExF,EAMzE,EAAKuF,SAAWA,GAAYE,IAAM3H,SAElC,EAAKwH,QAAiB,OAAPA,QAAO,IAAPA,IAAW,GAAG,EA66BhC,OA36BA,uBAED,SAAK0G,EAAkCtG,GAAyB,WACxDC,EAAOvG,KAAKkG,QAAU,8BAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKoG,YAAYpG,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK8wB,GAAkBzlB,OAAOqB,KAAO,oCAGpDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA6B0H,GAEzC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA6B,QAC/C,gCAED,SAAmB8M,EAAkCygB,EAA2C/mB,GAAyB,WACjHC,EAAOvG,KAAKkG,QAAU,8CAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,6CAGpB,QAFuBiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KACzC,OAAnBygB,EACA,MAAM,IAAI1tB,MAAM,uDACQiB,IAAnBysB,IACL9mB,GAAQ,kBAAoBuB,mBAAmBulB,EAAiB,GAAKA,EAAevpB,aAAY,GAAQ,IAAM,KAClHyC,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKomB,0BAA0BpmB,QAE7C,uCAES,SAA0BtB,GAChC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKixB,GAAgC5lB,OAAOqB,KAAO,oCAGlExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2C0H,GAEvD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2C,QAC7D,qCAED,SAAwB8M,EAAkCtG,GAAyB,WAC3EC,EAAOvG,KAAKkG,QAAU,mDAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsmB,+BAA+BtmB,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKqQ,GAAchF,OAAOqB,KAAO,oCAGhDxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,kCAED,SAAqB2tB,EAAkDnnB,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,+CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUulB,GAE5BhnB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwmB,4BAA4BxmB,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAGrB,OAFIC,OAA8B5G,IAAlB6G,EAA8BA,EAAqB,KAE5D/B,QAAQ5F,QAAyB0H,GAErC,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAyB,QAC3C,kCAED,SAAqB2tB,EAAkDnnB,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,+CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUulB,GAE5BhnB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKymB,4BAA4BzmB,QAE/C,yCAES,SAA4BtB,GAClC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,kBAED,SAAK8M,EAAyCtG,GAAyB,WAC/DC,EAAOvG,KAAKkG,QAAU,mCACRtF,IAAdgM,GAAyC,OAAdA,IAC3BrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,MACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0mB,YAAY1mB,QAE/B,yBAES,SAAYtB,GAClB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAK0M,IAAM,oCAG1BxB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAAkB0H,GAE9B,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAkB,QACpC,sBAED,SAAS+tB,EAAgBvnB,GAAyB,WAC1CC,EAAOvG,KAAKkG,QAAU,kCAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU2lB,GAE5BpnB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4mB,gBAAgB5mB,QAEnC,6BAES,SAAgBtB,GACtB,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,iCAED,SAAoBiuB,EAAgDznB,GAAyB,WACrFC,EAAOvG,KAAKkG,QAAU,8CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU6lB,GAE5BtnB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK8mB,2BAA2B9mB,QAE9C,wCAES,SAA2BtB,GACjC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,uCAED,SAA0BmuB,EAAmD3nB,GAAyB,WAC9FC,EAAOvG,KAAKkG,QAAU,qDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU+lB,GAE5BxnB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKgnB,iCAAiChnB,QAEpD,8CAES,SAAiCtB,GACvC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,8BAED,SAAiBsJ,EAA4C9C,GAAyB,WAC9EC,EAAOvG,KAAKkG,QAAU,2CAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkB,GAE5B3C,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKinB,wBAAwBjnB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,qCAED,SAAwBsuB,EAA+C9nB,GAAyB,WACxFC,EAAOvG,KAAKkG,QAAU,kDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUkmB,GAE5B3nB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKmnB,+BAA+BnnB,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,yCAED,SAA4BwuB,EAA0BhoB,GAAyB,WACvEC,EAAOvG,KAAKkG,QAAU,uDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUomB,GAE5B7nB,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,oBAEpBgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKqnB,mCAAmCrnB,QAEtD,gDAES,SAAmCtB,GACzC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,QAChC,0CAED,SAA6BuQ,EAAsD/J,GAAyB,WACpGC,EAAOvG,KAAKkG,QAAU,wDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAUmI,GAE5B5J,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKsnB,oCAAoCtnB,QAEvD,iDAES,SAAoCtB,GAC1C,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EACrB,GAAIuB,MAAMC,QAAQtB,GAAgB,CAC9BD,EAAY,GAAU,IACQ,EADR,IACLC,GAAa,IAA9B,2BACI,KADKuB,EAAI,QACTxB,EAAWlL,KAAKmyB,GAAgC9mB,OAAOqB,KAAO,oCAGlExB,EAAiB,KAErB,OAAO9B,QAAQ5F,QAA2C0H,GAEvD,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA2C,QAC7D,qCAED,SAAwBwe,EAAyChY,GAAyB,WAClFC,EAAOvG,KAAKkG,QAAU,mDAC1BK,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAW,IAAIuW,SACP,OAAVD,QAA4B1d,IAAV0d,GAClBtW,EAASwW,OAAO,QAASF,EAAM9iB,KAAM8iB,EAAM7V,SAAW6V,EAAM7V,SAAW,SAE3E,IAAIhC,EAA+B,CAC/BjL,KAAMwM,EACNtB,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,oBAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAKwnB,+BAA+BxnB,QAElD,4CAES,SAA+BtB,GACrC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CAChB,IAAMG,EAAgB3B,EAASpK,KAC3BgM,EAAiB,KACjBC,EAAiBF,EAErB,OADAC,EAAYmnB,GAAqBhnB,OAAOF,GACjC/B,QAAQ5F,QAA8B0H,GAE1C,GAAe,MAAXJ,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAA8B,QAChD,mCAED,SAAsB8M,EAAkCmR,EAA6BzX,GAAyB,WACtGC,EAAOvG,KAAKkG,QAAU,kDAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAMwB,EAAWC,KAAKC,UAAU6V,GAE5BtX,EAA+B,CAC/BjL,KAAMwM,EACNI,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,eAAgB,mBAChB,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK0nB,6BAA6B1nB,QAEhD,0CAES,SAA6BtB,GACnC,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,8BAED,SAAiB8M,EAAkCtG,GAAyB,WACpEC,EAAOvG,KAAKkG,QAAU,6CAC1B,GAAkB,OAAd0G,EACA,MAAM,IAAIjN,MAAM,kDACGiB,IAAdgM,IACLrG,GAAQ,aAAeuB,mBAAmB,GAAK8E,GAAa,KAChErG,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/B2B,aAAc,OACd1B,OAAQ,OACRf,IAAKY,EACLjB,QAAS,CACL,OAAU,4BAEdgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK2nB,wBAAwB3nB,QAE3C,qCAES,SAAwBtB,GAC9B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,GAA6B,MAAXA,EAAgB,CAClC,IAAMkB,EAAqB1C,EAASN,QAAUM,EAASN,QAAQ,4BAAyB1E,EACpF2H,EAAgBD,EAAqB,6DAA6DE,KAAKF,QAAsB1H,EAC7H6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,IAAMA,EAAc,QAAK3H,EAOlG,OANI6H,EACAA,EAAWC,mBAAmBD,IAE9BF,EAAgBD,EAAqB,8BAA8BE,KAAKF,QAAsB1H,EAC9F6H,EAAWF,GAAiBA,EAAcvM,OAAS,EAAIuM,EAAc,QAAK3H,GAEvE8E,QAAQ5F,QAAQ,CAAE2I,SAAUA,EAAUrB,OAAQA,EAAQ5L,KAAM,IAAImN,KAAK,CAAC/C,EAASpK,MAAO,CAAEoN,KAAMhD,EAASN,QAAQ,kBAAoBA,QAAS+B,IAChJ,GAAe,MAAXD,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAsB,QACxC,6BAED,SAAgB8P,EAAsCtJ,GAAyB,WACvEC,EAAOvG,KAAKkG,QAAU,2CAC1B,GAAyB,OAArB0J,EACA,MAAM,IAAIjQ,MAAM,yDACUiB,IAArBgP,IACLrJ,GAAQ,oBAAsBuB,mBAAmB,GAAK8H,GAAoB,KAC9ErJ,EAAOA,EAAKC,QAAQ,QAAS,IAE7B,IAAIC,EAA+B,CAC/BC,OAAQ,OACRf,IAAKY,EACLjB,QAAS,GAETgB,eAGJ,OAAOtG,KAAK2G,iBAAiBF,GAAUG,MAAK,SAAAC,GACxC,OAAO,EAAKV,SAASW,QAAQD,MAC9BE,OAAM,SAACC,GACN,GAAIC,GAAaD,IAAWA,EAAOpB,SAC/B,OAAOoB,EAAOpB,SAEd,MAAMoB,KAEXJ,MAAK,SAACM,GACL,OAAO,EAAK4nB,uBAAuB5nB,QAE1C,oCAES,SAAuBtB,GAC7B,IAAMwB,EAASxB,EAASwB,OACpBC,EAAgB,GACpB,GAAIzB,EAASN,SAAuC,WAA5B,EAAOM,EAASN,SACpC,IAAK,IAAMgC,KAAK1B,EAASN,QACjBM,EAASN,QAAQnJ,eAAemL,KAChCD,EAASC,GAAK1B,EAASN,QAAQgC,IAI3C,GAAe,MAAXF,EAAgB,CACMxB,EAASpK,KAC/B,OAAOkK,QAAQ5F,QAAc,MAE1B,GAAe,MAAXsH,GAA6B,MAAXA,EAAgB,CACzC,IAAMG,EAAgB3B,EAASpK,KAC/B,OAAOoM,GAAe,uCAAwCR,EAAQG,EAAeF,GAEzF,OAAO3B,QAAQ5F,QAAc,UAChC,EAx7B8B,CAAQqF,GA27B9BuC,GAAU,WAYnB,WAAYlM,GACR,GAD0B,UACtBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqCnD,OAlCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAKP,GAJA/uB,KAAKkJ,WAAa6lB,EAAM,cACxB/uB,KAAKqN,UAAY0hB,EAAM,aACvB/uB,KAAKwK,UAAYukB,EAAM,aACvB/uB,KAAKgvB,kBAAoBD,EAAM,qBAC3BjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAKivB,mBAAqB,GAAU,IACQ,EADR,IACnBF,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAKivB,mBAAoB3yB,KAAK4yB,GAAqBvnB,OAAOqB,KAAO,+BAEzE,GAAIF,MAAMC,QAAQgmB,EAAM,wBAAyB,CAC7C/uB,KAAKmvB,oBAAsB,GAAU,IACQ,EADR,IACpBJ,EAAM,wBAAsB,IAA7C,2BACI,KADK/lB,EAAI,QACThJ,KAAKmvB,oBAAqB7yB,KAAK8yB,GAAsBznB,OAAOqB,KAAO,+BAI3E,GAFAhJ,KAAK6H,QAAUknB,EAAM,WACrB/uB,KAAKqvB,UAAYN,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,oBAAqB,CACzC/uB,KAAKsvB,gBAAkB,GAAU,IACQ,EADR,IAChBP,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACThJ,KAAKsvB,gBAAiBhzB,KAAK0M,IAAM,+BAEzChJ,KAAK6J,QAAUklB,EAAM,cAE5B,oBASD,SAAOvzB,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKkJ,WAC1B1N,EAAK,aAAewE,KAAKqN,UACzB7R,EAAK,aAAewE,KAAKwK,UACzBhP,EAAK,qBAAuBwE,KAAKgvB,kBAC7BlmB,MAAMC,QAAQ/I,KAAKivB,oBAAqB,CACxCzzB,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAKivB,oBAAkB,IAAxC,2BACI,KADKjmB,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,GAAI+E,MAAMC,QAAQ/I,KAAKmvB,qBAAsB,CACzC3zB,EAAK,uBAAyB,GAAG,IACQ,EADR,IAChBwE,KAAKmvB,qBAAmB,IAAzC,2BACI,KADKnmB,EAAI,QACTxN,EAAK,uBAAuBc,KAAK0M,EAAKjF,WAAU,+BAIxD,GAFAvI,EAAK,WAAawE,KAAK6H,QACvBrM,EAAK,aAAewE,KAAKqvB,UACrBvmB,MAAMC,QAAQ/I,KAAKsvB,iBAAkB,CACrC9zB,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZwE,KAAKsvB,iBAAe,IAArC,2BACI,KADKtmB,EAAI,QACTxN,EAAK,mBAAmBc,KAAK0M,IAAM,+BAG3C,OADAxN,EAAK,WAAawE,KAAK6J,QAChBrO,KACV,qBAhCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6K,EAEjB,OADA7K,EAAO0yB,KAAK/zB,GACLqB,MACV,EArDkB,IAgGvB,SAAYiI,GACRA,0BACAA,8BACAA,8BACAA,+BAJJ,CAAYA,MAAS,KAOrB,SAAYC,GACRA,oCACAA,0BACAA,sBACAA,wBACAA,kCALJ,CAAYA,MAAS,KAQrB,SAAYC,GACRA,sBACAA,oCACAA,8BACAA,wCAJJ,CAAYA,MAAiB,KAOtB,IA4CKwqB,GA5CCN,GAAoB,WAK7B,WAAY1zB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4I,KAAOmmB,EAAM,QAClB/uB,KAAKyvB,UAAYV,EAAM,aACvB/uB,KAAKiG,cAAgB8oB,EAAM,oBAElC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK4I,KACpBpN,EAAK,aAAewE,KAAKyvB,UACzBj0B,EAAK,iBAAmBwE,KAAKiG,cACtBzK,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqyB,EAEjB,OADAryB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B4B,IA4CjC,SAAY2yB,GACRA,gDACAA,4CACAA,oDACAA,gDACAA,8BACAA,4BACAA,kCACAA,kCACAA,8CACAA,2CACAA,yCACAA,2CACAA,6CACAA,uDACAA,iEACAA,qCACAA,iEACAA,yDACAA,yCACAA,uDACAA,yCACAA,+CACAA,uCACAA,qDACAA,qCACAA,iCACAA,iCACAA,iDACAA,gCA7BJ,CAAYA,QAAqB,KAgC1B,IA4CKE,GAKAC,GAOAC,GAxDCR,GAAqB,WAK9B,WAAY5zB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4I,KAAOmmB,EAAM,QAClB/uB,KAAKyvB,UAAYV,EAAM,aACvB/uB,KAAKiG,cAAgB8oB,EAAM,oBAElC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK4I,KACpBpN,EAAK,aAAewE,KAAKyvB,UACzBj0B,EAAK,iBAAmBwE,KAAKiG,cACtBzK,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuyB,EAEjB,OADAvyB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B6B,IA4ClC,SAAY6yB,GACRA,4CACAA,wCAFJ,CAAYA,QAAsB,KAKlC,SAAYC,GACRA,4BACAA,4BACAA,gCACAA,4BAJJ,CAAYA,QAAO,KAOnB,SAAYC,GACRA,sBACAA,8BACAA,gCACAA,8CAJJ,CAAYA,QAAS,KAOd,IAoOKC,GApOC5mB,GAAoB,WAU7B,WAAYzN,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKM,SAAWyuB,EAAM,YACtB/uB,KAAKkJ,WAAa6lB,EAAM,cACxB/uB,KAAK8vB,MAAQf,EAAM,SACnB/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAK+vB,SAAWhB,EAAM,YACtB/uB,KAAKwK,UAAYukB,EAAM,aACvB/uB,KAAKgwB,0BAA4BjB,EAAM,6BACvC/uB,KAAKiwB,QAAUlB,EAAM,cAE5B,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKM,SACxB9E,EAAK,cAAgBwE,KAAKkJ,WAC1B1N,EAAK,SAAWwE,KAAK8vB,MACrBt0B,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,YAAcwE,KAAK+vB,SACxBv0B,EAAK,aAAewE,KAAKwK,UACzBhP,EAAK,6BAA+BwE,KAAKgwB,0BACzCx0B,EAAK,WAAawE,KAAKiwB,QAChBz0B,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoM,EAEjB,OADApM,EAAO0yB,KAAK/zB,GACLqB,MACV,EArC4B,GAgEpB0M,GAAuB,WAIhC,WAAY/N,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKkJ,WAAa6lB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC/uB,KAAKkwB,OAAS,GAAU,IACQ,EADR,IACPnB,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAKkwB,OAAQ5zB,KAAK6zB,GAA6BxoB,OAAOqB,KAAO,kCAG5E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKkJ,WACtBJ,MAAMC,QAAQ/I,KAAKkwB,QAAS,CAC5B10B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAKkwB,QAAM,IAA5B,2BACI,KADKlnB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0M,EAEjB,OADA1M,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B+B,GAgDvBszB,GAA4B,WAWrC,WAAY30B,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAgDnD,OA7CA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAGP,GAFA/uB,KAAKowB,kBAAoBrB,EAAM,qBAC/B/uB,KAAK4M,UAAYmiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKg0B,GAA2B3oB,OAAOqB,KAAO,+BAEjE,GAAIF,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAKuwB,mBAAqB,GAAU,IACQ,EADR,IACnBxB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAKuwB,mBAAoBj0B,KAAKk0B,GAAkB7oB,OAAOqB,KAAO,+BAEtE,GAAIF,MAAMC,QAAQgmB,EAAM,wBAAyB,CAC7C/uB,KAAKywB,oBAAsB,GAAU,IACQ,EADR,IACpB1B,EAAM,wBAAsB,IAA7C,2BACI,KADK/lB,EAAI,QACThJ,KAAKywB,oBAAqBn0B,KAAKk0B,GAAkB7oB,OAAOqB,KAAO,+BAEvE,GAAIF,MAAMC,QAAQgmB,EAAM,0BAA2B,CAC/C/uB,KAAK0wB,sBAAwB,GAAU,IACQ,EADR,IACtB3B,EAAM,0BAAwB,IAA/C,2BACI,KADK/lB,EAAI,QACThJ,KAAK0wB,sBAAuBp0B,KAAKk0B,GAAkB7oB,OAAOqB,KAAO,+BAEzE,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK2wB,WAAa,GAAU,IACQ,EADR,IACX5B,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK2wB,WAAYr0B,KAAK0M,IAAM,+BAEpC,GAAIF,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC/uB,KAAK4wB,aAAe,GAAU,IACQ,EADR,IACb7B,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAK4wB,aAAct0B,KAAK0M,IAAM,+BAEtChJ,KAAK6wB,kBAAoB9B,EAAM,wBAEtC,oBASD,SAAOvzB,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,qBAAuBwE,KAAKowB,kBACjC50B,EAAK,aAAewE,KAAK4M,UACrB9D,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,GAAI+E,MAAMC,QAAQ/I,KAAKuwB,oBAAqB,CACxC/0B,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAKuwB,oBAAkB,IAAxC,2BACI,KADKvnB,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,GAAI+E,MAAMC,QAAQ/I,KAAKywB,qBAAsB,CACzCj1B,EAAK,uBAAyB,GAAG,IACQ,EADR,IAChBwE,KAAKywB,qBAAmB,IAAzC,2BACI,KADKznB,EAAI,QACTxN,EAAK,uBAAuBc,KAAK0M,EAAKjF,WAAU,+BAExD,GAAI+E,MAAMC,QAAQ/I,KAAK0wB,uBAAwB,CAC3Cl1B,EAAK,yBAA2B,GAAG,IACQ,EADR,IAClBwE,KAAK0wB,uBAAqB,IAA3C,2BACI,KADK1nB,EAAI,QACTxN,EAAK,yBAAyBc,KAAK0M,EAAKjF,WAAU,+BAE1D,GAAI+E,MAAMC,QAAQ/I,KAAK2wB,YAAa,CAChCn1B,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK2wB,YAAU,IAAhC,2BACI,KADK3nB,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAEtC,GAAIF,MAAMC,QAAQ/I,KAAK4wB,cAAe,CAClCp1B,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAK4wB,cAAY,IAAlC,2BACI,KADK5nB,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,IAAM,+BAGxC,OADAxN,EAAK,qBAAuBwE,KAAK6wB,kBAC1Br1B,KACV,qBA3CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIszB,EAEjB,OADAtzB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/DoC,IAoHzC,SAAYgzB,GACRA,oCACAA,gCACAA,sBACAA,yBAJJ,CAAYA,QAAiB,KAOtB,IA4CKiB,GAmEAC,GA/GCT,GAA0B,WAKnC,WAAY90B,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKgxB,aAAejC,EAAM,gBAC1B/uB,KAAKixB,mBAAqBlC,EAAM,sBAChC/uB,KAAKkxB,QAAUnC,EAAM,cAE5B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkBwE,KAAKgxB,aAC5Bx1B,EAAK,sBAAwBwE,KAAKixB,mBAClCz1B,EAAK,WAAawE,KAAKkxB,QAChB11B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyzB,EAEjB,OADAzzB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BkC,IA4CvC,SAAYi0B,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,WAAYh1B,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKyY,QAAUsW,EAAM,WACrB/uB,KAAKoxB,OAASrC,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKyY,QACvBjd,EAAK,UAAYwE,KAAKoxB,OACf51B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2zB,EAEjB,OADA3zB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzByB,IAwC9B,SAAYs0B,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,WAAY91B,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKuxB,MAAQxC,EAAM,SACnB/uB,KAAKwxB,OAASzC,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAKuxB,MACrB/1B,EAAK,UAAYwE,KAAKwxB,OACfh2B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAA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,KAAKR,GAClBhE,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,WAAawE,KAAKyY,QAChBjd,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2d,EAEjB,OADA3d,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3ByB,IA4C9B,SAAY2yC,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,IA4WKC,GAMAC,GAlXC/zB,GAAyB,WAIlC,WAAYtgB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKwzC,GAAoBnoC,OAAOqB,KAAO,+BAE1DhJ,KAAK84B,MAAQ/J,EAAM,YAE1B,oBASD,SAAOvzB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAGzC,OADAvI,EAAK,SAAWwE,KAAK84B,MACdt9B,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIif,EAEjB,OADAjf,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BiC,GAgDzBizC,GAAmB,WAuC5B,WAAYt0C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoDnD,OAjDA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAK0oC,kBAAoB3Z,EAAM,qBAC/B/uB,KAAK2oC,oBAAsB5Z,EAAM,uBACjC/uB,KAAK4oC,qCAAuC7Z,EAAM,wCAClD/uB,KAAK6oC,gCAAkC9Z,EAAM,mCAC7C/uB,KAAK8oC,kCAAoC/Z,EAAM,qCAC/C/uB,KAAK+oC,qBAAuBha,EAAM,wBAClC/uB,KAAKkpC,6BAA+Bna,EAAM,gCAC1C/uB,KAAK+vC,kBAAoBhhB,EAAM,qBAC/B/uB,KAAKmpC,iBAAmBpa,EAAM,oBAC9B/uB,KAAKgwC,YAAcjhB,EAAM,eACzB/uB,KAAKgoC,gBAAkBjZ,EAAM,mBAC7B/uB,KAAKkoC,kBAAoBnZ,EAAM,qBAC/B/uB,KAAKmoC,mCAAqCpZ,EAAM,sCAChD/uB,KAAKooC,8BAAgCrZ,EAAM,iCAC3C/uB,KAAKqoC,gCAAkCtZ,EAAM,mCAC7C/uB,KAAKsoC,mBAAqBvZ,EAAM,sBAChC/uB,KAAKyoC,2BAA6B1Z,EAAM,8BACxC/uB,KAAKy2B,cAAgB1H,EAAM,iBAC3B/uB,KAAKw2B,gBAAkBzH,EAAM,mBAC7B/uB,KAAKunC,iBAAmBxY,EAAM,oBAC9B/uB,KAAKs2B,eAAiBvH,EAAM,kBAC5B/uB,KAAK4nC,kBAAoB7Y,EAAM,qBAC/B/uB,KAAK+nC,0BAA4BhZ,EAAM,6BACvC/uB,KAAKynC,kCAAoC1Y,EAAM,qCAC/C/uB,KAAK2nC,+BAAiC5Y,EAAM,kCAC5C/uB,KAAK0nC,6BAA+B3Y,EAAM,mCAEjD,oBASD,SAAOvzB,GAuCH,OAtCAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,qBAAuBwE,KAAK0oC,kBACjCltC,EAAK,uBAAyBwE,KAAK2oC,oBACnCntC,EAAK,wCAA0CwE,KAAK4oC,qCACpDptC,EAAK,mCAAqCwE,KAAK6oC,gCAC/CrtC,EAAK,qCAAuCwE,KAAK8oC,kCACjDttC,EAAK,wBAA0BwE,KAAK+oC,qBACpCvtC,EAAK,gCAAkCwE,KAAKkpC,6BAC5C1tC,EAAK,qBAAuBwE,KAAK+vC,kBACjCv0C,EAAK,oBAAsBwE,KAAKmpC,iBAChC3tC,EAAK,eAAiBwE,KAAKgwC,YAC3Bx0C,EAAK,mBAAqBwE,KAAKgoC,gBAC/BxsC,EAAK,qBAAuBwE,KAAKkoC,kBACjC1sC,EAAK,sCAAwCwE,KAAKmoC,mCAClD3sC,EAAK,iCAAmCwE,KAAKooC,8BAC7C5sC,EAAK,mCAAqCwE,KAAKqoC,gCAC/C7sC,EAAK,sBAAwBwE,KAAKsoC,mBAClC9sC,EAAK,8BAAgCwE,KAAKyoC,2BAC1CjtC,EAAK,iBAAmBwE,KAAKy2B,cAC7Bj7B,EAAK,mBAAqBwE,KAAKw2B,gBAC/Bh7B,EAAK,oBAAsBwE,KAAKunC,iBAChC/rC,EAAK,kBAAoBwE,KAAKs2B,eAC9B96B,EAAK,qBAAuBwE,KAAK4nC,kBACjCpsC,EAAK,6BAA+BwE,KAAK+nC,0BACzCvsC,EAAK,qCAAuCwE,KAAKynC,kCACjDjsC,EAAK,kCAAoCwE,KAAK2nC,+BAC9CnsC,EAAK,gCAAkCwE,KAAK0nC,6BACrClsC,KACV,qBA/CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIizC,EAEjB,OADAjzC,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/F2B,GAoLnBozC,GAAoC,WAO7C,WAAYz0C,GACR,GADoD,UAChDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBmhB,GAA4BvoC,OAAOonB,EAAM,wBAA0BnuB,EACnHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIozC,EAEjB,OADApzC,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B4C,GAoDpCqzC,GAA2B,WAepC,WAAY10C,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAK6J,QAAUklB,EAAM,WACrB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKmwC,MAAQphB,EAAM,YAE1B,oBASD,SAAOvzB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,WAAawE,KAAK6J,QACvBrO,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,SAAWwE,KAAKmwC,MACd30C,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqzC,EAEjB,OADArzC,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/CmC,IAoFxC,SAAY+yC,GACRA,wBACAA,wBACAA,uCAHJ,CAAYA,QAAwB,KAMpC,SAAYC,GACRA,0CACAA,8CACAA,gCACAA,8BACAA,0BALJ,CAAYA,QAAoB,KAQzB,IAwNKO,GAxNCp0B,GAAwB,WAcjC,WAAYxgB,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKkmC,YAAcnX,EAAM,eACzB/uB,KAAKs2B,eAAiBvH,EAAM,kBAC5B/uB,KAAKw2B,gBAAkBzH,EAAM,mBAC7B/uB,KAAKy2B,cAAgB1H,EAAM,iBAC3B/uB,KAAKmmC,oBAAsBpX,EAAM,uBACjC/uB,KAAKomC,wBAA0BrX,EAAM,2BACrC/uB,KAAKqmC,OAAStX,EAAM,UACpB/uB,KAAKsmC,iBAAmBvX,EAAM,oBAC9B/uB,KAAKqwC,aAAethB,EAAM,gBAC1B/uB,KAAKswC,oBAAsBvhB,EAAM,uBACjC/uB,KAAKwmC,YAAczX,EAAM,kBAEhC,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,eAAiBwE,KAAKkmC,YAC3B1qC,EAAK,kBAAoBwE,KAAKs2B,eAC9B96B,EAAK,mBAAqBwE,KAAKw2B,gBAC/Bh7B,EAAK,iBAAmBwE,KAAKy2B,cAC7Bj7B,EAAK,uBAAyBwE,KAAKmmC,oBACnC3qC,EAAK,2BAA6BwE,KAAKomC,wBACvC5qC,EAAK,UAAYwE,KAAKqmC,OACtB7qC,EAAK,oBAAsBwE,KAAKsmC,iBAChC9qC,EAAK,gBAAkBwE,KAAKqwC,aAC5B70C,EAAK,uBAAyBwE,KAAKswC,oBACnC90C,EAAK,eAAiBwE,KAAKwmC,YACpBhrC,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImf,EAEjB,OADAnf,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CgC,GAgFxBqf,GAAyB,WAclC,WAAY1gB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKkmC,YAAcnX,EAAM,eACzB/uB,KAAKs2B,eAAiBvH,EAAM,kBAC5B/uB,KAAKw2B,gBAAkBzH,EAAM,mBAC7B/uB,KAAKy2B,cAAgB1H,EAAM,iBAC3B/uB,KAAKmmC,oBAAsBpX,EAAM,uBACjC/uB,KAAKomC,wBAA0BrX,EAAM,2BACrC/uB,KAAKqmC,OAAStX,EAAM,UACpB/uB,KAAKsmC,iBAAmBvX,EAAM,oBAC9B/uB,KAAKumC,YAAcxX,EAAM,eACzB/uB,KAAKwmC,YAAczX,EAAM,kBAEhC,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,eAAiBwE,KAAKkmC,YAC3B1qC,EAAK,kBAAoBwE,KAAKs2B,eAC9B96B,EAAK,mBAAqBwE,KAAKw2B,gBAC/Bh7B,EAAK,iBAAmBwE,KAAKy2B,cAC7Bj7B,EAAK,uBAAyBwE,KAAKmmC,oBACnC3qC,EAAK,2BAA6BwE,KAAKomC,wBACvC5qC,EAAK,UAAYwE,KAAKqmC,OACtB7qC,EAAK,oBAAsBwE,KAAKsmC,iBAChC9qC,EAAK,eAAiBwE,KAAKumC,YAC3B/qC,EAAK,eAAiBwE,KAAKwmC,YACpBhrC,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqf,EAEjB,OADArf,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CiC,GAgFzBuf,GAAe,WAQxB,WAAY5gB,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKopC,UAAYra,EAAM,aACvB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAK4pC,SAAW7a,EAAM,YACtB/uB,KAAK6pC,SAAW9a,EAAM,YACtB/uB,KAAKwpC,OAASza,EAAM,aAE3B,oBASD,SAAOvzB,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKopC,UACzB5tC,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,YAAcwE,KAAK4pC,SACxBpuC,EAAK,YAAcwE,KAAK6pC,SACxBruC,EAAK,UAAYwE,KAAKwpC,OACfhuC,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuf,EAEjB,OADAvf,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCuB,IAwD5B,SAAYuzC,GACRA,kDACAA,4BACAA,kCACAA,gDACAA,0EACAA,sDACAA,gDACAA,wCACAA,oCACAA,+DACAA,uDACAA,0CAZJ,CAAYA,QAAqB,KAe1B,IA4WKG,GA5WCj0B,GAAiC,WAK1C,WAAY9gB,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK2C,KAAOosB,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAKozB,YAAcrE,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK2C,KAAO3C,KAAK2C,KAAKmB,aAAY,QAAalD,EAC9DpF,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,eAAiBwE,KAAKozB,YACpB53B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyf,EAEjB,OADAzf,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3ByC,GA4CjC+f,GAAgB,WA2BzB,WAAYphB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4CnD,OAzCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAsBP,GArBA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAKgjC,oBAAsBjU,EAAM,uBAAyBlZ,EAAOlR,UAAUoqB,EAAM,uBAAuBzqB,iBAAmB1D,EAC3HZ,KAAKijC,kBAAoBlU,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKwwC,oBAAsBzhB,EAAM,uBACjC/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKywC,sBAAwB1hB,EAAM,yBACnC/uB,KAAK0wC,gBAAkB3hB,EAAM,mBAC7B/uB,KAAK2wC,cAAgB5hB,EAAM,iBAC3B/uB,KAAK4wC,IAAM7hB,EAAM,OACjB/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK6wC,aAAe9hB,EAAM,gBAC1B/uB,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAK2hC,YAAc5S,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK6uB,GAAqBxjB,OAAOqB,KAAO,+BAEjEhJ,KAAK+wC,YAAchiB,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKgxC,UAAYjiB,EAAM,aACvB/uB,KAAKixC,YAAcliB,EAAM,kBAEhC,oBASD,SAAOvzB,GAuBH,GAtBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,uBAAyBwE,KAAKgjC,oBAAsBhjC,KAAKgjC,oBAAoBl/B,aAAY,QAAalD,EAC3GpF,EAAK,qBAAuBwE,KAAKijC,kBAAoBjjC,KAAKijC,kBAAkBn/B,aAAY,QAAalD,EACrGpF,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,uBAAyBwE,KAAKwwC,oBACnCh1C,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,yBAA2BwE,KAAKywC,sBACrCj1C,EAAK,mBAAqBwE,KAAK0wC,gBAC/Bl1C,EAAK,iBAAmBwE,KAAK2wC,cAC7Bn1C,EAAK,OAASwE,KAAK4wC,IACnBp1C,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,gBAAkBwE,KAAK6wC,aAC5Br1C,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EACzFpF,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,eAAiBwE,KAAK2hC,YACvB74B,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,EAAKjF,WAAU,+BAK/C,OAHAvI,EAAK,eAAiBwE,KAAK+wC,YAAc/wC,KAAK+wC,YAAYjtC,aAAY,QAAalD,EACnFpF,EAAK,aAAewE,KAAKgxC,UACzBx1C,EAAK,eAAiBwE,KAAKixC,YACpBz1C,KACV,qBAvCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+f,EAEjB,OADA/f,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3EwB,GA4IhBsuB,GAAoB,WAK7B,WAAY3vB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKpC,KAAOmxB,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC/uB,KAAKqP,cAAgB,GAAU,IACQ,EADR,IACd0f,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACThJ,KAAKqP,cAAe/S,KAAK40C,GAAuBvpC,OAAOqB,KAAO,kCAG7E,oBASD,SAAOxN,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,QAAUwE,KAAKpC,KAChBkL,MAAMC,QAAQ/I,KAAKqP,eAAgB,CACnC7T,EAAK,iBAAmB,GAAG,IACQ,EADR,IACVwE,KAAKqP,eAAa,IAAnC,2BACI,KADKrG,EAAI,QACTxN,EAAK,iBAAiBc,KAAK0M,EAAKjF,WAAU,+BAElD,OAAOvI,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsuB,EAEjB,OADAtuB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B4B,GAoDpBq0C,GAAsB,WA0B/B,WAAY11C,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAKyhC,UAAY1S,EAAM,aACvB/uB,KAAKmxC,cAAgBpiB,EAAM,iBAC3B/uB,KAAK0hC,aAAe3S,EAAM,gBAC1B/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK42B,WAAa7H,EAAM,cACxB/uB,KAAK6jC,MAAQ9U,EAAM,SACnB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKwrB,QAAUuD,EAAM,WACrB/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAKoxC,mBAAqBriB,EAAM,sBAChC/uB,KAAKqxC,yBAA2BtiB,EAAM,4BACtC/uB,KAAK2hC,YAAc5S,EAAM,eACzB/uB,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAKs2B,eAAiBvH,EAAM,kBAC5B/uB,KAAKw2B,gBAAkBzH,EAAM,mBAC7B/uB,KAAKsxC,gBAAkBviB,EAAM,mBAC7B/uB,KAAKmmC,oBAAsBpX,EAAM,uBACjC/uB,KAAKomC,wBAA0BrX,EAAM,2BACrC/uB,KAAKsmC,iBAAmBvX,EAAM,oBAC9B/uB,KAAKumC,YAAcxX,EAAM,eACzB/uB,KAAKwmC,YAAczX,EAAM,kBAEhC,oBASD,SAAOvzB,GA0BH,OAzBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,aAAewE,KAAKyhC,UACzBjmC,EAAK,iBAAmBwE,KAAKmxC,cAC7B31C,EAAK,gBAAkBwE,KAAK0hC,aAC5BlmC,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,cAAgBwE,KAAK42B,WAC1Bp7B,EAAK,SAAWwE,KAAK6jC,MACrBroC,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,WAAawE,KAAKwrB,QACvBhwB,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,sBAAwBwE,KAAKoxC,mBAClC51C,EAAK,4BAA8BwE,KAAKqxC,yBACxC71C,EAAK,eAAiBwE,KAAK2hC,YAC3BnmC,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,kBAAoBwE,KAAKs2B,eAC9B96B,EAAK,mBAAqBwE,KAAKw2B,gBAC/Bh7B,EAAK,mBAAqBwE,KAAKsxC,gBAC/B91C,EAAK,uBAAyBwE,KAAKmmC,oBACnC3qC,EAAK,2BAA6BwE,KAAKomC,wBACvC5qC,EAAK,oBAAsBwE,KAAKsmC,iBAChC9qC,EAAK,eAAiBwE,KAAKumC,YAC3B/qC,EAAK,eAAiBwE,KAAKwmC,YACpBhrC,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq0C,EAEjB,OADAr0C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArE8B,IAgInC,SAAY0zC,GACRA,sCACAA,wDACAA,kDACAA,0DACAA,4CACAA,gEACAA,8CACAA,uCARJ,CAAYA,QAAoB,KAWzB,IAoGKgB,GApGCC,GAA6B,WAmBtC,WAAYh2C,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKyxC,aAAe1iB,EAAM,gBAC1B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAK0xC,YAAc3iB,EAAM,eACzB/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAK2xC,qBAAuB5iB,EAAM,wBAClC/uB,KAAK4xC,uBAAyB7iB,EAAM,0BACpC/uB,KAAK6xC,sBAAwB9iB,EAAM,yBACnC/uB,KAAK8xC,wBAA0B/iB,EAAM,2BACrC/uB,KAAK4wC,IAAM7hB,EAAM,OACjB/uB,KAAK2C,KAAOosB,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKmxC,cAAgBpiB,EAAM,iBAC3B/uB,KAAK+xC,kBAAoBhjB,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKgyC,mBAAqBjjB,EAAM,yBAEvC,oBASD,SAAOvzB,GAmBH,OAlBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,gBAAkBwE,KAAKyxC,aAC5Bj2C,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,eAAiBwE,KAAK0xC,YAC3Bl2C,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,wBAA0BwE,KAAK2xC,qBACpCn2C,EAAK,0BAA4BwE,KAAK4xC,uBACtCp2C,EAAK,yBAA2BwE,KAAK6xC,sBACrCr2C,EAAK,2BAA6BwE,KAAK8xC,wBACvCt2C,EAAK,OAASwE,KAAK4wC,IACnBp1C,EAAK,QAAUwE,KAAK2C,KAAO3C,KAAK2C,KAAKmB,aAAY,QAAalD,EAC9DpF,EAAK,iBAAmBwE,KAAKmxC,cAC7B31C,EAAK,qBAAuBwE,KAAK+xC,kBAAoB/xC,KAAK+xC,kBAAkBjuC,aAAY,QAAalD,EACrGpF,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EACzFpF,EAAK,sBAAwBwE,KAAKgyC,mBAC3Bx2C,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI20C,EAEjB,OADA30C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvDqC,IAoG1C,SAAY00C,GACRA,kCACAA,yCAFJ,CAAYA,QAAW,KAKhB,IAoQKU,GApQCn1B,GAA2B,WAIpC,WAAYthB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC/uB,KAAKqP,cAAgB,GAAU,IACQ,EADR,IACd0f,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACThJ,KAAKqP,cAAe/S,KAAK41C,GAAsBvqC,OAAOqB,KAAO,kCAG5E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqP,eAAgB,CACnC7T,EAAK,iBAAmB,GAAG,IACQ,EADR,IACVwE,KAAKqP,eAAa,IAAnC,2BACI,KADKrG,EAAI,QACTxN,EAAK,iBAAiBc,KAAK0M,EAAKjF,WAAU,+BAElD,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIigB,EAEjB,OADAjgB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BmC,GAgD3Bq1C,GAAqB,WAkC9B,WAAY12C,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+CnD,OA5CA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKmyC,iBAAmBpjB,EAAM,oBAC9B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKoyC,mBAAqBrjB,EAAM,sBAChC/uB,KAAK0wC,gBAAkB3hB,EAAM,mBAC7B/uB,KAAK2wC,cAAgB5hB,EAAM,iBAC3B/uB,KAAK4wC,IAAM7hB,EAAM,OACjB/uB,KAAKqyC,kBAAoBtjB,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKsyC,gBAAkBvjB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKgjC,oBAAsBjU,EAAM,uBAAyBlZ,EAAOlR,UAAUoqB,EAAM,uBAAuBzqB,iBAAmB1D,EAC3HZ,KAAKijC,kBAAoBlU,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAK8iC,cAAgB/T,EAAM,iBAC3B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAKyhC,UAAY1S,EAAM,aACvB/uB,KAAK0hC,aAAe3S,EAAM,gBAC1B/uB,KAAKmxC,cAAgBpiB,EAAM,iBAC3B/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK42B,WAAa7H,EAAM,cACxB/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAK2hC,YAAc5S,EAAM,eACzB/uB,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK6jC,MAAQ9U,EAAM,SACnB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKwrB,QAAUuD,EAAM,WACrB/uB,KAAKuyC,sBAAwBxjB,EAAM,yBACnC/uB,KAAKwyC,sBAAwBzjB,EAAM,4BAE1C,oBASD,SAAOvzB,GAkCH,OAjCAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,oBAAsBwE,KAAKmyC,iBAChC32C,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,sBAAwBwE,KAAKoyC,mBAClC52C,EAAK,mBAAqBwE,KAAK0wC,gBAC/Bl1C,EAAK,iBAAmBwE,KAAK2wC,cAC7Bn1C,EAAK,OAASwE,KAAK4wC,IACnBp1C,EAAK,qBAAuBwE,KAAKqyC,kBAAoBryC,KAAKqyC,kBAAkBvuC,aAAY,QAAalD,EACrGpF,EAAK,mBAAqBwE,KAAKsyC,gBAAkBtyC,KAAKsyC,gBAAgBxuC,aAAY,QAAalD,EAC/FpF,EAAK,uBAAyBwE,KAAKgjC,oBAAsBhjC,KAAKgjC,oBAAoBl/B,aAAY,QAAalD,EAC3GpF,EAAK,qBAAuBwE,KAAKijC,kBAAoBjjC,KAAKijC,kBAAkBn/B,aAAY,QAAalD,EACrGpF,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,iBAAmBwE,KAAK8iC,cAC7BtnC,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,aAAewE,KAAKyhC,UACzBjmC,EAAK,gBAAkBwE,KAAK0hC,aAC5BlmC,EAAK,iBAAmBwE,KAAKmxC,cAC7B31C,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,cAAgBwE,KAAK42B,WAC1Bp7B,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,eAAiBwE,KAAK2hC,YAC3BnmC,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EACzFpF,EAAK,SAAWwE,KAAK6jC,MACrBroC,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,WAAawE,KAAKwrB,QACvBhwB,EAAK,yBAA2BwE,KAAKuyC,sBACrC/2C,EAAK,yBAA2BwE,KAAKwyC,sBAC9Bh3C,KACV,qBA1CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq1C,EAEjB,OADAr1C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArF6B,GAgKrB41C,GAAsC,WAO/C,WAAYj3C,GACR,GADsD,UAClDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4qB,wBAA0BmE,EAAM,2BAA6ByiB,GAA8B7pC,OAAOonB,EAAM,iCAAmCnuB,EAChJZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,2BAA6BwE,KAAK4qB,wBAA0B5qB,KAAK4qB,wBAAwB7mB,cAAgBnD,EAC9GpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI41C,EAEjB,OADA51C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B8C,IAoDnD,SAAYo1C,GACRA,sCACAA,4BACAA,wBACAA,gCACAA,kCACAA,kCACAA,sBACAA,wBACAA,yCATJ,CAAYA,QAAsB,KAY3B,IAoHKS,GApHCC,GAAW,WAGpB,WAAYn3C,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACD,GAAIA,GACIjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC/uB,KAAKid,aAAe,GAAU,IACQ,EADR,IACb8R,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAKid,aAAc3gB,KAAK0M,IAAM,kCAG7C,oBASD,SAAOxN,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKid,cAAe,CAClCzhB,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAKid,cAAY,IAAlC,2BACI,KADKjU,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,IAAM,+BAExC,OAAOxN,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI81C,EAEjB,OADA91C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BmB,GA4CX+1C,GAAuB,WAUhC,WAAYp3C,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC/uB,KAAKid,aAAe,GAAU,IACQ,EADR,IACb8R,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAKid,aAAc3gB,KAAK0M,IAAM,+BAEtChJ,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK6yC,sBAAwB9jB,EAAM,yBAA2BlZ,EAAOlR,UAAUoqB,EAAM,yBAAyBzqB,iBAAmB1D,EACjIZ,KAAK8yC,oBAAsB/jB,EAAM,uBAAyBlZ,EAAOlR,UAAUoqB,EAAM,uBAAuBzqB,iBAAmB1D,EAC3HZ,KAAK+yC,cAAgBhkB,EAAM,iBAC3B/uB,KAAKgzC,kBAAoBjkB,EAAM,qBAC/B/uB,KAAKizC,WAAalkB,EAAM,iBAE/B,oBASD,SAAOvzB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKid,cAAe,CAClCzhB,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAKid,cAAY,IAAlC,2BACI,KADKjU,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,IAAM,+BASxC,OAPAxN,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,yBAA2BwE,KAAK6yC,sBAAwB7yC,KAAK6yC,sBAAsB/uC,aAAY,QAAalD,EACjHpF,EAAK,uBAAyBwE,KAAK8yC,oBAAsB9yC,KAAK8yC,oBAAoBhvC,aAAY,QAAalD,EAC3GpF,EAAK,iBAAmBwE,KAAK+yC,cAC7Bv3C,EAAK,qBAAuBwE,KAAKgzC,kBACjCx3C,EAAK,cAAgBwE,KAAKizC,WACnBz3C,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+1C,EAEjB,OADA/1C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzC+B,IAwEpC,SAAY61C,GACRA,kDACAA,wBACAA,yCAHJ,CAAYA,QAAa,KAMlB,IAg2BKQ,GAh2BCC,GAA4B,WAIrC,WAAY33C,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK8K,WAAaikB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,iBAAiB,CACrC/uB,KAAK0P,YAAc,GAAU,IACQ,EADR,IACZqf,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK0P,YAAapT,KAAK0M,IAAM,kCAG5C,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAK8K,WACtBhC,MAAMC,QAAQ/I,KAAK0P,aAAc,CACjClU,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK0P,aAAW,IAAjC,2BACI,KADK1G,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAEvC,OAAOxN,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs2C,EAEjB,OADAt2C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BoC,GAgD5Bu2C,GAAkB,WAS3B,WAAY53C,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkCnD,OA/BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAIP,GAHA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKkB,QAAU6tB,EAAM,WACrB/uB,KAAK6Q,gBAAkBke,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C/uB,KAAK+d,kBAAoB,GAAU,IACQ,EADR,IAClBgR,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAK+d,kBAAmBzhB,KAAK0M,IAAM,+BAE3C,GAAIF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAK2d,YAAc,GAAU,IACQ,EADR,IACZoR,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK2d,YAAarhB,KAAK0M,IAAM,+BAGrC,GADAhJ,KAAK61B,gBAAkB9G,EAAM,mBAAqBnD,GAAmBjkB,OAAOonB,EAAM,yBAA2BnuB,EACzGkI,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAKqzC,mBAAqB,GAAU,IACQ,EADR,IACnBtkB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAKqzC,mBAAoB/2C,KAAKg3C,GAAqB3rC,OAAOqB,KAAO,mCAGhF,oBASD,SAAOxN,GAKH,GAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,WAAawE,KAAKkB,QACvB1F,EAAK,mBAAqBwE,KAAK6Q,gBAC3B/H,MAAMC,QAAQ/I,KAAK+d,mBAAoB,CACvCviB,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAK+d,mBAAiB,IAAvC,2BACI,KADK/U,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,IAAM,+BAE7C,GAAIF,MAAMC,QAAQ/I,KAAK2d,aAAc,CACjCniB,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK2d,aAAW,IAAjC,2BACI,KADK3U,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAGvC,GADAxN,EAAK,mBAAqBwE,KAAK61B,gBAAkB71B,KAAK61B,gBAAgB9xB,cAAgBnD,EAClFkI,MAAMC,QAAQ/I,KAAKqzC,oBAAqB,CACxC73C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAKqzC,oBAAkB,IAAxC,2BACI,KADKrqC,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,OAAOvI,KACV,qBA7BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIu2C,EAEjB,OADAv2C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/C0B,GAoFlB+uB,GAAkB,WAI3B,WAAYpwB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKu6B,KAAOxL,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKuC,GAAKwsB,EAAM,MAAQlZ,EAAOlR,UAAUoqB,EAAM,MAAMzqB,iBAAmB1D,KAE/E,oBASD,SAAOpF,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKu6B,KAAOv6B,KAAKu6B,KAAKz2B,aAAY,QAAalD,EAC9DpF,EAAK,MAAQwE,KAAKuC,GAAKvC,KAAKuC,GAAGuB,aAAY,QAAalD,EACjDpF,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+uB,EAEjB,OADA/uB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB0B,GAwClBy2C,GAAoB,WAQ7B,WAAY93C,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKuzC,OAASxkB,EAAM,UACpB/uB,KAAKu6B,KAAOxL,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKuC,GAAKwsB,EAAM,MAAQlZ,EAAOlR,UAAUoqB,EAAM,MAAMzqB,iBAAmB1D,EACxEZ,KAAK+yC,cAAgBhkB,EAAM,iBAC3B/uB,KAAKwjC,kBAAoBzU,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKyjC,gBAAkB1U,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,KAEtH,oBASD,SAAOpF,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKuzC,OACtB/3C,EAAK,QAAUwE,KAAKu6B,KAAOv6B,KAAKu6B,KAAKz2B,aAAY,QAAalD,EAC9DpF,EAAK,MAAQwE,KAAKuC,GAAKvC,KAAKuC,GAAGuB,aAAY,QAAalD,EACxDpF,EAAK,iBAAmBwE,KAAK+yC,cAC7Bv3C,EAAK,qBAAuBwE,KAAKwjC,kBAAoBxjC,KAAKwjC,kBAAkB1/B,aAAY,QAAalD,EACrGpF,EAAK,mBAAqBwE,KAAKyjC,gBAAkBzjC,KAAKyjC,gBAAgB3/B,aAAY,QAAalD,EACxFpF,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIy2C,EAEjB,OADAz2C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjC4B,GAwDpBghB,GAA2B,WAKpC,WAAYriB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKwzC,MAAQzkB,EAAM,SACnB/uB,KAAKpC,KAAOmxB,EAAM,WAEzB,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,SAAWwE,KAAKwzC,MACrBh4C,EAAK,QAAUwE,KAAKpC,KACbpC,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIghB,EAEjB,OADAhhB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BmC,GA4C3BohB,GAAiC,WAO1C,WAAYziB,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKwzC,MAAQzkB,EAAM,SACnB/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAKyzC,OAAS1kB,EAAM,UACpB/uB,KAAKqiC,mBAAqBtT,EAAM,yBAEvC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,SAAWwE,KAAKwzC,MACrBh4C,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,UAAYwE,KAAKyzC,OACtBj4C,EAAK,sBAAwBwE,KAAKqiC,mBAC3B7mC,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIohB,EAEjB,OADAphB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/ByC,GAoDjCshB,GAA+B,WAKxC,WAAY3iB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKo3C,GAA0B/rC,OAAOqB,KAAO,+BAEhEhJ,KAAK84B,MAAQ/J,EAAM,SACnB/uB,KAAK2zC,WAAa5kB,EAAM,cAAgB6kB,GAAcjsC,OAAOonB,EAAM,oBAAsBnuB,KAEhG,oBASD,SAAOpF,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAIzC,OAFAvI,EAAK,SAAWwE,KAAK84B,MACrBt9B,EAAK,cAAgBwE,KAAK2zC,WAAa3zC,KAAK2zC,WAAW5vC,cAAgBnD,EAChEpF,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIshB,EAEjB,OADAthB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BuC,GAoD/B62C,GAAyB,WA+BlC,WAAYl4C,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwDnD,OArDA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CA2BP,GA1BA/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK6zC,SAAW9kB,EAAM,YACtB/uB,KAAK2hC,YAAc5S,EAAM,eACzB/uB,KAAK6jC,MAAQ9U,EAAM,SACnB/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAK8zC,cAAgB/kB,EAAM,iBAC3B/uB,KAAK+zC,kBAAoBhlB,EAAM,qBAC/B/uB,KAAKg0C,mBAAqBjlB,EAAM,sBAChC/uB,KAAKi0C,aAAellB,EAAM,gBAC1B/uB,KAAKk0C,UAAYnlB,EAAM,aACvB/uB,KAAKm0C,cAAgBplB,EAAM,iBAC3B/uB,KAAKo0C,SAAWrlB,EAAM,YACtB/uB,KAAKq0C,mBAAqBtlB,EAAM,sBAChC/uB,KAAK6Q,gBAAkBke,EAAM,mBAC7B/uB,KAAKo6B,cAAgBrL,EAAM,iBAAmBne,GAAiBjJ,OAAOonB,EAAM,uBAAyBnuB,EACrGZ,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAK61B,gBAAkB9G,EAAM,mBAAqBnD,GAAmBjkB,OAAOonB,EAAM,yBAA2BnuB,EACzGkI,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAKqzC,mBAAqB,GAAU,IACQ,EADR,IACnBtkB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAKqzC,mBAAoB/2C,KAAKsvB,GAAmBjkB,OAAOqB,KAAO,+BAEvE,GAAIF,MAAMC,QAAQgmB,EAAM,cAAe,CACnC/uB,KAAKs0C,UAAY,GAAU,IACQ,EADR,IACVvlB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAKs0C,UAAWh4C,KAAKi4C,GAA+B5sC,OAAOqB,KAAO,+BAE1E,GAAIF,MAAMC,QAAQgmB,EAAM,kBAAmB,CACvC/uB,KAAKw0C,cAAgB,GAAU,IACQ,EADR,IACdzlB,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACThJ,KAAKw0C,cAAel4C,KAAKi4C,GAA+B5sC,OAAOqB,KAAO,mCAGrF,oBASD,SAAOxN,GA4BH,GA3BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,YAAcwE,KAAK6zC,SACxBr4C,EAAK,eAAiBwE,KAAK2hC,YAC3BnmC,EAAK,SAAWwE,KAAK6jC,MACrBroC,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,iBAAmBwE,KAAK8zC,cAC7Bt4C,EAAK,qBAAuBwE,KAAK+zC,kBACjCv4C,EAAK,sBAAwBwE,KAAKg0C,mBAClCx4C,EAAK,gBAAkBwE,KAAKi0C,aAC5Bz4C,EAAK,aAAewE,KAAKk0C,UACzB14C,EAAK,iBAAmBwE,KAAKm0C,cAC7B34C,EAAK,YAAcwE,KAAKo0C,SACxB54C,EAAK,sBAAwBwE,KAAKq0C,mBAClC74C,EAAK,mBAAqBwE,KAAK6Q,gBAC/BrV,EAAK,iBAAmBwE,KAAKo6B,cAAgBp6B,KAAKo6B,cAAcr2B,cAAgBnD,EAChFpF,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,mBAAqBwE,KAAK61B,gBAAkB71B,KAAK61B,gBAAgB9xB,cAAgBnD,EAClFkI,MAAMC,QAAQ/I,KAAKqzC,oBAAqB,CACxC73C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAKqzC,oBAAkB,IAAxC,2BACI,KADKrqC,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,GAAI+E,MAAMC,QAAQ/I,KAAKs0C,WAAY,CAC/B94C,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAKs0C,WAAS,IAA/B,2BACI,KADKtrC,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAE9C,GAAI+E,MAAMC,QAAQ/I,KAAKw0C,eAAgB,CACnCh5C,EAAK,iBAAmB,GAAG,IACQ,EADR,IACVwE,KAAKw0C,eAAa,IAAnC,2BACI,KADKxrC,EAAI,QACTxN,EAAK,iBAAiBc,KAAK0M,EAAKjF,WAAU,+BAElD,OAAOvI,KACV,qBAnDD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI62C,EAEjB,OADA72C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3FiC,GA4KzB03C,GAA8B,WASvC,WAAY/4C,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKyhC,UAAY1S,EAAM,aACvB/uB,KAAK0hC,aAAe3S,EAAM,gBAC1B/uB,KAAK42B,WAAa7H,EAAM,cACxB/uB,KAAKy0C,kBAAoB1lB,EAAM,qBAC/B/uB,KAAK00C,mBAAqB3lB,EAAM,sBAChC/uB,KAAKqhC,KAAOtS,EAAM,WAEzB,oBASD,SAAOvzB,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKyhC,UACzBjmC,EAAK,gBAAkBwE,KAAK0hC,aAC5BlmC,EAAK,cAAgBwE,KAAK42B,WAC1Bp7B,EAAK,qBAAuBwE,KAAKy0C,kBACjCj5C,EAAK,sBAAwBwE,KAAK00C,mBAClCl5C,EAAK,QAAUwE,KAAKqhC,KACb7lC,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI03C,EAEjB,OADA13C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnCsC,GA4D9B+2C,GAAa,WAItB,WAAYp4C,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC/uB,KAAK20C,OAAS,GAAU,IACQ,EADR,IACP5lB,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK20C,OAAQr4C,KAAKs4C,GAAgCjtC,OAAOqB,KAAO,kCAG/E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACrB9D,MAAMC,QAAQ/I,KAAK20C,QAAS,CAC5Bn5C,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK20C,QAAM,IAA5B,2BACI,KADK3rC,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+2C,EAEjB,OADA/2C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BqB,GAgDb+3C,GAA+B,WAIxC,WAAYp5C,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK60C,aAAe9lB,EAAM,gBACtBjmB,MAAMC,QAAQgmB,EAAM,iBAAiB,CACrC/uB,KAAK80C,YAAc,GAAU,IACQ,EADR,IACZ/lB,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK80C,YAAax4C,KAAK0M,IAAM,kCAG5C,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkBwE,KAAK60C,aACxB/rC,MAAMC,QAAQ/I,KAAK80C,aAAc,CACjCt5C,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK80C,aAAW,IAAjC,2BACI,KADK9rC,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAEvC,OAAOxN,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+3C,EAEjB,OADA/3C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BuC,GAgD/Bk4C,GAA0C,WAOnD,WAAYv5C,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBimB,GAAkCrtC,OAAOonB,EAAM,wBAA0BnuB,EACzHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk4C,EAEjB,OADAl4C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BkD,GAoD1Cm4C,GAAiC,WAe1C,WAAYx5C,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwCnD,OArCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAMP,GALA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAK0xC,YAAc3iB,EAAM,eACzB/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKi1C,YAAclmB,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BAEpC,GAAIF,MAAMC,QAAQgmB,EAAM,oBAAqB,CACzC/uB,KAAKk1C,gBAAkB,GAAU,IACQ,EADR,IAChBnmB,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACThJ,KAAKk1C,gBAAiB54C,KAAK0M,IAAM,+BAEzC,GAAIF,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C/uB,KAAKm1C,kBAAoB,GAAU,IACQ,EADR,IAClBpmB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAKm1C,kBAAmB74C,KAAK0M,IAAM,+BAE3ChJ,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKo1C,mBAAqBrmB,EAAM,yBAEvC,oBASD,SAAOvzB,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,eAAiBwE,KAAK0xC,YAC3Bl2C,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,eAAiBwE,KAAKi1C,YACvBnsC,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAEtC,GAAIF,MAAMC,QAAQ/I,KAAKk1C,iBAAkB,CACrC15C,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZwE,KAAKk1C,iBAAe,IAArC,2BACI,KADKlsC,EAAI,QACTxN,EAAK,mBAAmBc,KAAK0M,IAAM,+BAE3C,GAAIF,MAAMC,QAAQ/I,KAAKm1C,mBAAoB,CACvC35C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAKm1C,mBAAiB,IAAvC,2BACI,KADKnsC,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,IAAM,+BAO7C,OALAxN,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,sBAAwBwE,KAAKo1C,mBAC3B55C,KACV,qBAnCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIm4C,EAEjB,OADAn4C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3DyC,IA4G9C,SAAYq2C,GACRA,0BACAA,sCACAA,+BAHJ,CAAYA,QAA0B,KAM/B,IAimFKmC,GAjmFCC,GAA2B,WAQpC,WAAY95C,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKkiC,sBAAwBnT,EAAM,yBAC/BjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC/uB,KAAK62B,OAAS,GAAU,IACQ,EADR,IACP9H,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK62B,OAAQv6B,KAAKi5C,GAAsB5tC,OAAOqB,KAAO,kCAGrE,oBASD,SAAOxN,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,yBAA2BwE,KAAKkiC,sBACjCp5B,MAAMC,QAAQ/I,KAAK62B,QAAS,CAC5Br7B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK62B,QAAM,IAA5B,2BACI,KADK7tB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,OAAOvI,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIy4C,EAEjB,OADAz4C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCmC,GAgE3B04C,GAAqB,WAK9B,WAAY/5C,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK+2B,MAAQhI,EAAM,SACnB/uB,KAAK42B,WAAa7H,EAAM,iBAE/B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,SAAWwE,KAAK+2B,MACrBv7B,EAAK,cAAgBwE,KAAK42B,WACnBp7B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI04C,EAEjB,OADA14C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B6B,GA4CrB+hB,GAAgB,WAazB,WAAYpjB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA8BnD,OA3BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C/uB,KAAKw1C,kBAAoB,GAAU,IACQ,EADR,IAClBzmB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAKw1C,kBAAmBl5C,KAAK0M,IAAM,+BAE3ChJ,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK0gC,4BAA8B3R,EAAM,+BACzC/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKw1C,mBAAoB,CACvCh6C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAKw1C,mBAAiB,IAAvC,2BACI,KADKxsC,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,IAAM,+BAY7C,OAVAxN,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,+BAAiCwE,KAAK0gC,4BAC3CllC,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBAzBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+hB,EAEjB,OADA/hB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/CwB,GAoFhBkiB,GAAkB,WAK3B,WAAYvjB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKs8B,UAAYvN,EAAM,gBAE9B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAKs8B,UAClB9gC,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkiB,EAEjB,OADAliB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B0B,GA4ClB44C,GAAmB,WAW5B,WAAYj6C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAGP,GAFA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACnFkI,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAK2d,YAAc,GAAU,IACQ,EADR,IACZoR,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK2d,YAAarhB,KAAK0M,IAAM,+BAOrC,GALAhJ,KAAK21C,MAAQ5mB,EAAM,SAAW6mB,GAAuBjuC,OAAOonB,EAAM,eAAiBnuB,EACnFZ,KAAK0gC,4BAA8B3R,EAAM,+BACzC/uB,KAAK6/B,0BAA4B9Q,EAAM,6BACvC/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAK6Q,gBAAkBke,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,mCAG3C,oBASD,SAAOxN,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACnEkI,MAAMC,QAAQ/I,KAAK2d,aAAc,CACjCniB,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK2d,aAAW,IAAjC,2BACI,KADK3U,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAOvC,GALAxN,EAAK,SAAWwE,KAAK21C,MAAQ31C,KAAK21C,MAAM5xC,cAAgBnD,EACxDpF,EAAK,+BAAiCwE,KAAK0gC,4BAC3CllC,EAAK,6BAA+BwE,KAAK6/B,0BACzCrkC,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,mBAAqBwE,KAAK6Q,gBAC3B/H,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAEtC,OAAOxN,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI44C,EAEjB,OADA54C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/C2B,GAoFnB+4C,GAAsB,WAM/B,WAAYp6C,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK61C,gBAAkB9mB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,KAEhH,oBASD,SAAOpF,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,mBAAqBwE,KAAK61C,gBAAkB71C,KAAK61C,gBAAgB/xC,aAAY,QAAalD,EAC/FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EAClFpF,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+4C,EAEjB,OADA/4C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B8B,GAgDtBoiB,GAA0B,WAoBnC,WAAYzjB,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6CnD,OA1CA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAQP,GAPA/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK61C,gBAAkB9mB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK81C,sBAAwB/mB,EAAM,yBACnC/uB,KAAK+1C,wBAA0BhnB,EAAM,2BACrC/uB,KAAKgzC,kBAAoBjkB,EAAM,qBAC3BjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BASpC,GAPAhJ,KAAKg2C,cAAgBjnB,EAAM,iBAC3B/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKi2C,QAAUlnB,EAAM,WACrB/uB,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACnFkI,MAAMC,QAAQgmB,EAAM,WAAY,CAChC/uB,KAAK62B,OAAS,GAAU,IACQ,EADR,IACP9H,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK62B,OAAQv6B,KAAK45C,GAA0BvuC,OAAOqB,KAAO,+BAElE,GAAIF,MAAMC,QAAQgmB,EAAM,cAAe,CACnC/uB,KAAKm2C,UAAY,GAAU,IACQ,EADR,IACVpnB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAKm2C,UAAW75C,KAAKqQ,GAAchF,OAAOqB,KAAO,+BAEzDhJ,KAAKo2C,aAAernB,EAAM,mBAEjC,oBASD,SAAOvzB,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,mBAAqBwE,KAAK61C,gBAAkB71C,KAAK61C,gBAAgB/xC,aAAY,QAAalD,EAC/FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,yBAA2BwE,KAAK81C,sBACrCt6C,EAAK,2BAA6BwE,KAAK+1C,wBACvCv6C,EAAK,qBAAuBwE,KAAKgzC,kBAC7BlqC,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAStC,GAPAxN,EAAK,iBAAmBwE,KAAKg2C,cAC7Bx6C,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,WAAawE,KAAKi2C,QACvBz6C,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACnEkI,MAAMC,QAAQ/I,KAAK62B,QAAS,CAC5Br7B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK62B,QAAM,IAA5B,2BACI,KADK7tB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,GAAI+E,MAAMC,QAAQ/I,KAAKm2C,WAAY,CAC/B36C,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAKm2C,WAAS,IAA/B,2BACI,KADKntC,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAG9C,OADAvI,EAAK,gBAAkBwE,KAAKo2C,aACrB56C,KACV,qBAxCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIoiB,EAEjB,OADApiB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArEkC,GAgI1Bq5C,GAAyB,WAUlC,WAAY16C,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKq2C,qBAAuBtnB,EAAM,wBAClC/uB,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK+2B,MAAQhI,EAAM,SACnB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK8K,WAAaikB,EAAM,iBAE/B,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,wBAA0BwE,KAAKq2C,qBACpC76C,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,SAAWwE,KAAK+2B,MACrBv7B,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,cAAgBwE,KAAK8K,WACnBtP,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq5C,EAEjB,OADAr5C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCiC,GAgEzBy5C,GAAmB,WAG5B,WAAY96C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAgBnD,OAbA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKq2C,qBAAuBtnB,EAAM,2BAEzC,oBASD,SAAOvzB,GAGH,OAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,wBAA0BwE,KAAKq2C,qBAC7B76C,KACV,qBAXD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIy5C,EAEjB,OADAz5C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvB2B,GAoCnB0iB,GAAsB,WAU/B,WAAY/jB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKgzC,kBAAoBjkB,EAAM,qBAC/B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAK6Q,gBAAkBke,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC/uB,KAAK62B,OAAS,GAAU,IACQ,EADR,IACP9H,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK62B,OAAQv6B,KAAK45C,GAA0BvuC,OAAOqB,KAAO,kCAGzE,oBASD,SAAOxN,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACvEpF,EAAK,qBAAuBwE,KAAKgzC,kBACjCx3C,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,mBAAqBwE,KAAK6Q,gBAC3B/H,MAAMC,QAAQ/I,KAAK62B,QAAS,CAC5Br7B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK62B,QAAM,IAA5B,2BACI,KADK7tB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,OAAOvI,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0iB,EAEjB,OADA1iB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzC8B,GAwEtB05C,GAAyB,WAOlC,WAAY/6C,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAK08B,KAAO3N,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,YAAY,CAChC/uB,KAAK62B,OAAS,GAAU,IACQ,EADR,IACP9H,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK62B,OAAQv6B,KAAKk6C,GAA+B7uC,OAAOqB,KAAO,kCAG9E,oBASD,SAAOxN,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,QAAUwE,KAAK08B,KAChB5zB,MAAMC,QAAQ/I,KAAK62B,QAAS,CAC5Br7B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK62B,QAAM,IAA5B,2BACI,KADK7tB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,OAAOvI,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI05C,EAEjB,OADA15C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnCiC,GA4DzB25C,GAA8B,WAIvC,WAAYh7C,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK+2B,MAAQhI,EAAM,YAE1B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,SAAWwE,KAAK+2B,MACdv7B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI25C,EAEjB,OADA35C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBsC,GAwC9B+iB,GAA4B,WAkBrC,WAAYpkB,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAQP,GAPA/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK61C,gBAAkB9mB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK81C,sBAAwB/mB,EAAM,yBACnC/uB,KAAK+1C,wBAA0BhnB,EAAM,2BACrC/uB,KAAKgzC,kBAAoBjkB,EAAM,qBAC3BjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BAOpC,GALAhJ,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKi2C,QAAUlnB,EAAM,WACrB/uB,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACnFkI,MAAMC,QAAQgmB,EAAM,WAAY,CAChC/uB,KAAK62B,OAAS,GAAU,IACQ,EADR,IACP9H,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK62B,OAAQv6B,KAAK45C,GAA0BvuC,OAAOqB,KAAO,+BAElEhJ,KAAKo2C,aAAernB,EAAM,gBAC1B/uB,KAAK41B,WAAa7G,EAAM,iBAE/B,oBASD,SAAOvzB,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,mBAAqBwE,KAAK61C,gBAAkB71C,KAAK61C,gBAAgB/xC,aAAY,QAAalD,EAC/FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,yBAA2BwE,KAAK81C,sBACrCt6C,EAAK,2BAA6BwE,KAAK+1C,wBACvCv6C,EAAK,qBAAuBwE,KAAKgzC,kBAC7BlqC,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAOtC,GALAxN,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,WAAawE,KAAKi2C,QACvBz6C,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACnEkI,MAAMC,QAAQ/I,KAAK62B,QAAS,CAC5Br7B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK62B,QAAM,IAA5B,2BACI,KADK7tB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAI3C,OAFAvI,EAAK,gBAAkBwE,KAAKo2C,aAC5B56C,EAAK,cAAgBwE,KAAK41B,WACnBp6B,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+iB,EAEjB,OADA/iB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7DoC,GAgH5Bsa,GAAO,WAMhB,WAAY3b,GACR,GADuB,UACnBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKimC,QAAUlX,EAAM,WACrB/uB,KAAK06B,KAAO3L,EAAM,QAClB/uB,KAAK8lC,YAAc/W,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKy2C,KAAO1nB,EAAM,WAEzB,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKimC,QACvBzqC,EAAK,QAAUwE,KAAK06B,KACpBl/B,EAAK,eAAiBwE,KAAK8lC,YAAc9lC,KAAK8lC,YAAYhiC,aAAY,QAAalD,EACnFpF,EAAK,QAAUwE,KAAKy2C,KACbj7C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsa,EAEjB,OADAta,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7Be,GAgDP65C,GAAoB,WAO7B,WAAYl7C,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK22C,cAAgB5nB,EAAM,iBAC3B/uB,KAAK42C,UAAY7nB,EAAM,aACvB/uB,KAAKkgC,oBAAsBnR,EAAM,uBACjC/uB,KAAKigC,oBAAsBlR,EAAM,0BAExC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK22C,cAC7Bn7C,EAAK,aAAewE,KAAK42C,UACzBp7C,EAAK,uBAAyBwE,KAAKkgC,oBACnC1kC,EAAK,uBAAyBwE,KAAKigC,oBAC5BzkC,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI65C,EAEjB,OADA75C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B4B,GAoDpBojB,GAAuB,WAchC,WAAYzkB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkgB,WAAa6O,EAAM,cACxB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK62C,cAAgB9nB,EAAM,iBAC3B/uB,KAAK82C,gBAAkB/nB,EAAM,mBAC7B/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKslB,WAAayJ,EAAM,cACxB/uB,KAAK+2C,aAAehoB,EAAM,gBAC1B/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK61C,gBAAkB9mB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKg3C,gBAAkBjoB,EAAM,sBAEpC,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKkgB,WAC1B1kB,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK62C,cAC7Br7C,EAAK,mBAAqBwE,KAAK82C,gBAC/Bt7C,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,cAAgBwE,KAAKslB,WAC1B9pB,EAAK,gBAAkBwE,KAAK+2C,aAC5Bv7C,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,mBAAqBwE,KAAK61C,gBAAkB71C,KAAK61C,gBAAgB/xC,aAAY,QAAalD,EAC/FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,mBAAqBwE,KAAKg3C,gBACxBx7C,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIojB,EAEjB,OADApjB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7C+B,GAgFvBujB,GAAiB,WAc1B,WAAY5kB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAKi3C,MAAQloB,EAAM,SACnB/uB,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKk3C,MAAQnoB,EAAM,SACnB/uB,KAAKmqC,WAAapb,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKoH,OAAS2nB,EAAM,aAE3B,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,SAAWwE,KAAKi3C,MACrBz7C,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,SAAWwE,KAAKk3C,MACrB17C,EAAK,cAAgBwE,KAAKmqC,WAC1B3uC,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,UAAYwE,KAAKoH,OACf5L,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIujB,EAEjB,OADAvjB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CyB,GAgFjBs6C,GAAuB,WAWhC,WAAY37C,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK21C,MAAQ5mB,EAAM,SAAW6mB,GAAuBjuC,OAAOonB,EAAM,eAAiBnuB,EACnFZ,KAAKo3C,iBAAmBroB,EAAM,oBAAsBsoB,GAAkC1vC,OAAOonB,EAAM,0BAA4BnuB,EAC/HZ,KAAK0lC,SAAW3W,EAAM,YAAcuoB,GAA0B3vC,OAAOonB,EAAM,kBAAoBnuB,EAC/FZ,KAAKu3C,UAAYxoB,EAAM,aAAeyoB,GAA2B7vC,OAAOonB,EAAM,mBAAqBnuB,EACnGZ,KAAKy3C,eAAiB1oB,EAAM,kBAAoB2oB,GAAgC/vC,OAAOonB,EAAM,wBAA0BnuB,EACvHZ,KAAK23C,aAAe5oB,EAAM,gBAAkB/K,GAA2Brc,OAAOonB,EAAM,sBAAwBnuB,EAC5GZ,KAAK43C,aAAe7oB,EAAM,gBAAkB8oB,GAAkClwC,OAAOonB,EAAM,sBAAwBnuB,EACnHZ,KAAK83C,gBAAkB/oB,EAAM,mBAAqB7K,GAA4Bvc,OAAOonB,EAAM,yBAA2BnuB,EACtHZ,KAAK65B,UAAY9K,EAAM,aAAegpB,GAA2BpwC,OAAOonB,EAAM,mBAAqBnuB,KAE1G,oBASD,SAAOpF,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK21C,MAAQ31C,KAAK21C,MAAM5xC,cAAgBnD,EACxDpF,EAAK,oBAAsBwE,KAAKo3C,iBAAmBp3C,KAAKo3C,iBAAiBrzC,cAAgBnD,EACzFpF,EAAK,YAAcwE,KAAK0lC,SAAW1lC,KAAK0lC,SAAS3hC,cAAgBnD,EACjEpF,EAAK,aAAewE,KAAKu3C,UAAYv3C,KAAKu3C,UAAUxzC,cAAgBnD,EACpEpF,EAAK,kBAAoBwE,KAAKy3C,eAAiBz3C,KAAKy3C,eAAe1zC,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAK23C,aAAe33C,KAAK23C,aAAa5zC,cAAgBnD,EAC7EpF,EAAK,gBAAkBwE,KAAK43C,aAAe53C,KAAK43C,aAAa7zC,cAAgBnD,EAC7EpF,EAAK,mBAAqBwE,KAAK83C,gBAAkB93C,KAAK83C,gBAAgB/zC,cAAgBnD,EACtFpF,EAAK,aAAewE,KAAK65B,UAAY75B,KAAK65B,UAAU91B,cAAgBnD,EAC7DpF,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs6C,EAEjB,OADAt6C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvC+B,GAoEvBm7C,GAAoB,8BAG7B,WAAYx8C,GAA2B,6BAC7BA,GAeT,OAdA,uBAED,SAAKuzB,GACD,wCAAWA,GACPA,IACA/uB,KAAKi4C,cAAgBlpB,EAAM,iBAAmBmpB,GAAwBvwC,OAAOonB,EAAM,uBAAyBnuB,KAEnH,oBASD,SAAOpF,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmBwE,KAAKi4C,cAAgBj4C,KAAKi4C,cAAcl0C,cAAgBnD,EAChF,0CAAapF,GACNA,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIm7C,EAEjB,OADAn7C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnB4B,CAAQs6C,IAiC5Be,GAAuB,WAMhC,WAAY18C,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAK+9B,aAAehP,EAAM,gBAC1B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK4M,UAAYmiB,EAAM,gBAE9B,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,gBAAkBwE,KAAK+9B,aAC5BviC,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAK4M,UAClBpR,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIq7C,EAEjB,OADAr7C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B+B,GAgDvBw6C,GAAiC,WAI1C,WAAY77C,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKm4C,aAAeppB,EAAM,gBAC1B/uB,KAAKo4C,eAAiBrpB,EAAM,qBAEnC,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkBwE,KAAKm4C,aAC5B38C,EAAK,kBAAoBwE,KAAKo4C,eACvB58C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIw6C,EAEjB,OADAx6C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzByC,GAwCjCy6C,GAAyB,WAMlC,WAAY97C,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4uC,iBAAmB7f,EAAM,oBAC9B/uB,KAAKq4C,oBAAsBtpB,EAAM,uBACjC/uB,KAAK6uC,mBAAqB9f,EAAM,sBAChC/uB,KAAKs4C,sBAAwBvpB,EAAM,4BAE1C,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4uC,iBAChCpzC,EAAK,uBAAyBwE,KAAKq4C,oBACnC78C,EAAK,sBAAwBwE,KAAK6uC,mBAClCrzC,EAAK,yBAA2BwE,KAAKs4C,sBAC9B98C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIy6C,EAEjB,OADAz6C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BiC,GAgDzB26C,GAA0B,WAMnC,WAAYh8C,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKslB,WAAayJ,EAAM,cACxB/uB,KAAKu4C,gBAAkBxpB,EAAM,mBAC7B/uB,KAAKw4C,YAAczpB,EAAM,kBAEhC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,cAAgBwE,KAAKslB,WAC1B9pB,EAAK,mBAAqBwE,KAAKu4C,gBAC/B/8C,EAAK,eAAiBwE,KAAKw4C,YACpBh9C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI26C,EAEjB,OADA36C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BkC,GAgD1B66C,GAA+B,WAkBxC,WAAYl8C,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAK88B,YAAc/N,EAAM,eACzB/uB,KAAKy4C,KAAO1pB,EAAM,QAClB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK69B,gBAAkB9O,EAAM,mBAC7B/uB,KAAKg9B,OAASjO,EAAM,UACpB/uB,KAAKi9B,OAASlO,EAAM,UACpB/uB,KAAKk9B,SAAWnO,EAAM,YACtB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKw+B,YAAczP,EAAM,eACzB/uB,KAAKqgC,WAAatR,EAAM,cACxB/uB,KAAKo9B,WAAarO,EAAM,cACxB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAKggC,SAAWjR,EAAM,YACtB/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAKm/B,UAAYpQ,EAAM,gBAE9B,oBASD,SAAOvzB,GAkBH,OAjBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,eAAiBwE,KAAK88B,YAC3BthC,EAAK,QAAUwE,KAAKy4C,KACpBj9C,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,mBAAqBwE,KAAK69B,gBAC/BriC,EAAK,UAAYwE,KAAKg9B,OACtBxhC,EAAK,UAAYwE,KAAKi9B,OACtBzhC,EAAK,YAAcwE,KAAKk9B,SACxB1hC,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,eAAiBwE,KAAKw+B,YAC3BhjC,EAAK,cAAgBwE,KAAKqgC,WAC1B7kC,EAAK,cAAgBwE,KAAKo9B,WAC1B5hC,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,YAAcwE,KAAKggC,SACxBxkC,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,aAAewE,KAAKm/B,UAClB3jC,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI66C,EAEjB,OADA76C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArDuC,GAgG/BmnB,GAA0B,WAInC,WAAYxoB,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAK6gC,mBAAqB,GAAU,IACQ,EADR,IACnB9R,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAK6gC,mBAAoBvkC,KAAKo8C,GAAe/wC,OAAOqB,KAAO,+BAEnE,GAAIF,MAAMC,QAAQgmB,EAAM,yBAA0B,CAC9C/uB,KAAK8gC,qBAAuB,GAAU,IACQ,EADR,IACrB/R,EAAM,yBAAuB,IAA9C,2BACI,KADK/lB,EAAI,QACThJ,KAAK8gC,qBAAsBxkC,KAAKo8C,GAAe/wC,OAAOqB,KAAO,mCAG5E,oBASD,SAAOxN,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAK6gC,oBAAqB,CACxCrlC,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAK6gC,oBAAkB,IAAxC,2BACI,KADK73B,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,GAAI+E,MAAMC,QAAQ/I,KAAK8gC,sBAAuB,CAC1CtlC,EAAK,wBAA0B,GAAG,IACQ,EADR,IACjBwE,KAAK8gC,sBAAoB,IAA1C,2BACI,KADK93B,EAAI,QACTxN,EAAK,wBAAwBc,KAAK0M,EAAKjF,WAAU,+BAEzD,OAAOvI,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImnB,EAEjB,OADAnnB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCkC,GAwD1B67C,GAAc,WAMvB,WAAYl9C,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKwW,WAAauY,EAAM,cACxB/uB,KAAKyY,QAAUsW,EAAM,WACrB/uB,KAAKssB,QAAUyC,EAAM,WACrB/uB,KAAK24C,4BAA8B5pB,EAAM,kCAEhD,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKwW,WAC1Bhb,EAAK,WAAawE,KAAKyY,QACvBjd,EAAK,WAAawE,KAAKssB,QACvB9wB,EAAK,+BAAiCwE,KAAK24C,4BACpCn9C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI67C,EAEjB,OADA77C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BsB,GAgDdg7C,GAAiC,WAI1C,WAAYr8C,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,YAAa,CACjC/uB,KAAKgiC,QAAU,GAAU,IACQ,EADR,IACRjT,EAAM,YAAU,IAAjC,2BACI,KADK/lB,EAAI,QACThJ,KAAKgiC,QAAS1lC,KAAK0M,IAAM,+BAEjC,GAAIF,MAAMC,QAAQgmB,EAAM,aAAc,CAClC/uB,KAAKi8B,SAAW,GAAU,IACQ,EADR,IACTlN,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACThJ,KAAKi8B,SAAU3/B,KAAK0M,IAAM,mCAGzC,oBASD,SAAOxN,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKgiC,SAAU,CAC7BxmC,EAAK,WAAa,GAAG,IACQ,EADR,IACJwE,KAAKgiC,SAAO,IAA7B,2BACI,KADKh5B,EAAI,QACTxN,EAAK,WAAWc,KAAK0M,IAAM,+BAEnC,GAAIF,MAAMC,QAAQ/I,KAAKi8B,UAAW,CAC9BzgC,EAAK,YAAc,GAAG,IACQ,EADR,IACLwE,KAAKi8B,UAAQ,IAA9B,2BACI,KADKjzB,EAAI,QACTxN,EAAK,YAAYc,KAAK0M,IAAM,+BAEpC,OAAOxN,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg7C,EAEjB,OADAh7C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCyC,GAwDjCqnB,GAA2B,WAiBpC,WAAY1oB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkCnD,OA/BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAUP,GATA/uB,KAAK2/B,UAAY5Q,EAAM,aACvB/uB,KAAK44C,WAAa7pB,EAAM,cACxB/uB,KAAK64C,QAAU9pB,EAAM,WACrB/uB,KAAK84C,cAAgB/pB,EAAM,iBAC3B/uB,KAAKs/B,IAAMvQ,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,EAC3EZ,KAAK4/B,IAAM7Q,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,EAC3EZ,KAAKo/B,eAAiBrQ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKu/B,iBAAmBxQ,EAAM,oBAC9B/uB,KAAKq/B,SAAWtQ,EAAM,YAClBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAKmqC,WAAa,GAAU,IACQ,EADR,IACXpb,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAKmqC,WAAY7tC,KAAKy8C,GAAapxC,OAAOqB,KAAO,+BAEzDhJ,KAAKg5C,YAAcjqB,EAAM,eACzB/uB,KAAKi5C,UAAYlqB,EAAM,aACvB/uB,KAAKk5C,UAAYnqB,EAAM,aACvB/uB,KAAKm5C,SAAWpqB,EAAM,YACtB/uB,KAAKo5C,YAAcrqB,EAAM,kBAEhC,oBASD,SAAOvzB,GAWH,GAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK2/B,UACzBnkC,EAAK,cAAgBwE,KAAK44C,WAC1Bp9C,EAAK,WAAawE,KAAK64C,QACvBr9C,EAAK,iBAAmBwE,KAAK84C,cAC7Bt9C,EAAK,OAASwE,KAAKs/B,IAAMt/B,KAAKs/B,IAAIx7B,aAAY,QAAalD,EAC3DpF,EAAK,OAASwE,KAAK4/B,IAAM5/B,KAAK4/B,IAAI97B,aAAY,QAAalD,EAC3DpF,EAAK,kBAAoBwE,KAAKo/B,eAAiBp/B,KAAKo/B,eAAet7B,aAAY,QAAalD,EAC5FpF,EAAK,oBAAsBwE,KAAKu/B,iBAChC/jC,EAAK,YAAcwE,KAAKq/B,SACpBv2B,MAAMC,QAAQ/I,KAAKmqC,YAAa,CAChC3uC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAKmqC,YAAU,IAAhC,2BACI,KADKnhC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,EAAKjF,WAAU,+BAO/C,OALAvI,EAAK,eAAiBwE,KAAKg5C,YAC3Bx9C,EAAK,aAAewE,KAAKi5C,UACzBz9C,EAAK,aAAewE,KAAKk5C,UACzB19C,EAAK,YAAcwE,KAAKm5C,SACxB39C,EAAK,eAAiBwE,KAAKo5C,YACpB59C,KACV,qBA7BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqnB,EAEjB,OADArnB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvDmC,GAoG3Bk8C,GAAY,WAUrB,WAAYv9C,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKq5C,YAActqB,EAAM,eACzB/uB,KAAKs5C,OAASvqB,EAAM,UACpB/uB,KAAKi9B,OAASlO,EAAM,UACpB/uB,KAAKg9B,OAASjO,EAAM,UACpB/uB,KAAKk9B,SAAWnO,EAAM,YACtB/uB,KAAKu5C,OAASxqB,EAAM,UACpB/uB,KAAKw5C,oBAAsBzqB,EAAM,0BAExC,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,eAAiBwE,KAAKq5C,YAC3B79C,EAAK,UAAYwE,KAAKs5C,OACtB99C,EAAK,UAAYwE,KAAKi9B,OACtBzhC,EAAK,UAAYwE,KAAKg9B,OACtBxhC,EAAK,YAAcwE,KAAKk9B,SACxB1hC,EAAK,UAAYwE,KAAKu5C,OACtB/9C,EAAK,uBAAyBwE,KAAKw5C,oBAC5Bh+C,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk8C,EAEjB,OADAl8C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCoB,GAgEZk7C,GAA0B,WAGnC,WAAYv8C,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACD,GAAIA,GACIjmB,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAK8lB,YAAc,GAAU,IACQ,EADR,IACZiJ,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK8lB,YAAaxpB,KAAK0M,IAAM,kCAG5C,oBASD,SAAOxN,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAK8lB,aAAc,CACjCtqB,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK8lB,aAAW,IAAjC,2BACI,KADK9c,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAEvC,OAAOxN,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk7C,EAEjB,OADAl7C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BkC,GA4C1B6jB,GAAsB,WAU/B,WAAYllB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6jB,EAEjB,OADA7jB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArC8B,GAgEtB48C,GAAmB,WAI5B,WAAYj+C,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKyzC,OAAS1kB,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,UAAYwE,KAAKyzC,OACfj4C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI48C,EAEjB,OADA58C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB2B,GAwCnBikB,GAAyB,WAWlC,WAAYtlB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAK+8B,QAAUhO,EAAM,cAE5B,oBASD,SAAOvzB,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,WAAawE,KAAK+8B,QAChBvhC,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIikB,EAEjB,OADAjkB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvCiC,GAoEzBmkB,GAAuB,WAchC,WAAYxlB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKs9B,WAAavO,EAAM,cACxB/uB,KAAKu9B,kBAAoBxO,EAAM,qBAC/B/uB,KAAKy9B,iBAAmB1O,EAAM,oBAC9B/uB,KAAK05C,eAAiB3qB,EAAM,kBAC5B/uB,KAAK25C,cAAgB5qB,EAAM,iBAC3B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK45C,iBAAmB7qB,EAAM,oBAC9B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKs9B,WAC1B9hC,EAAK,qBAAuBwE,KAAKu9B,kBACjC/hC,EAAK,oBAAsBwE,KAAKy9B,iBAChCjiC,EAAK,kBAAoBwE,KAAK05C,eAC9Bl+C,EAAK,iBAAmBwE,KAAK25C,cAC7Bn+C,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,oBAAsBwE,KAAK45C,iBAChCp+C,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImkB,EAEjB,OADAnkB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7C+B,GAgFvBg9C,GAAgB,WAOzB,WAAYr+C,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKs9B,WAAavO,EAAM,cACxB/uB,KAAKu9B,kBAAoBxO,EAAM,qBAC/B/uB,KAAKy9B,iBAAmB1O,EAAM,oBAC9B/uB,KAAK05C,eAAiB3qB,EAAM,kBAC5B/uB,KAAK25C,cAAgB5qB,EAAM,oBAElC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKs9B,WAC1B9hC,EAAK,qBAAuBwE,KAAKu9B,kBACjC/hC,EAAK,oBAAsBwE,KAAKy9B,iBAChCjiC,EAAK,kBAAoBwE,KAAK05C,eAC9Bl+C,EAAK,iBAAmBwE,KAAK25C,cACtBn+C,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg9C,EAEjB,OADAh9C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BwB,GAoDhBi9C,GAAW,WAKpB,WAAYt+C,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKy+B,WAAa1P,EAAM,cAAgBlZ,EAAOlR,UAAUoqB,EAAM,cAAczqB,iBAAmB1D,EAChGZ,KAAK+5C,MAAQhrB,EAAM,YAE1B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAKy+B,WAAaz+B,KAAKy+B,WAAW36B,aAAY,QAAalD,EAChFpF,EAAK,SAAWwE,KAAK+5C,MACdv+C,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIi9C,EAEjB,OADAj9C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BmB,GA4CXwkB,GAAuB,WAUhC,WAAY7lB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwkB,EAEjB,OADAxkB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArC+B,GAgEvBm9C,GAAS,WAIlB,WAAYx+C,GACR,GADyB,UACrBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKyzC,OAAS1kB,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,UAAYwE,KAAKyzC,OACfj4C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIm9C,EAEjB,OADAn9C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBiB,GAwCT4kB,GAAwB,WAajC,WAAYjmB,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK+9B,aAAehP,EAAM,gBAC1B/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,gBAAkBwE,KAAK+9B,aAC5BviC,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4kB,EAEjB,OADA5kB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3CgC,GA4ExBo9C,GAAc,WAQvB,WAAYz+C,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK+9B,aAAehP,EAAM,gBAC1B/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,KAEnH,oBASD,SAAOpF,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,gBAAkBwE,KAAK+9B,aAC5BviC,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EACrFpF,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIo9C,EAEjB,OADAp9C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCsB,GAwDd+kB,GAAoB,WAc7B,WAAYpmB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAUP,GATA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKkgB,WAAa6O,EAAM,cACxB/uB,KAAKk6C,oBAAsBnrB,EAAM,uBAAyBorB,GAAqCxyC,OAAOonB,EAAM,6BAA+BnuB,EAC3IZ,KAAK21C,MAAQ5mB,EAAM,SAAW6mB,GAAuBjuC,OAAOonB,EAAM,eAAiBnuB,EACnFZ,KAAKo3C,iBAAmBroB,EAAM,oBAAsBsoB,GAAkC1vC,OAAOonB,EAAM,0BAA4BnuB,EAC/HZ,KAAK0lC,SAAW3W,EAAM,YAAcuoB,GAA0B3vC,OAAOonB,EAAM,kBAAoBnuB,EAC/FZ,KAAKu3C,UAAYxoB,EAAM,aAAeyoB,GAA2B7vC,OAAOonB,EAAM,mBAAqBnuB,EACnGZ,KAAKy3C,eAAiB1oB,EAAM,kBAAoB2oB,GAAgC/vC,OAAOonB,EAAM,wBAA0BnuB,EACvHZ,KAAKi4C,cAAgBlpB,EAAM,iBAAmBmpB,GAAwBvwC,OAAOonB,EAAM,uBAAyBnuB,EACxGkI,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAKo6C,YAAc,GAAU,IACQ,EADR,IACZrrB,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAKo6C,YAAa99C,KAAK+9C,GAAuB1yC,OAAOqB,KAAO,+BAEpEhJ,KAAKs6C,UAAYvrB,EAAM,aAAewrB,GAAwB5yC,OAAOonB,EAAM,mBAAqBnuB,EAChGZ,KAAKw6C,oBAAsBzrB,EAAM,0BAExC,oBASD,SAAOvzB,GAWH,GAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAKkgB,WAC1B1kB,EAAK,uBAAyBwE,KAAKk6C,oBAAsBl6C,KAAKk6C,oBAAoBn2C,cAAgBnD,EAClGpF,EAAK,SAAWwE,KAAK21C,MAAQ31C,KAAK21C,MAAM5xC,cAAgBnD,EACxDpF,EAAK,oBAAsBwE,KAAKo3C,iBAAmBp3C,KAAKo3C,iBAAiBrzC,cAAgBnD,EACzFpF,EAAK,YAAcwE,KAAK0lC,SAAW1lC,KAAK0lC,SAAS3hC,cAAgBnD,EACjEpF,EAAK,aAAewE,KAAKu3C,UAAYv3C,KAAKu3C,UAAUxzC,cAAgBnD,EACpEpF,EAAK,kBAAoBwE,KAAKy3C,eAAiBz3C,KAAKy3C,eAAe1zC,cAAgBnD,EACnFpF,EAAK,iBAAmBwE,KAAKi4C,cAAgBj4C,KAAKi4C,cAAcl0C,cAAgBnD,EAC5EkI,MAAMC,QAAQ/I,KAAKo6C,aAAc,CACjC5+C,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAKo6C,aAAW,IAAjC,2BACI,KADKpxC,EAAI,QACTxN,EAAK,eAAec,KAAK0M,EAAKjF,WAAU,+BAIhD,OAFAvI,EAAK,aAAewE,KAAKs6C,UAAYt6C,KAAKs6C,UAAUv2C,cAAgBnD,EACpEpF,EAAK,uBAAyBwE,KAAKw6C,oBAC5Bh/C,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+kB,EAEjB,OADA/kB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjD4B,GAwFpBs9C,GAAoC,WAM7C,WAAY3+C,GACR,GADoD,UAChDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAKm+B,iBAAmBpP,EAAM,oBAC9B/uB,KAAK2gC,mBAAqB5R,EAAM,yBAEvC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,oBAAsBwE,KAAKm+B,iBAChC3iC,EAAK,sBAAwBwE,KAAK2gC,mBAC3BnlC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIs9C,EAEjB,OADAt9C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B4C,GAgDpCw9C,GAAsB,WAM/B,WAAY7+C,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKy6C,eAAiB1rB,EAAM,kBAC5B/uB,KAAKiwB,QAAUlB,EAAM,WACrB/uB,KAAKohC,QAAUrS,EAAM,cAE5B,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,kBAAoBwE,KAAKy6C,eAC9Bj/C,EAAK,WAAawE,KAAKiwB,QACvBz0B,EAAK,WAAawE,KAAKohC,QAChB5lC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIw9C,EAEjB,OADAx9C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B8B,IAgDnC,SAAYw4C,GACRA,8CACAA,8CACAA,kDACAA,kDACAA,sCACAA,8BACAA,8BACAA,0CACAA,yBATJ,CAAYA,QAAmB,KAYxB,IAqsBKqF,GAMAC,GAeAC,GA1tBCL,GAAuB,WAQhC,WAAY/+C,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkqC,gBAAkBnb,EAAM,mBAC7B/uB,KAAKiqC,eAAiBlb,EAAM,kBAC5B/uB,KAAKs9B,WAAavO,EAAM,cACxB/uB,KAAK6wC,aAAe9hB,EAAM,gBAC1B/uB,KAAKw9B,eAAiBzO,EAAM,kBAC5B/uB,KAAK29B,cAAgB5O,EAAM,oBAElC,oBASD,SAAOvzB,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,mBAAqBwE,KAAKkqC,gBAC/B1uC,EAAK,kBAAoBwE,KAAKiqC,eAC9BzuC,EAAK,cAAgBwE,KAAKs9B,WAC1B9hC,EAAK,gBAAkBwE,KAAK6wC,aAC5Br1C,EAAK,kBAAoBwE,KAAKw9B,eAC9BhiC,EAAK,iBAAmBwE,KAAK29B,cACtBniC,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI09C,EAEjB,OADA19C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjC+B,GAwDvBg+C,GAAkB,8BAI3B,WAAYr/C,GAAyB,6BAC3BA,GAgBT,OAfA,uBAED,SAAKuzB,GACD,wCAAWA,GACPA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKk6C,oBAAsBnrB,EAAM,uBAAyBorB,GAAqCxyC,OAAOonB,EAAM,6BAA+BnuB,KAElJ,oBASD,SAAOpF,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,uBAAyBwE,KAAKk6C,oBAAsBl6C,KAAKk6C,oBAAoBn2C,cAAgBnD,EAClG,0CAAapF,GACNA,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIg+C,EAEjB,OADAh+C,EAAO0yB,KAAK/zB,GACLqB,MACV,EArB0B,CAAQs6C,IAqC1Bp1B,GAAqB,WAoB9B,WAAYvmB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAK86C,UAAY/rB,EAAM,aACvB/uB,KAAKkgB,WAAa6O,EAAM,cACxB/uB,KAAK82C,gBAAkB/nB,EAAM,mBAC7B/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKy+B,WAAa1P,EAAM,cAAgBlZ,EAAOlR,UAAUoqB,EAAM,cAAczqB,iBAAmB1D,EAChGZ,KAAK6+B,aAAe9P,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK+5C,MAAQhrB,EAAM,YAE1B,oBASD,SAAOvzB,GAoBH,OAnBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,aAAewE,KAAK86C,UACzBt/C,EAAK,cAAgBwE,KAAKkgB,WAC1B1kB,EAAK,mBAAqBwE,KAAK82C,gBAC/Bt7C,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,cAAgBwE,KAAKy+B,WAAaz+B,KAAKy+B,WAAW36B,aAAY,QAAalD,EAChFpF,EAAK,gBAAkBwE,KAAK6+B,aAAe7+B,KAAK6+B,aAAa/6B,aAAY,QAAalD,EACtFpF,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,SAAWwE,KAAK+5C,MACdv+C,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIklB,EAEjB,OADAllB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzD6B,GAwGrBqlB,GAAoB,WAI7B,WAAY1mB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,WAAW,CAC/B/uB,KAAKsgB,MAAQ,GAAU,IACQ,EADR,IACNyO,EAAM,UAAQ,IAA/B,2BACI,KADK/lB,EAAI,QACThJ,KAAKsgB,MAAOhkB,KAAKy+C,GAAYpzC,OAAOqB,KAAO,kCAG1D,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKsgB,OAAQ,CAC3B9kB,EAAK,SAAW,GAAG,IACQ,EADR,IACFwE,KAAKsgB,OAAK,IAA3B,2BACI,KADKtX,EAAI,QACTxN,EAAK,SAASc,KAAK0M,EAAKjF,WAAU,+BAE1C,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqlB,EAEjB,OADArlB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B4B,GAgDpBk+C,GAAW,WAkDpB,WAAYv/C,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmEnD,OAhEA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKoH,OAAS2nB,EAAM,UACpB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKq9B,aAAetO,EAAM,gBAC1B/uB,KAAKo9B,WAAarO,EAAM,cACxB/uB,KAAKsgC,aAAevR,EAAM,gBAC1B/uB,KAAKqgC,WAAatR,EAAM,cACxB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAKg7C,gBAAkBjsB,EAAM,mBAC7B/uB,KAAK+9B,aAAehP,EAAM,gBAC1B/uB,KAAKi7C,uBAAyBlsB,EAAM,0BACpC/uB,KAAKk7C,SAAWnsB,EAAM,YACtB/uB,KAAKiqC,eAAiBlb,EAAM,kBAC5B/uB,KAAKkqC,gBAAkBnb,EAAM,mBAC7B/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK49B,YAAc7O,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKy+B,WAAa1P,EAAM,cAAgBlZ,EAAOlR,UAAUoqB,EAAM,cAAczqB,iBAAmB1D,EAChGZ,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK6+B,aAAe9P,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAKm7C,kBAAoBpsB,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAK45B,UAAY7K,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAKo7C,sBAAwBrsB,EAAM,yBAA2BlZ,EAAOlR,UAAUoqB,EAAM,yBAAyBzqB,iBAAmB1D,EACjIZ,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKw+B,YAAczP,EAAM,eACzB/uB,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAK+5C,MAAQhrB,EAAM,SACnB/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKq7C,wBAA0BtsB,EAAM,2BACrC/uB,KAAKs7C,0BAA4BvsB,EAAM,6BACvC/uB,KAAKm+B,iBAAmBpP,EAAM,oBAC1BjmB,MAAMC,QAAQgmB,EAAM,gCAAgC,CACpD/uB,KAAKu7C,2BAA6B,GAAU,IACQ,EADR,IAC3BxsB,EAAM,+BAA6B,IAApD,2BACI,KADK/lB,EAAI,QACThJ,KAAKu7C,2BAA4Bj/C,KAAKk/C,GAA0B7zC,OAAOqB,KAAO,kCAG7F,oBASD,SAAOxN,GAiDH,GAhDAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,UAAYwE,KAAKoH,OACtB5L,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,gBAAkBwE,KAAKq9B,aAC5B7hC,EAAK,cAAgBwE,KAAKo9B,WAC1B5hC,EAAK,gBAAkBwE,KAAKsgC,aAC5B9kC,EAAK,cAAgBwE,KAAKqgC,WAC1B7kC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,mBAAqBwE,KAAKg7C,gBAC/Bx/C,EAAK,gBAAkBwE,KAAK+9B,aAC5BviC,EAAK,0BAA4BwE,KAAKi7C,uBACtCz/C,EAAK,YAAcwE,KAAKk7C,SACxB1/C,EAAK,kBAAoBwE,KAAKiqC,eAC9BzuC,EAAK,mBAAqBwE,KAAKkqC,gBAC/B1uC,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,eAAiBwE,KAAK49B,YAAc59B,KAAK49B,YAAY95B,aAAY,QAAalD,EACnFpF,EAAK,cAAgBwE,KAAKy+B,WAAaz+B,KAAKy+B,WAAW36B,aAAY,QAAalD,EAChFpF,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,gBAAkBwE,KAAK6+B,aAAe7+B,KAAK6+B,aAAa/6B,aAAY,QAAalD,EACtFpF,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,qBAAuBwE,KAAKm7C,kBAAoBn7C,KAAKm7C,kBAAkBr3C,aAAY,QAAalD,EACrGpF,EAAK,aAAewE,KAAK45B,UAAY55B,KAAK45B,UAAU91B,aAAY,QAAalD,EAC7EpF,EAAK,yBAA2BwE,KAAKo7C,sBAAwBp7C,KAAKo7C,sBAAsBt3C,aAAY,QAAalD,EACjHpF,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,eAAiBwE,KAAKw+B,YAC3BhjC,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,SAAWwE,KAAK+5C,MACrBv+C,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,2BAA6BwE,KAAKq7C,wBACvC7/C,EAAK,6BAA+BwE,KAAKs7C,0BACzC9/C,EAAK,oBAAsBwE,KAAKm+B,iBAC5Br1B,MAAMC,QAAQ/I,KAAKu7C,4BAA6B,CAChD//C,EAAK,8BAAgC,GAAG,IACQ,EADR,IACvBwE,KAAKu7C,4BAA0B,IAAhD,2BACI,KADKvyC,EAAI,QACTxN,EAAK,8BAA8Bc,KAAK0M,EAAKjF,WAAU,+BAE/D,OAAOvI,KACV,qBA9DD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIk+C,EAEjB,OADAl+C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzHmB,GAwOX2+C,GAAyB,WAKlC,WAAYhgD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK+2B,MAAQhI,EAAM,SACnB/uB,KAAKwkB,UAAYuK,EAAM,gBAE9B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,SAAWwE,KAAK+2B,MACrBv7B,EAAK,aAAewE,KAAKwkB,UAClBhpB,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2+C,EAEjB,OADA3+C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BiC,GA4CzB4+C,GAA8B,WAOvC,WAAYjgD,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK07C,mBAAqB3sB,EAAM,sBAAwB4sB,GAAsBh0C,OAAOonB,EAAM,4BAA8BnuB,EACzHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,sBAAwBwE,KAAK07C,mBAAqB17C,KAAK07C,mBAAmB33C,cAAgBnD,EAC/FpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4+C,EAEjB,OADA5+C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BsC,GAoD9B8+C,GAAqB,WAwB9B,WAAYngD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6CnD,OA1CA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAMP,GALA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKw+B,YAAczP,EAAM,eACzB/uB,KAAK+5C,MAAQhrB,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,aAAc,CAClC/uB,KAAK47C,SAAW,GAAU,IACQ,EADR,IACT7sB,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACThJ,KAAK47C,SAAUt/C,KAAK0M,IAAM,+BAMlC,GAJAhJ,KAAK67C,qBAAuB9sB,EAAM,wBAClC/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKqgC,WAAatR,EAAM,cACxB/uB,KAAKo9B,WAAarO,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,cAAe,CACnC/uB,KAAKwkB,UAAY,GAAU,IACQ,EADR,IACVuK,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAKwkB,UAAWloB,KAAK0M,IAAM,+BAEnChJ,KAAK2xC,qBAAuB5iB,EAAM,wBAClC/uB,KAAK6xC,sBAAwB9iB,EAAM,yBACnC/uB,KAAK87C,wBAA0B/sB,EAAM,2BACrC/uB,KAAK4xC,uBAAyB7iB,EAAM,0BACpC/uB,KAAK8xC,wBAA0B/iB,EAAM,2BACrC/uB,KAAK+7C,0BAA4BhtB,EAAM,6BACvC/uB,KAAKg8C,eAAiBjtB,EAAM,kBAC5B/uB,KAAKi8C,mBAAqBltB,EAAM,sBAChC/uB,KAAKk8C,sBAAwBntB,EAAM,yBACnC/uB,KAAKm8C,cAAgBptB,EAAM,iBAC3B/uB,KAAKo8C,cAAgBrtB,EAAM,oBAElC,oBASD,SAAOvzB,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,eAAiBwE,KAAKw+B,YAC3BhjC,EAAK,SAAWwE,KAAK+5C,MACjBjxC,MAAMC,QAAQ/I,KAAK47C,UAAW,CAC9BpgD,EAAK,YAAc,GAAG,IACQ,EADR,IACLwE,KAAK47C,UAAQ,IAA9B,2BACI,KADK5yC,EAAI,QACTxN,EAAK,YAAYc,KAAK0M,IAAM,+BAMpC,GAJAxN,EAAK,wBAA0BwE,KAAK67C,qBACpCrgD,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,cAAgBwE,KAAKqgC,WAC1B7kC,EAAK,cAAgBwE,KAAKo9B,WACtBt0B,MAAMC,QAAQ/I,KAAKwkB,WAAY,CAC/BhpB,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAKwkB,WAAS,IAA/B,2BACI,KADKxb,EAAI,QACTxN,EAAK,aAAac,KAAK0M,IAAM,+BAarC,OAXAxN,EAAK,wBAA0BwE,KAAK2xC,qBACpCn2C,EAAK,yBAA2BwE,KAAK6xC,sBACrCr2C,EAAK,2BAA6BwE,KAAK87C,wBACvCtgD,EAAK,0BAA4BwE,KAAK4xC,uBACtCp2C,EAAK,2BAA6BwE,KAAK8xC,wBACvCt2C,EAAK,6BAA+BwE,KAAK+7C,0BACzCvgD,EAAK,kBAAoBwE,KAAKg8C,eAC9BxgD,EAAK,sBAAwBwE,KAAKi8C,mBAClCzgD,EAAK,yBAA2BwE,KAAKk8C,sBACrC1gD,EAAK,iBAAmBwE,KAAKm8C,cAC7B3gD,EAAK,iBAAmBwE,KAAKo8C,cACtB5gD,KACV,qBAxCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8+C,EAEjB,OADA9+C,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzE6B,IAwIlC,SAAY69C,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,sDACAA,yDACAA,yDACAA,6DACAA,2DACAA,6DACAA,6DACAA,iEACAA,6BACAA,2CACAA,uCACAA,+CACAA,2CACAA,qCACAA,mCACAA,+CACAA,uCACAA,mDACAA,uBACAA,qCACAA,yCACAA,2CACAA,6CACAA,iCACAA,iCACAA,iDACAA,yBACAA,+CACAA,yDACAA,6CAtCJ,CAAYA,QAAW,KAyChB,IA4FKyB,GA5FCj6B,GAAgC,WAIzC,WAAY5mB,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKqR,OAAS0d,EAAM,UAChBjmB,MAAMC,QAAQgmB,EAAM,oBAAoB,CACxC/uB,KAAKs8C,eAAiB,GAAU,IACQ,EADR,IACfvtB,EAAM,mBAAiB,IAAxC,2BACI,KADK/lB,EAAI,QACThJ,KAAKs8C,eAAgBhgD,KAAKigD,GAAwB50C,OAAOqB,KAAO,kCAG/E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OAClBvI,MAAMC,QAAQ/I,KAAKs8C,gBAAiB,CACpC9gD,EAAK,kBAAoB,GAAG,IACQ,EADR,IACXwE,KAAKs8C,gBAAc,IAApC,2BACI,KADKtzC,EAAI,QACTxN,EAAK,kBAAkBc,KAAK0M,EAAKjF,WAAU,+BAEnD,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIulB,EAEjB,OADAvlB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BwC,GAgDhC0/C,GAAuB,WAKhC,WAAY/gD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKw8C,QAAUztB,EAAM,WACrB/uB,KAAKy8C,WAAa1tB,EAAM,cACxB/uB,KAAK08C,OAAS3tB,EAAM,aAE3B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKw8C,QACvBhhD,EAAK,cAAgBwE,KAAKy8C,WAC1BjhD,EAAK,UAAYwE,KAAK08C,OACflhD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0/C,EAEjB,OADA1/C,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B+B,IA4CpC,SAAYw/C,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,GA5CCr6B,GAAW,WAKpB,WAAY9mB,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK48C,WAAa7tB,EAAM,cACxB/uB,KAAK2uC,YAAc5f,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAK48C,WAC1BphD,EAAK,eAAiBwE,KAAK2uC,YACpBnzC,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIylB,EAEjB,OADAzlB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BmB,IA4CxB,SAAY8/C,GACRA,8BACAA,kCACAA,qDAHJ,CAAYA,QAAU,KAMf,IAgiBKE,GAhiBCC,GAAW,WAepB,WAAYthD,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKm+B,iBAAmBpP,EAAM,oBAC9B/uB,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAK2gC,mBAAqB5R,EAAM,sBAChC/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAKggC,SAAWjR,EAAM,YACtB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAKqgC,WAAatR,EAAM,cACxB/uB,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAKs6C,UAAYvrB,EAAM,aAAe8qB,GAAiBlyC,OAAOonB,EAAM,mBAAqBnuB,EACzFZ,KAAK+8B,QAAUhO,EAAM,cAE5B,oBASD,SAAOvzB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,oBAAsBwE,KAAKm+B,iBAChC3iC,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,sBAAwBwE,KAAK2gC,mBAClCnlC,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,YAAcwE,KAAKggC,SACxBxkC,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,cAAgBwE,KAAKqgC,WAC1B7kC,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,aAAewE,KAAKs6C,UAAYt6C,KAAKs6C,UAAUv2C,cAAgBnD,EACpEpF,EAAK,WAAawE,KAAK+8B,QAChBvhC,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIigD,EAEjB,OADAjgD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/CmB,GAoFX+lB,GAAqB,WA0B9B,WAAYpnB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+CnD,OA5CA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAcP,GAbA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAKqgC,WAAatR,EAAM,cACxB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK6/B,0BAA4B9Q,EAAM,6BACvC/uB,KAAK0gC,4BAA8B3R,EAAM,+BACrCjmB,MAAMC,QAAQgmB,EAAM,cAAe,CACnC/uB,KAAKm2C,UAAY,GAAU,IACQ,EADR,IACVpnB,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAKm2C,UAAW75C,KAAKygD,GAAkBp1C,OAAOqB,KAAO,+BAE7D,GAAIF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAKo6C,YAAc,GAAU,IACQ,EADR,IACZrrB,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAKo6C,YAAa99C,KAAK+9C,GAAuB1yC,OAAOqB,KAAO,+BAEpEhJ,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKggC,SAAWjR,EAAM,YACtB/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAKw6C,oBAAsBzrB,EAAM,uBACjC/uB,KAAKm/B,UAAYpQ,EAAM,gBAE9B,oBASD,SAAOvzB,GAeH,GAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,cAAgBwE,KAAKqgC,WAC1B7kC,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,6BAA+BwE,KAAK6/B,0BACzCrkC,EAAK,+BAAiCwE,KAAK0gC,4BACvC53B,MAAMC,QAAQ/I,KAAKm2C,WAAY,CAC/B36C,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAKm2C,WAAS,IAA/B,2BACI,KADKntC,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAE9C,GAAI+E,MAAMC,QAAQ/I,KAAKo6C,aAAc,CACjC5+C,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAKo6C,aAAW,IAAjC,2BACI,KADKpxC,EAAI,QACTxN,EAAK,eAAec,KAAK0M,EAAKjF,WAAU,+BAWhD,OATAvI,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,YAAcwE,KAAKggC,SACxBxkC,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,uBAAyBwE,KAAKw6C,oBACnCh/C,EAAK,aAAewE,KAAKm/B,UAClB3jC,KACV,qBA1CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+lB,EAEjB,OADA/lB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7E6B,GAgJrBkgD,GAAiB,WAM1B,WAAYvhD,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKg9C,qBAAuBjuB,EAAM,wBAClC/uB,KAAKi9C,kBAAoBluB,EAAM,qBAC/B/uB,KAAKk9C,mBAAqBnuB,EAAM,yBAEvC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,wBAA0BwE,KAAKg9C,qBACpCxhD,EAAK,qBAAuBwE,KAAKi9C,kBACjCzhD,EAAK,sBAAwBwE,KAAKk9C,mBAC3B1hD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkgD,EAEjB,OADAlgD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7ByB,GAgDjBsgD,GAAc,WAKvB,WAAY3hD,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKo9C,YAAcruB,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKykB,SAAWsK,EAAM,eAE7B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAKo9C,YAAcp9C,KAAKo9C,YAAYt5C,aAAY,QAAalD,EACnFpF,EAAK,YAAcwE,KAAKykB,SACjBjpB,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsgD,EAEjB,OADAtgD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BsB,GA4CdkmB,GAAwB,WAYjC,WAAYvnB,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAKP,GAJA/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKy+B,WAAa1P,EAAM,cAAgBlZ,EAAOlR,UAAUoqB,EAAM,cAAczqB,iBAAmB1D,EAC5FkI,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAKo6C,YAAc,GAAU,IACQ,EADR,IACZrrB,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAKo6C,YAAa99C,KAAK+9C,GAAuB1yC,OAAOqB,KAAO,+BAEpEhJ,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,cAAgBwE,KAAKy+B,WAAaz+B,KAAKy+B,WAAW36B,aAAY,QAAalD,EAC5EkI,MAAMC,QAAQ/I,KAAKo6C,aAAc,CACjC5+C,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAKo6C,aAAW,IAAjC,2BACI,KADKpxC,EAAI,QACTxN,EAAK,eAAec,KAAK0M,EAAKjF,WAAU,+BAOhD,OALAvI,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkmB,EAEjB,OADAlmB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CgC,GAgFxBqmB,GAAyB,WAMlC,WAAY1nB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK6+B,aAAe9P,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK42C,UAAY7nB,EAAM,aACvB/uB,KAAKq9C,IAAMtuB,EAAM,OACjB/uB,KAAKs9C,IAAMvuB,EAAM,UAExB,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkBwE,KAAK6+B,aAAe7+B,KAAK6+B,aAAa/6B,aAAY,QAAalD,EACtFpF,EAAK,aAAewE,KAAK42C,UACzBp7C,EAAK,OAASwE,KAAKq9C,IACnB7hD,EAAK,OAASwE,KAAKs9C,IACZ9hD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqmB,EAEjB,OADArmB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BiC,GAgDzBumB,GAAe,WAIxB,WAAY5nB,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAKu9C,YAAc,GAAU,IACQ,EADR,IACZxuB,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAKu9C,YAAajhD,KAAKylB,GAAsBpa,OAAOqB,KAAO,+BAEnE,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAKw9C,WAAa,GAAU,IACQ,EADR,IACXzuB,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAKw9C,WAAYlhD,KAAKylB,GAAsBpa,OAAOqB,KAAO,mCAGzE,oBASD,SAAOxN,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKu9C,aAAc,CACjC/hD,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAKu9C,aAAW,IAAjC,2BACI,KADKv0C,EAAI,QACTxN,EAAK,eAAec,KAAK0M,EAAKjF,WAAU,+BAEhD,GAAI+E,MAAMC,QAAQ/I,KAAKw9C,YAAa,CAChChiD,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAKw9C,YAAU,IAAhC,2BACI,KADKx0C,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,EAAKjF,WAAU,+BAE/C,OAAOvI,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIumB,EAEjB,OADAvmB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCuB,GAwDfymB,GAAmB,WAI5B,WAAY9nB,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK4I,KAAOmmB,EAAM,WAEzB,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,QAAUwE,KAAK4I,KACbpN,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIymB,EAEjB,OADAzmB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB2B,IAwChC,SAAYggD,GACRA,oCACAA,yCAFJ,CAAYA,QAAgB,KAKrB,IAqCKY,GArCCh6B,GAAY,8BAIrB,WAAYjoB,GAAmB,6BACrBA,GAgBT,OAfA,uBAED,SAAKuzB,GACD,wCAAWA,GACPA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK09C,KAAO3uB,EAAM,WAEzB,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,QAAUwE,KAAK09C,KACpB,0CAAaliD,GACNA,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4mB,EAEjB,OADA5mB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArBoB,CAAQymB,KAqCjC,SAAYm6B,GACRA,oBACAA,wBACAA,qBAHJ,CAAYA,QAAc,KAMnB,IAwzBKE,GAxzBC75B,GAAmB,WAS5B,WAAYtoB,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKoH,OAAS2nB,EAAM,UACpB/uB,KAAK86C,UAAY/rB,EAAM,aACvB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKm/B,UAAYpQ,EAAM,gBAE9B,oBASD,SAAOvzB,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,UAAYwE,KAAKoH,OACtB5L,EAAK,aAAewE,KAAK86C,UACzBt/C,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKm/B,UAClB3jC,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIinB,EAEjB,OADAjnB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnC2B,GA4DnBunB,GAAqB,WAW9B,WAAY5oB,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKmK,KAAO4kB,EAAM,QAClB/uB,KAAK80B,SAAW/F,EAAM,YACtB/uB,KAAK49C,UAAY7uB,EAAM,aACvB/uB,KAAKqvB,UAAYN,EAAM,aACvB/uB,KAAK08C,OAAS3tB,EAAM,UACpB/uB,KAAK69C,UAAY9uB,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAKozB,YAAcrE,EAAM,eACzB/uB,KAAKihC,IAAMlS,EAAM,UAExB,oBASD,SAAOvzB,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,QAAUwE,KAAKmK,KACpB3O,EAAK,YAAcwE,KAAK80B,SACxBt5B,EAAK,aAAewE,KAAK49C,UACzBpiD,EAAK,aAAewE,KAAKqvB,UACzB7zB,EAAK,UAAYwE,KAAK08C,OACtBlhD,EAAK,aAAewE,KAAK69C,UAAY79C,KAAK69C,UAAU/5C,aAAY,QAAalD,EAC7EpF,EAAK,eAAiBwE,KAAKozB,YAC3B53B,EAAK,OAASwE,KAAKihC,IACZzlC,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIunB,EAEjB,OADAvnB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvC6B,GAoErBynB,GAAc,WAOvB,WAAY9oB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK89C,SAAW/uB,EAAM,YACtB/uB,KAAK+9C,YAAchvB,EAAM,eACzB/uB,KAAKg+C,aAAejvB,EAAM,gBAC1B/uB,KAAKi+C,UAAYlvB,EAAM,aACvB/uB,KAAKk+C,YAAcnvB,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,KAE1G,oBASD,SAAOpF,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAK89C,SACxBtiD,EAAK,eAAiBwE,KAAK+9C,YAC3BviD,EAAK,gBAAkBwE,KAAKg+C,aAC5BxiD,EAAK,aAAewE,KAAKi+C,UACzBziD,EAAK,eAAiBwE,KAAKk+C,YAAcl+C,KAAKk+C,YAAYp6C,aAAY,QAAalD,EAC5EpF,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIynB,EAEjB,OADAznB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BsB,GAoDd0nB,GAAc,WAUvB,WAAY/oB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKkgB,WAAa6O,EAAM,cACxB/uB,KAAKm+C,WAAapvB,EAAM,cAAgBqvB,GAAyBz2C,OAAOonB,EAAM,oBAAsBnuB,EACpGZ,KAAK21C,MAAQ5mB,EAAM,SAAWsvB,GAAoB12C,OAAOonB,EAAM,eAAiBnuB,EAChFZ,KAAKs+C,aAAevvB,EAAM,gBAAkBwvB,GAA2B52C,OAAOonB,EAAM,sBAAwBnuB,EAC5GZ,KAAKw+C,QAAUzvB,EAAM,WAAa0vB,GAAsB92C,OAAOonB,EAAM,iBAAmBnuB,EACxFZ,KAAKs6C,UAAYvrB,EAAM,aAAewrB,GAAwB5yC,OAAOonB,EAAM,mBAAqBnuB,EAChGZ,KAAKw6C,oBAAsBzrB,EAAM,0BAExC,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,cAAgBwE,KAAKkgB,WAC1B1kB,EAAK,cAAgBwE,KAAKm+C,WAAan+C,KAAKm+C,WAAWp6C,cAAgBnD,EACvEpF,EAAK,SAAWwE,KAAK21C,MAAQ31C,KAAK21C,MAAM5xC,cAAgBnD,EACxDpF,EAAK,gBAAkBwE,KAAKs+C,aAAet+C,KAAKs+C,aAAav6C,cAAgBnD,EAC7EpF,EAAK,WAAawE,KAAKw+C,QAAUx+C,KAAKw+C,QAAQz6C,cAAgBnD,EAC9DpF,EAAK,aAAewE,KAAKs6C,UAAYt6C,KAAKs6C,UAAUv2C,cAAgBnD,EACpEpF,EAAK,uBAAyBwE,KAAKw6C,oBAC5Bh/C,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0nB,EAEjB,OADA1nB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCsB,GAgEduhD,GAAwB,WAmBjC,WAAY5iD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAgCnD,OA7BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKuQ,eAAiBwe,EAAM,kBAC5B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK8iC,cAAgB/T,EAAM,iBAC3B/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK62C,cAAgB9nB,EAAM,iBAC3B/uB,KAAKslB,WAAayJ,EAAM,cACxB/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAK82C,gBAAkB/nB,EAAM,mBAC7B/uB,KAAK+2C,aAAehoB,EAAM,gBAC1B/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK0+C,SAAW3vB,EAAM,YACtB/uB,KAAK+9B,aAAehP,EAAM,gBAC1B/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAK2+C,oBAAsB5vB,EAAM,uBACjC/uB,KAAKk3B,aAAenI,EAAM,gBAC1B/uB,KAAK6wC,aAAe9hB,EAAM,mBAEjC,oBASD,SAAOvzB,GAmBH,OAlBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,kBAAoBwE,KAAKuQ,eAC9B/U,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,iBAAmBwE,KAAK8iC,cAC7BtnC,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,iBAAmBwE,KAAK62C,cAC7Br7C,EAAK,cAAgBwE,KAAKslB,WAC1B9pB,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,mBAAqBwE,KAAK82C,gBAC/Bt7C,EAAK,gBAAkBwE,KAAK+2C,aAC5Bv7C,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,YAAcwE,KAAK0+C,SACxBljD,EAAK,gBAAkBwE,KAAK+9B,aAC5BviC,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,uBAAyBwE,KAAK2+C,oBACnCnjD,EAAK,gBAAkBwE,KAAKk3B,aAC5B17B,EAAK,gBAAkBwE,KAAK6wC,aACrBr1C,KACV,qBA3BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuhD,EAEjB,OADAvhD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvDgC,GAoGxBwhD,GAAmB,WAkB5B,WAAY7iD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmCnD,OAhCA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK61C,gBAAkB9mB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAK49B,YAAc7O,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAK03B,OAAS3I,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK23B,UAAY5I,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAKm4C,aAAeppB,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAKo4C,eAAiBrpB,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK81C,sBAAwB/mB,EAAM,yBACnC/uB,KAAK+1C,wBAA0BhnB,EAAM,2BACrC/uB,KAAKm+B,iBAAmBpP,EAAM,oBAC9B/uB,KAAK2gC,mBAAqB5R,EAAM,sBAChC/uB,KAAKo7C,sBAAwBrsB,EAAM,yBAA2BlZ,EAAOlR,UAAUoqB,EAAM,yBAAyBzqB,iBAAmB1D,EAC7HkI,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC/uB,KAAK4+C,aAAe,GAAU,IACQ,EADR,IACb7vB,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAK4+C,aAActiD,KAAKuiD,GAA0Bl3C,OAAOqB,KAAO,kCAG/E,oBASD,SAAOxN,GAiBH,GAhBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,mBAAqBwE,KAAK61C,gBAAkB71C,KAAK61C,gBAAgB/xC,aAAY,QAAalD,EAC/FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,eAAiBwE,KAAK49B,YAAc59B,KAAK49B,YAAY95B,aAAY,QAAalD,EACnFpF,EAAK,UAAYwE,KAAK03B,OAAS13B,KAAK03B,OAAO5zB,aAAY,QAAalD,EACpEpF,EAAK,aAAewE,KAAK23B,UAAY33B,KAAK23B,UAAU7zB,aAAY,QAAalD,EAC7EpF,EAAK,gBAAkBwE,KAAKm4C,aAAen4C,KAAKm4C,aAAar0C,aAAY,QAAalD,EACtFpF,EAAK,kBAAoBwE,KAAKo4C,eAAiBp4C,KAAKo4C,eAAet0C,aAAY,QAAalD,EAC5FpF,EAAK,yBAA2BwE,KAAK81C,sBACrCt6C,EAAK,2BAA6BwE,KAAK+1C,wBACvCv6C,EAAK,oBAAsBwE,KAAKm+B,iBAChC3iC,EAAK,sBAAwBwE,KAAK2gC,mBAClCnlC,EAAK,yBAA2BwE,KAAKo7C,sBAAwBp7C,KAAKo7C,sBAAsBt3C,aAAY,QAAalD,EAC7GkI,MAAMC,QAAQ/I,KAAK4+C,cAAe,CAClCpjD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAK4+C,cAAY,IAAlC,2BACI,KADK51C,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,EAAKjF,WAAU,+BAEjD,OAAOvI,KACV,qBA9BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwhD,EAEjB,OADAxhD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzD2B,GAwGnBgiD,GAAyB,WAKlC,WAAYrjD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK8+C,UAAY/vB,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK++C,QAAUhwB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKg/C,gBAAkBjwB,EAAM,sBAEpC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK8+C,UAAY9+C,KAAK8+C,UAAUh7C,aAAY,QAAalD,EAC7EpF,EAAK,WAAawE,KAAK++C,QAAU/+C,KAAK++C,QAAQj7C,aAAY,QAAalD,EACvEpF,EAAK,mBAAqBwE,KAAKg/C,gBACxBxjD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgiD,EAEjB,OADAhiD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BiC,GA4CzB0hD,GAA0B,WAsBnC,WAAY/iD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmCnD,OAhCA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKq9B,aAAetO,EAAM,gBAC1B/uB,KAAKo9B,WAAarO,EAAM,cACxB/uB,KAAKsgC,aAAevR,EAAM,gBAC1B/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAK88B,YAAc/N,EAAM,eACzB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK69B,gBAAkB9O,EAAM,mBAC7B/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKw+B,YAAczP,EAAM,eACzB/uB,KAAKy4C,KAAO1pB,EAAM,QAClB/uB,KAAKggC,SAAWjR,EAAM,YACtB/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKi/C,eAAiBlwB,EAAM,kBAC5B/uB,KAAKwrB,QAAUuD,EAAM,WACrB/uB,KAAKm/B,UAAYpQ,EAAM,gBAE9B,oBASD,SAAOvzB,GAsBH,OArBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,gBAAkBwE,KAAKq9B,aAC5B7hC,EAAK,cAAgBwE,KAAKo9B,WAC1B5hC,EAAK,gBAAkBwE,KAAKsgC,aAC5B9kC,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,eAAiBwE,KAAK88B,YAC3BthC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,mBAAqBwE,KAAK69B,gBAC/BriC,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,eAAiBwE,KAAKw+B,YAC3BhjC,EAAK,QAAUwE,KAAKy4C,KACpBj9C,EAAK,YAAcwE,KAAKggC,SACxBxkC,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,kBAAoBwE,KAAKi/C,eAC9BzjD,EAAK,WAAawE,KAAKwrB,QACvBhwB,EAAK,aAAewE,KAAKm/B,UAClB3jC,KACV,qBA9BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0hD,EAEjB,OADA1hD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7DkC,GAgH1B4hD,GAAqB,WAM9B,WAAYjjD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKg9B,OAASjO,EAAM,UACpB/uB,KAAKi9B,OAASlO,EAAM,UACpB/uB,KAAKk9B,SAAWnO,EAAM,YACtB/uB,KAAKw4C,YAAczpB,EAAM,kBAEhC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKg9B,OACtBxhC,EAAK,UAAYwE,KAAKi9B,OACtBzhC,EAAK,YAAcwE,KAAKk9B,SACxB1hC,EAAK,eAAiBwE,KAAKw4C,YACpBh9C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4hD,EAEjB,OADA5hD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B6B,GAgDrB+nB,GAAW,WA0BpB,WAAYppB,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKs9B,WAAavO,EAAM,cACxB/uB,KAAKyhC,UAAY1S,EAAM,aACvB/uB,KAAK0hC,aAAe3S,EAAM,gBAC1B/uB,KAAKk3B,aAAenI,EAAM,gBAC1B/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAK42B,WAAa7H,EAAM,cACxB/uB,KAAK2hC,YAAc5S,EAAM,eACzB/uB,KAAK4hC,WAAa7S,EAAM,cACxB/uB,KAAK6hC,WAAa9S,EAAM,cACxB/uB,KAAKggC,SAAWjR,EAAM,YACtB/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK+jC,QAAUhV,EAAM,WACrB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKia,UAAY8U,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAK45B,UAAY7K,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,KAEpG,oBASD,SAAOpF,GA0BH,OAzBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,cAAgBwE,KAAKs9B,WAC1B9hC,EAAK,aAAewE,KAAKyhC,UACzBjmC,EAAK,gBAAkBwE,KAAK0hC,aAC5BlmC,EAAK,gBAAkBwE,KAAKk3B,aAC5B17B,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,cAAgBwE,KAAK42B,WAC1Bp7B,EAAK,eAAiBwE,KAAK2hC,YAC3BnmC,EAAK,cAAgBwE,KAAK4hC,WAC1BpmC,EAAK,cAAgBwE,KAAK6hC,WAC1BrmC,EAAK,YAAcwE,KAAKggC,SACxBxkC,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,WAAawE,KAAK+jC,QACvBvoC,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,aAAewE,KAAKia,UAAYja,KAAKia,UAAUnW,aAAY,QAAalD,EAC7EpF,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EACzFpF,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,aAAewE,KAAK45B,UAAY55B,KAAK45B,UAAU91B,aAAY,QAAalD,EACtEpF,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+nB,EAEjB,OADA/nB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArEmB,GAgIXioB,GAAc,WAKvB,WAAYtpB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKk/C,YAAcnwB,EAAM,eACzB/uB,KAAKm/C,UAAYpwB,EAAM,aACvB/uB,KAAK6H,QAAUknB,EAAM,cAE5B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiBwE,KAAKk/C,YAC3B1jD,EAAK,aAAewE,KAAKm/C,UACzB3jD,EAAK,WAAawE,KAAK6H,QAChBrM,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIioB,EAEjB,OADAjoB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BsB,IA4C3B,SAAY8gD,GACRA,wBACAA,qBAFJ,CAAYA,QAAW,KAKhB,IAwbKyB,GAxbCC,GAAa,WAItB,WAAY7jD,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKozB,YAAcrE,EAAM,kBAEhC,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAKozB,YACpB53B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwiD,EAEjB,OADAxiD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBqB,GAwCbwoB,GAAuB,WAUhC,WAAY7pB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKi4B,cAAgBlJ,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,oBAElC,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,iBAAmBwE,KAAKi4B,cAAgBj4B,KAAKi4B,cAAcn0B,aAAY,QAAalD,EACzFpF,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cACtBtmC,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwoB,EAEjB,OADAxoB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArC+B,GAgEvByiD,GAAmB,WAU5B,WAAY9jD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAKm+B,iBAAmBpP,EAAM,oBAC9B/uB,KAAK2gC,mBAAqB5R,EAAM,sBAChC/uB,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAK+5C,MAAQhrB,EAAM,SACnB/uB,KAAKu/C,YAAcxwB,EAAM,eAAiBzK,GAAe3c,OAAOonB,EAAM,qBAAuBnuB,KAEpG,oBASD,SAAOpF,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,oBAAsBwE,KAAKm+B,iBAChC3iC,EAAK,sBAAwBwE,KAAK2gC,mBAClCnlC,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,SAAWwE,KAAK+5C,MACrBv+C,EAAK,eAAiBwE,KAAKu/C,YAAcv/C,KAAKu/C,YAAYx7C,cAAgBnD,EACnEpF,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyiD,EAEjB,OADAziD,EAAO0yB,KAAK/zB,GACLqB,MACV,EArC2B,GAgEnB4oB,GAA6B,WA4BtC,WAAYjqB,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyCnD,OAtCA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK48B,iBAAmB7N,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKm+B,iBAAmBpP,EAAM,oBAC9B/uB,KAAK2gC,mBAAqB5R,EAAM,sBAChC/uB,KAAK0gC,4BAA8B3R,EAAM,+BACzC/uB,KAAK6/B,0BAA4B9Q,EAAM,6BACvC/uB,KAAKygC,mBAAqB1R,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAKk+B,iBAAmBnP,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKw/C,0BAA4BzwB,EAAM,6BACvC/uB,KAAKy/C,0BAA4B1wB,EAAM,6BACvC/uB,KAAK0/C,wBAA0B3wB,EAAM,2BACrC/uB,KAAK2/C,wBAA0B5wB,EAAM,2BACrC/uB,KAAK4/C,aAAe7wB,EAAM,gBAC1B/uB,KAAK+5C,MAAQhrB,EAAM,SACnB/uB,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK6/C,SAAW9wB,EAAM,YACtB/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAKw6C,oBAAsBzrB,EAAM,uBACjC/uB,KAAKu/C,YAAcxwB,EAAM,eAAiBzK,GAAe3c,OAAOonB,EAAM,qBAAuBnuB,KAEpG,oBASD,SAAOpF,GA4BH,OA3BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,oBAAsBwE,KAAK48B,iBAAmB58B,KAAK48B,iBAAiB94B,aAAY,QAAalD,EAClGpF,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,oBAAsBwE,KAAKm+B,iBAChC3iC,EAAK,sBAAwBwE,KAAK2gC,mBAClCnlC,EAAK,+BAAiCwE,KAAK0gC,4BAC3CllC,EAAK,6BAA+BwE,KAAK6/B,0BACzCrkC,EAAK,sBAAwBwE,KAAKygC,mBAAqBzgC,KAAKygC,mBAAmB38B,aAAY,QAAalD,EACxGpF,EAAK,oBAAsBwE,KAAKk+B,iBAAmBl+B,KAAKk+B,iBAAiBp6B,aAAY,QAAalD,EAClGpF,EAAK,6BAA+BwE,KAAKw/C,0BACzChkD,EAAK,6BAA+BwE,KAAKy/C,0BACzCjkD,EAAK,2BAA6BwE,KAAK0/C,wBACvClkD,EAAK,2BAA6BwE,KAAK2/C,wBACvCnkD,EAAK,gBAAkBwE,KAAK4/C,aAC5BpkD,EAAK,SAAWwE,KAAK+5C,MACrBv+C,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,YAAcwE,KAAK6/C,SACxBrkD,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,uBAAyBwE,KAAKw6C,oBACnCh/C,EAAK,eAAiBwE,KAAKu/C,YAAcv/C,KAAKu/C,YAAYx7C,cAAgBnD,EACnEpF,KACV,qBApCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4oB,EAEjB,OADA5oB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzEqC,GAwI7B8oB,GAA4B,WAcrC,WAAYnqB,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAKs/B,IAAMvQ,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,EAC3EZ,KAAK4/B,IAAM7Q,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,EAC3EZ,KAAKo/B,eAAiBrQ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKqgC,WAAatR,EAAM,cACxB/uB,KAAKu/B,iBAAmBxQ,EAAM,oBAC9B/uB,KAAKq/B,SAAWtQ,EAAM,YACtB/uB,KAAKy4C,KAAO1pB,EAAM,QAClB/uB,KAAKm5C,SAAWpqB,EAAM,YACtB/uB,KAAKo5C,YAAcrqB,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC/uB,KAAKmqC,WAAa,GAAU,IACQ,EADR,IACXpb,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAKmqC,WAAY7tC,KAAKy8C,GAAapxC,OAAOqB,KAAO,kCAGhE,oBASD,SAAOxN,GAaH,GAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,OAASwE,KAAKs/B,IAAMt/B,KAAKs/B,IAAIx7B,aAAY,QAAalD,EAC3DpF,EAAK,OAASwE,KAAK4/B,IAAM5/B,KAAK4/B,IAAI97B,aAAY,QAAalD,EAC3DpF,EAAK,kBAAoBwE,KAAKo/B,eAAiBp/B,KAAKo/B,eAAet7B,aAAY,QAAalD,EAC5FpF,EAAK,cAAgBwE,KAAKqgC,WAC1B7kC,EAAK,oBAAsBwE,KAAKu/B,iBAChC/jC,EAAK,YAAcwE,KAAKq/B,SACxB7jC,EAAK,QAAUwE,KAAKy4C,KACpBj9C,EAAK,YAAcwE,KAAKm5C,SACxB39C,EAAK,eAAiBwE,KAAKo5C,YACvBtwC,MAAMC,QAAQ/I,KAAKmqC,YAAa,CAChC3uC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAKmqC,YAAU,IAAhC,2BACI,KADKnhC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,EAAKjF,WAAU,+BAE/C,OAAOvI,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8oB,EAEjB,OADA9oB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjDoC,GAwF5BopB,GAAiB,WAM1B,WAAYzqB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKmzB,QAAUpE,EAAM,WACrB/uB,KAAK06B,KAAO3L,EAAM,QAClB/uB,KAAK8/C,WAAa/wB,EAAM,iBAE/B,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKmzB,QACvB33B,EAAK,QAAUwE,KAAK06B,KACpBl/B,EAAK,cAAgBwE,KAAK8/C,WACnBtkD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIopB,EAEjB,OADAppB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7ByB,IAgD9B,SAAYuiD,GACRA,sBACAA,kCACAA,4CACAA,oCACAA,mDALJ,CAAYA,QAAkB,KAQvB,IAoeKW,GApeC55B,GAA+B,WAYxC,WAAY3qB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqCnD,OAlCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAQP,GAPA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKmzB,QAAUpE,EAAM,WACrB/uB,KAAK06B,KAAO3L,EAAM,QAClB/uB,KAAK8/C,WAAa/wB,EAAM,cACxB/uB,KAAKggD,gBAAkBjxB,EAAM,mBAC7B/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKigD,WAAalxB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,iCAAkC,CACtD/uB,KAAKkgD,6BAA+B,GAAU,IACQ,EADR,IAC7BnxB,EAAM,iCAA+B,IAAtD,2BACI,KADK/lB,EAAI,QACThJ,KAAKkgD,6BAA8B5jD,KAAK6jD,GAAyBx4C,OAAOqB,KAAO,+BAEvF,GAAIF,MAAMC,QAAQgmB,EAAM,+BAAgC,CACpD/uB,KAAKogD,2BAA6B,GAAU,IACQ,EADR,IAC3BrxB,EAAM,+BAA6B,IAApD,2BACI,KADK/lB,EAAI,QACThJ,KAAKogD,2BAA4B9jD,KAAK6jD,GAAyBx4C,OAAOqB,KAAO,+BAErF,GAAIF,MAAMC,QAAQgmB,EAAM,uCAAwC,CAC5D/uB,KAAKqgD,mCAAqC,GAAU,IACQ,EADR,IACnCtxB,EAAM,uCAAqC,IAA5D,2BACI,KADK/lB,EAAI,QACThJ,KAAKqgD,mCAAoC/jD,KAAK6jD,GAAyBx4C,OAAOqB,KAAO,mCAGpG,oBASD,SAAOxN,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKmzB,QACvB33B,EAAK,QAAUwE,KAAK06B,KACpBl/B,EAAK,cAAgBwE,KAAK8/C,WAC1BtkD,EAAK,mBAAqBwE,KAAKggD,gBAC/BxkD,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,cAAgBwE,KAAKigD,WACtBn3C,MAAMC,QAAQ/I,KAAKkgD,8BAA+B,CAClD1kD,EAAK,gCAAkC,GAAG,IACQ,EADR,IACzBwE,KAAKkgD,8BAA4B,IAAlD,2BACI,KADKl3C,EAAI,QACTxN,EAAK,gCAAgCc,KAAK0M,EAAKjF,WAAU,+BAEjE,GAAI+E,MAAMC,QAAQ/I,KAAKogD,4BAA6B,CAChD5kD,EAAK,8BAAgC,GAAG,IACQ,EADR,IACvBwE,KAAKogD,4BAA0B,IAAhD,2BACI,KADKp3C,EAAI,QACTxN,EAAK,8BAA8Bc,KAAK0M,EAAKjF,WAAU,+BAE/D,GAAI+E,MAAMC,QAAQ/I,KAAKqgD,oCAAqC,CACxD7kD,EAAK,sCAAwC,GAAG,IACQ,EADR,IAC/BwE,KAAKqgD,oCAAkC,IAAxD,2BACI,KADKr3C,EAAI,QACTxN,EAAK,sCAAsCc,KAAK0M,EAAKjF,WAAU,+BAEvE,OAAOvI,KACV,qBAhCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIspB,EAEjB,OADAtpB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArDuC,GAgG/BsjD,GAAwB,WAKjC,WAAY3kD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKs8B,UAAYvN,EAAM,aACvB/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKsgD,cAAgBvxB,EAAM,oBAElC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKs8B,UACzB9gC,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,iBAAmBwE,KAAKsgD,cACtB9kD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsjD,EAEjB,OADAtjD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BgC,GA4CxB6pB,GAAsB,WAS/B,WAAYlrB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA8BnD,OA3BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAMP,GALA/uB,KAAK84B,MAAQ/J,EAAM,SACnB/uB,KAAKugD,SAAWxxB,EAAM,YACtB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAKwgD,cAAgBzxB,EAAM,iBAC3B/uB,KAAKygD,WAAa1xB,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,WAAY,CAChC/uB,KAAK62B,OAAS,GAAU,IACQ,EADR,IACP9H,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAK62B,OAAQv6B,KAAKokD,GAAiB/4C,OAAOqB,KAAO,+BAEzD,GAAIF,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKqkD,GAAiBh5C,OAAOqB,KAAO,mCAG9D,oBASD,SAAOxN,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACrBt9B,EAAK,YAAcwE,KAAKugD,SACxB/kD,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAKwgD,cAC7BhlD,EAAK,cAAgBwE,KAAKygD,WACtB33C,MAAMC,QAAQ/I,KAAK62B,QAAS,CAC5Br7B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAK62B,QAAM,IAA5B,2BACI,KADK7tB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,GAAI+E,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,OAAOvI,KACV,qBAzBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6pB,EAEjB,OADA7pB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3C8B,GA4EtB6jD,GAAgB,WAMzB,WAAYllD,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK4gD,MAAQ7xB,EAAM,SACnB/uB,KAAK6gD,IAAM9xB,EAAM,OACjB/uB,KAAK8gD,MAAQ/xB,EAAM,YAE1B,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,SAAWwE,KAAK4gD,MACrBplD,EAAK,OAASwE,KAAK6gD,IACnBrlD,EAAK,SAAWwE,KAAK8gD,MACdtlD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6jD,EAEjB,OADA7jD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BwB,GAgDhB8jD,GAAgB,WAgBzB,WAAYnlD,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKugD,SAAWxxB,EAAM,YACtB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAKwgD,cAAgBzxB,EAAM,iBAC3B/uB,KAAK+gD,WAAahyB,EAAM,cACxB/uB,KAAKghD,SAAWjyB,EAAM,YACtB/uB,KAAKihD,eAAiBlyB,EAAM,kBAC5B/uB,KAAKkhD,WAAanyB,EAAM,cACxB/uB,KAAKygD,WAAa1xB,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKyxC,aAAe1iB,EAAM,gBAC1B/uB,KAAKmhD,QAAUpyB,EAAM,WACrB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,uBAErC,oBASD,SAAOvzB,GAgBH,OAfAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,YAAcwE,KAAKugD,SACxB/kD,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,iBAAmBwE,KAAKwgD,cAC7BhlD,EAAK,cAAgBwE,KAAK+gD,WAC1BvlD,EAAK,YAAcwE,KAAKghD,SACxBxlD,EAAK,kBAAoBwE,KAAKihD,eAC9BzlD,EAAK,cAAgBwE,KAAKkhD,WAC1B1lD,EAAK,cAAgBwE,KAAKygD,WAC1BjlD,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,gBAAkBwE,KAAKyxC,aAC5Bj2C,EAAK,WAAawE,KAAKmhD,QACvB3lD,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBACzBv8B,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8jD,EAEjB,OADA9jD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjDwB,GAwFhBukD,GAAiC,WAO1C,WAAY5lD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBsyB,GAAyB15C,OAAOonB,EAAM,wBAA0BnuB,EAChHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIukD,EAEjB,OADAvkD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/ByC,GAoDjCwkD,GAAwB,WAcjC,WAAY7lD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKyxC,aAAe1iB,EAAM,gBAC1B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,KAE3F,oBASD,SAAOpF,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,gBAAkBwE,KAAKyxC,aAC5Bj2C,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EAC7DpF,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwkD,EAEjB,OADAxkD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CgC,IAgFrC,SAAYkjD,GACRA,0CACAA,8CACAA,sBACAA,8BACAA,wCACAA,wCACAA,8BACAA,kCACAA,0CACAA,mCACAA,mCACAA,iCACAA,wCAbJ,CAAYA,QAAiB,KAgBtB,IAwYKuB,GAWAC,GAKAC,GAxZC36B,GAAgC,WAKzC,WAAYrrB,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAEP,GADA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKmlD,GAA2B95C,OAAOqB,KAAO,+BAEjEhJ,KAAK4gD,MAAQ7xB,EAAM,SAAW0yB,GAA2B95C,OAAOonB,EAAM,eAAiBnuB,KAE9F,oBASD,SAAOpF,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAGzC,OADAvI,EAAK,SAAWwE,KAAK4gD,MAAQ5gD,KAAK4gD,MAAM78C,cAAgBnD,EACjDpF,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgqB,EAEjB,OADAhqB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BwC,GAoDhC4kD,GAA0B,WAqCnC,WAAYjmD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkDnD,OA/CA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAK0hD,QAAU3yB,EAAM,WACrB/uB,KAAK03B,OAAS3I,EAAM,UACpB/uB,KAAK2hD,SAAW5yB,EAAM,YACtB/uB,KAAK4hD,QAAU7yB,EAAM,WACrB/uB,KAAK6hD,iBAAmB9yB,EAAM,oBAC9B/uB,KAAK8hD,gBAAkB/yB,EAAM,mBAC7B/uB,KAAK+hD,0BAA4BhzB,EAAM,6BACvC/uB,KAAKgiD,qBAAuBjzB,EAAM,wBAClC/uB,KAAKiiD,uBAAyBlzB,EAAM,0BACpC/uB,KAAK23B,UAAY5I,EAAM,aACvB/uB,KAAKkiD,6BAA+BnzB,EAAM,gCAC1C/uB,KAAKmiD,kBAAoBpzB,EAAM,qBAC/B/uB,KAAKoiD,wBAA0BrzB,EAAM,2BACrC/uB,KAAKqiD,0BAA4BtzB,EAAM,6BACvC/uB,KAAKsiD,YAAcvzB,EAAM,eACzB/uB,KAAKuiD,cAAgBxzB,EAAM,iBAC3B/uB,KAAKwiD,aAAezzB,EAAM,gBAC1B/uB,KAAKyiD,sBAAwB1zB,EAAM,yBACnC/uB,KAAK0iD,qBAAuB3zB,EAAM,wBAClC/uB,KAAK2iD,+BAAiC5zB,EAAM,kCAC5C/uB,KAAK4iD,0BAA4B7zB,EAAM,6BACvC/uB,KAAK6iD,4BAA8B9zB,EAAM,+BACzC/uB,KAAK8iD,eAAiB/zB,EAAM,kBAC5B/uB,KAAK+iD,kCAAoCh0B,EAAM,qCAC/C/uB,KAAKgjD,uBAAyBj0B,EAAM,0BACpC/uB,KAAKijD,6BAA+Bl0B,EAAM,gCAC1C/uB,KAAKkjD,+BAAiCn0B,EAAM,qCAEnD,oBASD,SAAOvzB,GAqCH,OApCAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,WAAawE,KAAK0hD,QACvBlmD,EAAK,UAAYwE,KAAK03B,OACtBl8B,EAAK,YAAcwE,KAAK2hD,SACxBnmD,EAAK,WAAawE,KAAK4hD,QACvBpmD,EAAK,oBAAsBwE,KAAK6hD,iBAChCrmD,EAAK,mBAAqBwE,KAAK8hD,gBAC/BtmD,EAAK,6BAA+BwE,KAAK+hD,0BACzCvmD,EAAK,wBAA0BwE,KAAKgiD,qBACpCxmD,EAAK,0BAA4BwE,KAAKiiD,uBACtCzmD,EAAK,aAAewE,KAAK23B,UACzBn8B,EAAK,gCAAkCwE,KAAKkiD,6BAC5C1mD,EAAK,qBAAuBwE,KAAKmiD,kBACjC3mD,EAAK,2BAA6BwE,KAAKoiD,wBACvC5mD,EAAK,6BAA+BwE,KAAKqiD,0BACzC7mD,EAAK,eAAiBwE,KAAKsiD,YAC3B9mD,EAAK,iBAAmBwE,KAAKuiD,cAC7B/mD,EAAK,gBAAkBwE,KAAKwiD,aAC5BhnD,EAAK,yBAA2BwE,KAAKyiD,sBACrCjnD,EAAK,wBAA0BwE,KAAK0iD,qBACpClnD,EAAK,kCAAoCwE,KAAK2iD,+BAC9CnnD,EAAK,6BAA+BwE,KAAK4iD,0BACzCpnD,EAAK,+BAAiCwE,KAAK6iD,4BAC3CrnD,EAAK,kBAAoBwE,KAAK8iD,eAC9BtnD,EAAK,qCAAuCwE,KAAK+iD,kCACjDvnD,EAAK,0BAA4BwE,KAAKgjD,uBACtCxnD,EAAK,gCAAkCwE,KAAKijD,6BAC5CznD,EAAK,kCAAoCwE,KAAKkjD,+BACvC1nD,KACV,qBA7CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4kD,EAEjB,OADA5kD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3FkC,GA4K1BsmD,GAA2C,WAOpD,WAAY3nD,GACR,GAD2D,UACvDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBq0B,GAAmCz7C,OAAOonB,EAAM,wBAA0BnuB,EAC1HZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsmD,EAEjB,OADAtmD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BmD,GAoD3CumD,GAAkC,WAiB3C,WAAY5nD,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0CnD,OAvCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAMP,GALA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK6J,QAAUklB,EAAM,WACrB/uB,KAAKu+B,KAAOxP,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BAGpC,GADAhJ,KAAKk2B,cAAgBnH,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C/uB,KAAKm1C,kBAAoB,GAAU,IACQ,EADR,IAClBpmB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAKm1C,kBAAmB74C,KAAK0M,IAAM,+BAO3C,GALAhJ,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKqjD,iBAAmBt0B,EAAM,oBAC1BjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC/uB,KAAKsjD,aAAe,GAAU,IACQ,EADR,IACbv0B,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAKsjD,aAAchnD,KAAK0M,IAAM,+BAEtChJ,KAAKujD,IAAMx0B,EAAM,UAExB,oBASD,SAAOvzB,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,WAAawE,KAAK6J,QACvBrO,EAAK,QAAUwE,KAAKu+B,KAChBz1B,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAGtC,GADAxN,EAAK,iBAAmBwE,KAAKk2B,cACzBptB,MAAMC,QAAQ/I,KAAKm1C,mBAAoB,CACvC35C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAKm1C,mBAAiB,IAAvC,2BACI,KADKnsC,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,IAAM,+BAO7C,GALAxN,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,oBAAsBwE,KAAKqjD,iBAC5Bv6C,MAAMC,QAAQ/I,KAAKsjD,cAAe,CAClC9nD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAKsjD,cAAY,IAAlC,2BACI,KADKt6C,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,IAAM,+BAGxC,OADAxN,EAAK,OAASwE,KAAKujD,IACZ/nD,KACV,qBArCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIumD,EAEjB,OADAvmD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/D0C,IAoH/C,SAAYykD,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,IAwSKgC,GAxSCx8B,GAAqC,WAK9C,WAAYxrB,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAEP,GADA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKmnD,GAAgC97C,OAAOqB,KAAO,+BAEtEhJ,KAAK4gD,MAAQ7xB,EAAM,SAAW00B,GAAgC97C,OAAOonB,EAAM,eAAiBnuB,KAEnG,oBASD,SAAOpF,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAGzC,OADAvI,EAAK,SAAWwE,KAAK4gD,MAAQ5gD,KAAK4gD,MAAM78C,cAAgBnD,EACjDpF,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImqB,EAEjB,OADAnqB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B6C,GAoDrC4mD,GAA+B,WAkBxC,WAAYjoD,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK0hD,QAAU3yB,EAAM,WACrB/uB,KAAKy3B,OAAS1I,EAAM,UACpB/uB,KAAK0jD,aAAe30B,EAAM,gBAC1B/uB,KAAK2jD,YAAc50B,EAAM,eACzB/uB,KAAK4jD,WAAa70B,EAAM,cACxB/uB,KAAKqhC,KAAOtS,EAAM,WAEzB,oBASD,SAAOvzB,GAkBH,OAjBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,WAAawE,KAAK0hD,QACvBlmD,EAAK,UAAYwE,KAAKy3B,OACtBj8B,EAAK,gBAAkBwE,KAAK0jD,aAC5BloD,EAAK,eAAiBwE,KAAK2jD,YAC3BnoD,EAAK,cAAgBwE,KAAK4jD,WAC1BpoD,EAAK,QAAUwE,KAAKqhC,KACb7lC,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4mD,EAEjB,OADA5mD,EAAO0yB,KAAK/zB,GACLqB,MACV,EArDuC,GAgG/BgnD,GAAgD,WAOzD,WAAYroD,GACR,GADgE,UAC5DA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoB+0B,GAAwCn8C,OAAOonB,EAAM,wBAA0BnuB,EAC/HZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgnD,EAEjB,OADAhnD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BwD,GAoDhDinD,GAAuC,WAchD,WAAYtoD,GACR,GADuD,UACnDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmCnD,OAhCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAKP,GAJA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK6J,QAAUklB,EAAM,WACjBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BAGpC,GADAhJ,KAAKk2B,cAAgBnH,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C/uB,KAAKm1C,kBAAoB,GAAU,IACQ,EADR,IAClBpmB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAKm1C,kBAAmB74C,KAAK0M,IAAM,+BAE3ChJ,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKqjD,iBAAmBt0B,EAAM,uBAErC,oBASD,SAAOvzB,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,WAAawE,KAAK6J,QACnBf,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAGtC,GADAxN,EAAK,iBAAmBwE,KAAKk2B,cACzBptB,MAAMC,QAAQ/I,KAAKm1C,mBAAoB,CACvC35C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAKm1C,mBAAiB,IAAvC,2BACI,KADKnsC,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,IAAM,+BAO7C,OALAxN,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,oBAAsBwE,KAAKqjD,iBACzB7nD,KACV,qBA9BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIinD,EAEjB,OADAjnD,EAAO0yB,KAAK/zB,GACLqB,MACV,EArD+C,IAgGpD,SAAY2mD,GACRA,wBACAA,gCACAA,0CACAA,8CACAA,8BACAA,0BACAA,4CACAA,4BACAA,0BACAA,mCACAA,uBACAA,uCACAA,sCAbJ,CAAYA,QAAgC,KAgBrC,IA4XKO,GA5XC58B,GAA2B,WAKpC,WAAY3rB,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAEP,GADA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAK0nD,GAAsBr8C,OAAOqB,KAAO,+BAE5D,GAAIF,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKikD,KAAO,GAAU,IACQ,EADR,IACLl1B,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKikD,KAAM3nD,KAAK4nD,GAAoBv8C,OAAOqB,KAAO,mCAGjE,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,GAAI+E,MAAMC,QAAQ/I,KAAKikD,MAAO,CAC1BzoD,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKikD,MAAI,IAA1B,2BACI,KADKj7C,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,OAAOvI,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsqB,EAEjB,OADAtqB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnCmC,GA4D3BmnD,GAAqB,WAuB9B,WAAYxoD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoCnD,OAjCA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK49B,YAAc7O,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAKiqC,eAAiBlb,EAAM,kBAC5B/uB,KAAKkqC,gBAAkBnb,EAAM,mBAC7B/uB,KAAK29B,cAAgB5O,EAAM,iBAC3B/uB,KAAKw9B,eAAiBzO,EAAM,kBAC5B/uB,KAAKgyB,aAAejD,EAAM,gBAC1B/uB,KAAKmkD,cAAgBp1B,EAAM,iBAC3B/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAKokD,oBAAsBr1B,EAAM,uBACjC/uB,KAAKqkD,sBAAwBt1B,EAAM,yBACnC/uB,KAAK0hC,aAAe3S,EAAM,gBAC1B/uB,KAAKskD,sBAAwBv1B,EAAM,yBACnC/uB,KAAKukD,sBAAwBx1B,EAAM,yBACnC/uB,KAAKwkD,uBAAyBz1B,EAAM,6BAE3C,oBASD,SAAOvzB,GAuBH,OAtBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,eAAiBwE,KAAK49B,YAAc59B,KAAK49B,YAAY95B,aAAY,QAAalD,EACnFpF,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,kBAAoBwE,KAAKiqC,eAC9BzuC,EAAK,mBAAqBwE,KAAKkqC,gBAC/B1uC,EAAK,iBAAmBwE,KAAK29B,cAC7BniC,EAAK,kBAAoBwE,KAAKw9B,eAC9BhiC,EAAK,gBAAkBwE,KAAKgyB,aAC5Bx2B,EAAK,iBAAmBwE,KAAKmkD,cAC7B3oD,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,uBAAyBwE,KAAKokD,oBACnC5oD,EAAK,yBAA2BwE,KAAKqkD,sBACrC7oD,EAAK,gBAAkBwE,KAAK0hC,aAC5BlmC,EAAK,yBAA2BwE,KAAKskD,sBACrC9oD,EAAK,yBAA2BwE,KAAKukD,sBACrC/oD,EAAK,0BAA4BwE,KAAKwkD,uBAC/BhpD,KACV,qBA/BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImnD,EAEjB,OADAnnD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/D6B,GAoHrBqnD,GAAmB,WAM5B,WAAY1oD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK0hC,aAAe3S,EAAM,gBAC1B/uB,KAAKskD,sBAAwBv1B,EAAM,yBACnC/uB,KAAKwkD,uBAAyBz1B,EAAM,6BAE3C,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,gBAAkBwE,KAAK0hC,aAC5BlmC,EAAK,yBAA2BwE,KAAKskD,sBACrC9oD,EAAK,0BAA4BwE,KAAKwkD,uBAC/BhpD,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqnD,EAEjB,OADArnD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B2B,GAgDnB4nD,GAAsC,WAO/C,WAAYjpD,GACR,GADsD,UAClDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoB21B,GAA8B/8C,OAAOonB,EAAM,wBAA0BnuB,EACrHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4nD,EAEjB,OADA5nD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B8C,GAoDtC6nD,GAA6B,WActC,WAAYlpD,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuCnD,OApCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAMP,GALA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKk2B,cAAgBnH,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,sBAAuB,CAC3C/uB,KAAKm1C,kBAAoB,GAAU,IACQ,EADR,IAClBpmB,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAKm1C,kBAAmB74C,KAAK0M,IAAM,+BAM3C,GAJAhJ,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,oBAAqB,CACzC/uB,KAAKksC,gBAAkB,GAAU,IACQ,EADR,IAChBnd,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACThJ,KAAKksC,gBAAiB5vC,KAAK0M,IAAM,+BAEzC,GAAIF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C/uB,KAAKmsC,iBAAmB,GAAU,IACQ,EADR,IACjBpd,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACThJ,KAAKmsC,iBAAkB7vC,KAAK0M,IAAM,mCAGjD,oBASD,SAAOxN,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,iBAAmBwE,KAAKk2B,cACzBptB,MAAMC,QAAQ/I,KAAKm1C,mBAAoB,CACvC35C,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAKm1C,mBAAiB,IAAvC,2BACI,KADKnsC,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,IAAM,+BAM7C,GAJAxN,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC3BttB,MAAMC,QAAQ/I,KAAKksC,iBAAkB,CACrC1wC,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZwE,KAAKksC,iBAAe,IAArC,2BACI,KADKljC,EAAI,QACTxN,EAAK,mBAAmBc,KAAK0M,IAAM,+BAE3C,GAAIF,MAAMC,QAAQ/I,KAAKmsC,kBAAmB,CACtC3wC,EAAK,oBAAsB,GAAG,IACQ,EADR,IACbwE,KAAKmsC,kBAAgB,IAAtC,2BACI,KADKnjC,EAAI,QACTxN,EAAK,oBAAoBc,KAAK0M,IAAM,+BAE5C,OAAOxN,KACV,qBAlCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6nD,EAEjB,OADA7nD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzDqC,IAwG1C,SAAYknD,GACRA,0CACAA,8CACAA,gCACAA,0CACAA,4CACAA,8BACAA,oCACAA,8BACAA,6CATJ,CAAYA,QAAsB,KAY3B,IAgcKY,GAKAC,GArcCt9B,GAAyB,WAKlC,WAAY9rB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAEP,GADA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKuoD,GAAoBl9C,OAAOqB,KAAO,+BAE1D,GAAIF,MAAMC,QAAQgmB,EAAM,cAAe,CACnC/uB,KAAK8kD,UAAY,GAAU,IACQ,EADR,IACV/1B,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAK8kD,UAAWxoD,KAAKyoD,GAAsBp9C,OAAOqB,KAAO,mCAGxE,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,GAAI+E,MAAMC,QAAQ/I,KAAK8kD,WAAY,CAC/BtpD,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAK8kD,WAAS,IAA/B,2BACI,KADK97C,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAE9C,OAAOvI,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyqB,EAEjB,OADAzqB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnCiC,GA4DzBgoD,GAAmB,WA+B5B,WAAYrpD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAgDnD,OA7CA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKy+B,WAAa1P,EAAM,cAAgBlZ,EAAOlR,UAAUoqB,EAAM,cAAczqB,iBAAmB1D,EAChGZ,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKyhC,UAAY1S,EAAM,aACvB/uB,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKia,UAAY8U,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK8hC,cAAgB/S,EAAM,iBAC3B/uB,KAAK2hC,YAAc5S,EAAM,eACzB/uB,KAAK4hC,WAAa7S,EAAM,cACxB/uB,KAAK6hC,WAAa9S,EAAM,cACxB/uB,KAAKs9B,WAAavO,EAAM,cACxB/uB,KAAKk3B,aAAenI,EAAM,gBAC1B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK+hC,cAAgBhT,EAAM,iBAC3B/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAK42B,WAAa7H,EAAM,cACxB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAKggC,SAAWjR,EAAM,YACtB/uB,KAAK+/B,eAAiBhR,EAAM,kBAC5B/uB,KAAKglD,QAAUj2B,EAAM,WACrB/uB,KAAKilD,MAAQl2B,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,aAAa,CACjC/uB,KAAKklD,QAAU,GAAU,IACQ,EADR,IACRn2B,EAAM,YAAU,IAAjC,2BACI,KADK/lB,EAAI,QACThJ,KAAKklD,QAAS5oD,KAAK6oD,GAAoCx9C,OAAOqB,KAAO,kCAGpF,oBASD,SAAOxN,GA8BH,GA7BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,cAAgBwE,KAAKy+B,WAAaz+B,KAAKy+B,WAAW36B,aAAY,QAAalD,EAChFpF,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,aAAewE,KAAKyhC,UACzBjmC,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EACzFpF,EAAK,aAAewE,KAAKia,UAAYja,KAAKia,UAAUnW,aAAY,QAAalD,EAC7EpF,EAAK,iBAAmBwE,KAAK8hC,cAC7BtmC,EAAK,eAAiBwE,KAAK2hC,YAC3BnmC,EAAK,cAAgBwE,KAAK4hC,WAC1BpmC,EAAK,cAAgBwE,KAAK6hC,WAC1BrmC,EAAK,cAAgBwE,KAAKs9B,WAC1B9hC,EAAK,gBAAkBwE,KAAKk3B,aAC5B17B,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,iBAAmBwE,KAAK+hC,cAC7BvmC,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,cAAgBwE,KAAK42B,WAC1Bp7B,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,YAAcwE,KAAKggC,SACxBxkC,EAAK,kBAAoBwE,KAAK+/B,eAC9BvkC,EAAK,WAAawE,KAAKglD,QACvBxpD,EAAK,SAAWwE,KAAKilD,MACjBn8C,MAAMC,QAAQ/I,KAAKklD,SAAU,CAC7B1pD,EAAK,WAAa,GAAG,IACQ,EADR,IACJwE,KAAKklD,SAAO,IAA7B,2BACI,KADKl8C,EAAI,QACTxN,EAAK,WAAWc,KAAK0M,EAAKjF,WAAU,+BAE5C,OAAOvI,KACV,qBA3CD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgoD,EAEjB,OADAhoD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnF2B,GA4JnBsoD,GAAmC,WAK5C,WAAY3pD,GACR,GADmD,UAC/CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK2C,KAAOosB,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKgyB,aAAejD,EAAM,gBAC1B/uB,KAAKozB,YAAcrE,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK2C,KAAO3C,KAAK2C,KAAKmB,aAAY,QAAalD,EAC9DpF,EAAK,gBAAkBwE,KAAKgyB,aAC5Bx2B,EAAK,eAAiBwE,KAAKozB,YACpB53B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsoD,EAEjB,OADAtoD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B2C,GA4CnCkoD,GAAqB,WAI9B,WAAYvpD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKolD,SAAWr2B,EAAM,eAE7B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,YAAcwE,KAAKolD,SACjB5pD,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkoD,EAEjB,OADAloD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB6B,GAwCrBwoD,GAAoC,WAO7C,WAAY7pD,GACR,GADoD,UAChDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBu2B,GAA4B39C,OAAOonB,EAAM,wBAA0BnuB,EACnHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwoD,EAEjB,OADAxoD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B4C,GAoDpCyoD,GAA2B,WAgBpC,WAAY9pD,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAK6J,QAAUklB,EAAM,WACrB/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAK63B,YAAc9I,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,qBAAqB,CACzC/uB,KAAKulD,gBAAkB,GAAU,IACQ,EADR,IAChBx2B,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACThJ,KAAKulD,gBAAiBjpD,KAAK0M,IAAM,kCAGhD,oBASD,SAAOxN,GAeH,GAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,WAAawE,KAAK6J,QACvBrO,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,eAAiBwE,KAAK63B,YACvB/uB,MAAMC,QAAQ/I,KAAKulD,iBAAkB,CACrC/pD,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZwE,KAAKulD,iBAAe,IAArC,2BACI,KADKv8C,EAAI,QACTxN,EAAK,mBAAmBc,KAAK0M,IAAM,+BAE3C,OAAOxN,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyoD,EAEjB,OADAzoD,EAAO0yB,KAAK/zB,GACLqB,MACV,EArDmC,IAgGxC,SAAY8nD,GACRA,4BACAA,iCAFJ,CAAYA,QAA0B,KAKtC,SAAYC,GACRA,0CACAA,8CACAA,0BACAA,8BACAA,8BACAA,sBACAA,wBACAA,kCACAA,0BACAA,uCAVJ,CAAYA,QAAoB,KAazB,IAwUKY,GAxUCC,GAAsB,WAK/B,WAAYjqD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKglD,QAAUj2B,EAAM,WACrB/uB,KAAKw+B,YAAczP,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,WAAawE,KAAKglD,QACvBxpD,EAAK,eAAiBwE,KAAKw+B,YACpBhjC,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4oD,EAEjB,OADA5oD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3B8B,GA4CtB8qB,GAA0B,WAWnC,WAAYnsB,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKopD,GAAqB/9C,OAAOqB,KAAO,+BAE3DhJ,KAAK84B,MAAQ/J,EAAM,SACnB/uB,KAAKugD,SAAWxxB,EAAM,YACtB/uB,KAAK2lD,cAAgB52B,EAAM,iBAC3B/uB,KAAK4lD,YAAc72B,EAAM,eACzB/uB,KAAK6lD,cAAgB92B,EAAM,iBAC3B/uB,KAAK8lD,YAAc/2B,EAAM,eACzB/uB,KAAK+lD,WAAah3B,EAAM,cACxB/uB,KAAKgmD,WAAaj3B,EAAM,iBAE/B,oBASD,SAAOvzB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAUzC,OARAvI,EAAK,SAAWwE,KAAK84B,MACrBt9B,EAAK,YAAcwE,KAAKugD,SACxB/kD,EAAK,iBAAmBwE,KAAK2lD,cAC7BnqD,EAAK,eAAiBwE,KAAK4lD,YAC3BpqD,EAAK,iBAAmBwE,KAAK6lD,cAC7BrqD,EAAK,eAAiBwE,KAAK8lD,YAC3BtqD,EAAK,cAAgBwE,KAAK+lD,WAC1BvqD,EAAK,cAAgBwE,KAAKgmD,WACnBxqD,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8qB,EAEjB,OADA9qB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3CkC,GA4E1B6oD,GAAoB,WAc7B,WAAYlqD,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKq8B,QAAUtN,EAAM,WACrB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKugD,SAAWxxB,EAAM,YACtB/uB,KAAKimD,qBAAuBl3B,EAAM,wBAClC/uB,KAAK2lD,cAAgB52B,EAAM,iBAC3B/uB,KAAK4lD,YAAc72B,EAAM,eACzB/uB,KAAK6lD,cAAgB92B,EAAM,iBAC3B/uB,KAAK8lD,YAAc/2B,EAAM,eACzB/uB,KAAK+lD,WAAah3B,EAAM,cACxB/uB,KAAKgmD,WAAaj3B,EAAM,iBAE/B,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKq8B,QACvB7gC,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKugD,SACxB/kD,EAAK,wBAA0BwE,KAAKimD,qBACpCzqD,EAAK,iBAAmBwE,KAAK2lD,cAC7BnqD,EAAK,eAAiBwE,KAAK4lD,YAC3BpqD,EAAK,iBAAmBwE,KAAK6lD,cAC7BrqD,EAAK,eAAiBwE,KAAK8lD,YAC3BtqD,EAAK,cAAgBwE,KAAK+lD,WAC1BvqD,EAAK,cAAgBwE,KAAKgmD,WACnBxqD,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6oD,EAEjB,OADA7oD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7C4B,GAgFpBqpD,GAAqC,WAO9C,WAAY1qD,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBo3B,GAA6Bx+C,OAAOonB,EAAM,wBAA0BnuB,EACpHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqpD,EAEjB,OADArpD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B6C,GAoDrCspD,GAA4B,WAarC,WAAY3qD,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKomD,gBAAkBr3B,EAAM,sBAEpC,oBASD,SAAOvzB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,mBAAqBwE,KAAKomD,gBACxB5qD,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIspD,EAEjB,OADAtpD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3CoC,IA4EzC,SAAY2oD,GACRA,0CACAA,8CACAA,gCACAA,8BACAA,sCACAA,wCACAA,oCACAA,wCACAA,oCACAA,6BACAA,mCACAA,oCAZJ,CAAYA,QAAqB,KAe1B,IAmtBKa,GAntBCv+B,GAAgC,WAIzC,WAAYtsB,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,UAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKgqD,GAAsC3+C,OAAOqB,KAAO,kCAGnF,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIirB,EAEjB,OADAjrB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BwC,GAgDhCypD,GAAqC,WAqB9C,WAAY9qD,GACR,GADqD,UACjDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsCnD,OAnCA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAKumD,gBAAkBx3B,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK6zC,SAAW9kB,EAAM,YACtB/uB,KAAKwmD,aAAez3B,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAKymD,WAAa13B,EAAM,cAAgBlZ,EAAOlR,UAAUoqB,EAAM,cAAczqB,iBAAmB1D,EAChGZ,KAAK0mD,aAAe33B,EAAM,gBAC1B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAK4wC,IAAM7hB,EAAM,OACbjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAKqqD,GAAiCh/C,OAAOqB,KAAO,kCAGpF,oBASD,SAAOxN,GAoBH,GAnBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,mBAAqBwE,KAAKumD,gBAC/B/qD,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,YAAcwE,KAAK6zC,SACxBr4C,EAAK,gBAAkBwE,KAAKwmD,aAAexmD,KAAKwmD,aAAa1iD,aAAY,QAAalD,EACtFpF,EAAK,cAAgBwE,KAAKymD,WAAazmD,KAAKymD,WAAW3iD,aAAY,QAAalD,EAChFpF,EAAK,gBAAkBwE,KAAK0mD,aAC5BlrD,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,OAASwE,KAAK4wC,IACf9nC,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,EAAKjF,WAAU,+BAE/C,OAAOvI,KACV,qBAjCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIypD,EAEjB,OADAzpD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/D6C,GAoHrC8pD,GAAgC,WAIzC,WAAYnrD,GACR,GADgD,UAC5CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKwkB,UAAYuK,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC/uB,KAAK4mD,aAAe,GAAU,IACQ,EADR,IACb73B,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAK4mD,aAActqD,KAAKuqD,GAAmCl/C,OAAOqB,KAAO,kCAGxF,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKwkB,UACrB1b,MAAMC,QAAQ/I,KAAK4mD,cAAe,CAClCprD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAK4mD,cAAY,IAAlC,2BACI,KADK59C,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,EAAKjF,WAAU,+BAEjD,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8pD,EAEjB,OADA9pD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BwC,GAgDhCgqD,GAAkC,WAS3C,WAAYrrD,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKsyB,aAAevD,EAAM,gBAC1B/uB,KAAK+2B,MAAQhI,EAAM,SACnB/uB,KAAK8mD,UAAY/3B,EAAM,aACvB/uB,KAAKqhC,KAAOtS,EAAM,QAClB/uB,KAAK+mD,SAAWh4B,EAAM,YACtB/uB,KAAKgnD,UAAYj4B,EAAM,aACvB/uB,KAAKinD,eAAiBl4B,EAAM,qBAEnC,oBASD,SAAOvzB,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,gBAAkBwE,KAAKsyB,aAC5B92B,EAAK,SAAWwE,KAAK+2B,MACrBv7B,EAAK,aAAewE,KAAK8mD,UACzBtrD,EAAK,QAAUwE,KAAKqhC,KACpB7lC,EAAK,YAAcwE,KAAK+mD,SACxBvrD,EAAK,aAAewE,KAAKgnD,UACzBxrD,EAAK,kBAAoBwE,KAAKinD,eACvBzrD,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgqD,EAEjB,OADAhqD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnC0C,GA4DlCqqD,GAA2C,WAKpD,WAAY1rD,GACR,GAD2D,UACvDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBo4B,GAAmCx/C,OAAOonB,EAAM,wBAA0BnuB,EAC1HZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,iBAE/B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WACnB99B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqqD,EAEjB,OADArqD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BmD,GA4C3CsqD,GAAkC,WAe3C,WAAY3rD,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK4wC,IAAM7hB,EAAM,OACjB/uB,KAAKonD,mBAAqBr4B,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,EACxHZ,KAAK+xC,kBAAoBhjB,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,sBAEpC,oBASD,SAAOvzB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,OAASwE,KAAK4wC,IACnBp1C,EAAK,sBAAwBwE,KAAKonD,mBAAqBpnD,KAAKonD,mBAAmBtjD,aAAY,QAAalD,EACxGpF,EAAK,qBAAuBwE,KAAK+xC,kBAAoB/xC,KAAK+xC,kBAAkBjuC,aAAY,QAAalD,EACrGpF,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBACxB56B,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsqD,EAEjB,OADAtqD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/C0C,GAoFlCorB,GAA8B,WAIvC,WAAYzsB,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,UAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAK+qD,GAAmB1/C,OAAOqB,KAAO,kCAGhE,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAEzC,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIorB,EAEjB,OADAprB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BsC,GAgD9BwqD,GAAkB,WA4B3B,WAAY7rD,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6CnD,OA1CA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAyBP,GAxBA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKq8B,QAAUtN,EAAM,WACrB/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAKumD,gBAAkBx3B,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK6zC,SAAW9kB,EAAM,YACtB/uB,KAAKojC,cAAgBrU,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKqjC,YAActU,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKghD,SAAWjyB,EAAM,YACtB/uB,KAAK+gD,WAAahyB,EAAM,cACxB/uB,KAAKsnD,kBAAoBv4B,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKunD,gBAAkBx4B,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAKwnD,aAAez4B,EAAM,gBAC1B/uB,KAAKynD,kBAAoB14B,EAAM,qBAC/B/uB,KAAK0nD,aAAe34B,EAAM,gBAC1B/uB,KAAK2nD,eAAiB54B,EAAM,kBAC5B/uB,KAAK4nD,wBAA0B74B,EAAM,2BACrC/uB,KAAK6nD,YAAc94B,EAAM,eACrBjmB,MAAMC,QAAQgmB,EAAM,wBAAyB,CAC7C/uB,KAAK8nD,oBAAsB,GAAU,IACQ,EADR,IACpB/4B,EAAM,wBAAsB,IAA7C,2BACI,KADK/lB,EAAI,QACThJ,KAAK8nD,oBAAqBxrD,KAAKyrD,GAAkCpgD,OAAOqB,KAAO,+BAEvFhJ,KAAKgoD,4BAA8Bj5B,EAAM,kCAEhD,oBASD,SAAOvzB,GA0BH,GAzBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,WAAawE,KAAKq8B,QACvB7gC,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,mBAAqBwE,KAAKumD,gBAC/B/qD,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,YAAcwE,KAAK6zC,SACxBr4C,EAAK,iBAAmBwE,KAAKojC,cAAgBpjC,KAAKojC,cAAct/B,aAAY,QAAalD,EACzFpF,EAAK,eAAiBwE,KAAKqjC,YAAcrjC,KAAKqjC,YAAYv/B,aAAY,QAAalD,EACnFpF,EAAK,YAAcwE,KAAKghD,SACxBxlD,EAAK,cAAgBwE,KAAK+gD,WAC1BvlD,EAAK,qBAAuBwE,KAAKsnD,kBAAoBtnD,KAAKsnD,kBAAkBxjD,aAAY,QAAalD,EACrGpF,EAAK,mBAAqBwE,KAAKunD,gBAAkBvnD,KAAKunD,gBAAgBzjD,aAAY,QAAalD,EAC/FpF,EAAK,gBAAkBwE,KAAKwnD,aAC5BhsD,EAAK,qBAAuBwE,KAAKynD,kBACjCjsD,EAAK,gBAAkBwE,KAAK0nD,aAC5BlsD,EAAK,kBAAoBwE,KAAK2nD,eAC9BnsD,EAAK,2BAA6BwE,KAAK4nD,wBACvCpsD,EAAK,eAAiBwE,KAAK6nD,YACvB/+C,MAAMC,QAAQ/I,KAAK8nD,qBAAsB,CACzCtsD,EAAK,uBAAyB,GAAG,IACQ,EADR,IAChBwE,KAAK8nD,qBAAmB,IAAzC,2BACI,KADK9+C,EAAI,QACTxN,EAAK,uBAAuBc,KAAK0M,EAAKjF,WAAU,+BAGxD,OADAvI,EAAK,+BAAiCwE,KAAKgoD,4BACpCxsD,KACV,qBAxCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwqD,EAEjB,OADAxqD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7E0B,GAgJlBkrD,GAAiC,WAI1C,WAAYvsD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKioD,UAAYl5B,EAAM,gBAE9B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,aAAewE,KAAKioD,UAClBzsD,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkrD,EAEjB,OADAlrD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzByC,GAwCjCqrD,GAAwC,WAKjD,WAAY1sD,GACR,GADwD,UACpDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAG3CvD,IACDwE,KAAKkP,eAAiB,IAAIi5C,IAiBjC,OAfA,uBAED,SAAKp5B,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBo5B,GAA2BxgD,OAAOonB,EAAM,mBAAqB,IAAIo5B,GACjHnoD,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,iBAE/B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WACnB99B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqrD,EAEjB,OADArrD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA9BgD,GA+CxCsrD,GAA0B,WAKnC,WAAY3sD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKooD,uBAAyBr5B,EAAM,0BACpC/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKovC,cAAgBrgB,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,KAEhH,oBASD,SAAOpF,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,0BAA4BwE,KAAKooD,uBACtC5sD,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,iBAAmBwE,KAAKovC,cAAgBpvC,KAAKovC,cAActrC,aAAY,QAAalD,EAClFpF,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsrD,EAEjB,OADAtrD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BkC,IA4CvC,SAAYwpD,GACRA,oBACAA,yBAFJ,CAAYA,QAAsB,KAK3B,IAgVKgC,GAhVCjgC,GAA4B,WAKrC,WAAY5sB,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKgsD,GAAuB3gD,OAAOqB,KAAO,+BAE7DhJ,KAAK84B,MAAQ/J,EAAM,SACnB/uB,KAAKikD,KAAOl1B,EAAM,QAAUw5B,GAA6B5gD,OAAOonB,EAAM,cAAgBnuB,KAE7F,oBASD,SAAOpF,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAIzC,OAFAvI,EAAK,SAAWwE,KAAK84B,MACrBt9B,EAAK,QAAUwE,KAAKikD,KAAOjkD,KAAKikD,KAAKlgD,cAAgBnD,EAC9CpF,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIurB,EAEjB,OADAvrB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BoC,GAoD5ByrD,GAAsB,WAc/B,WAAY9sD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAKwoD,YAAcz5B,EAAM,eACzB/uB,KAAKyoD,wBAA0B15B,EAAM,2BACrC/uB,KAAK0oD,qBAAuB35B,EAAM,wBAClC/uB,KAAK2oD,cAAgB55B,EAAM,iBAC3B/uB,KAAK4oD,cAAgB75B,EAAM,iBAC3B/uB,KAAK6oD,eAAiB95B,EAAM,kBAC5B/uB,KAAK8oD,kBAAoB/5B,EAAM,qBAC/B/uB,KAAK+oD,gBAAkBh6B,EAAM,mBAC7B/uB,KAAKgpD,eAAiBj6B,EAAM,qBAEnC,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,eAAiBwE,KAAKwoD,YAC3BhtD,EAAK,2BAA6BwE,KAAKyoD,wBACvCjtD,EAAK,wBAA0BwE,KAAK0oD,qBACpCltD,EAAK,iBAAmBwE,KAAK2oD,cAC7BntD,EAAK,iBAAmBwE,KAAK4oD,cAC7BptD,EAAK,kBAAoBwE,KAAK6oD,eAC9BrtD,EAAK,qBAAuBwE,KAAK8oD,kBACjCttD,EAAK,mBAAqBwE,KAAK+oD,gBAC/BvtD,EAAK,kBAAoBwE,KAAKgpD,eACvBxtD,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyrD,EAEjB,OADAzrD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7C8B,GAgFtB0rD,GAA4B,WAarC,WAAY/sD,GACR,GAD4C,UACxCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK03B,OAAS3I,EAAM,UACpB/uB,KAAKipD,SAAWl6B,EAAM,YACtB/uB,KAAKkpD,SAAWn6B,EAAM,YACtB/uB,KAAKa,UAAYkuB,EAAM,aACvB/uB,KAAKmpD,aAAep6B,EAAM,gBAC1B/uB,KAAKopD,WAAar6B,EAAM,cACxB/uB,KAAKqpD,cAAgBt6B,EAAM,iBAC3B/uB,KAAKspD,cAAgBv6B,EAAM,iBAC3B/uB,KAAKupD,eAAiBx6B,EAAM,kBAC5B/uB,KAAKwpD,kBAAoBz6B,EAAM,qBAC/B/uB,KAAKypD,gBAAkB16B,EAAM,sBAEpC,oBASD,SAAOvzB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAK03B,OACtBl8B,EAAK,YAAcwE,KAAKipD,SACxBztD,EAAK,YAAcwE,KAAKkpD,SACxB1tD,EAAK,aAAewE,KAAKa,UACzBrF,EAAK,gBAAkBwE,KAAKmpD,aAC5B3tD,EAAK,cAAgBwE,KAAKopD,WAC1B5tD,EAAK,iBAAmBwE,KAAKqpD,cAC7B7tD,EAAK,iBAAmBwE,KAAKspD,cAC7B9tD,EAAK,kBAAoBwE,KAAKupD,eAC9B/tD,EAAK,qBAAuBwE,KAAKwpD,kBACjChuD,EAAK,mBAAqBwE,KAAKypD,gBACxBjuD,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0rD,EAEjB,OADA1rD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3CoC,GA4E5B6sD,GAAuC,WAOhD,WAAYluD,GACR,GADuD,UACnDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoB46B,GAA+BhiD,OAAOonB,EAAM,wBAA0BnuB,EACtHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6sD,EAEjB,OADA7sD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B+C,GAoDvC8sD,GAA8B,WAavC,WAAYnuD,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKu+B,KAAOxP,EAAM,WAEzB,oBASD,SAAOvzB,GAaH,OAZAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,QAAUwE,KAAKu+B,KACb/iC,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8sD,EAEjB,OADA9sD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3CsC,IA4E3C,SAAYwrD,GACRA,0CACAA,8CACAA,sBACAA,0BACAA,4CACAA,0CACAA,gCACAA,sCACAA,8BACAA,iCACAA,uBACAA,oCAZJ,CAAYA,QAAuB,KAe5B,IA4PKuB,GA5PCrhC,GAA+B,WAIxC,WAAY/sB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,SAAU,CAC9B/uB,KAAKqwB,KAAO,GAAU,IACQ,EADR,IACLtB,EAAM,SAAO,IAA9B,2BACI,KADK/lB,EAAI,QACThJ,KAAKqwB,KAAM/zB,KAAKutD,GAA0BliD,OAAOqB,KAAO,+BAEhEhJ,KAAK84B,MAAQ/J,EAAM,YAE1B,oBASD,SAAOvzB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKqwB,MAAO,CAC1B70B,EAAK,QAAU,GAAG,IACQ,EADR,IACDwE,KAAKqwB,MAAI,IAA1B,2BACI,KADKrnB,EAAI,QACTxN,EAAK,QAAQc,KAAK0M,EAAKjF,WAAU,+BAGzC,OADAvI,EAAK,SAAWwE,KAAK84B,MACdt9B,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0rB,EAEjB,OADA1rB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BuC,GAgD/BgtD,GAAyB,WAWlC,WAAYruD,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKu+B,KAAOxP,EAAM,QAClB/uB,KAAK8pD,aAAe/6B,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAKihC,IAAMlS,EAAM,OACjB/uB,KAAK+pD,WAAah7B,EAAM,iBAE/B,oBASD,SAAOvzB,GAWH,OAVAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,QAAUwE,KAAKu+B,KACpB/iC,EAAK,gBAAkBwE,KAAK8pD,aAAe9pD,KAAK8pD,aAAahmD,aAAY,QAAalD,EACtFpF,EAAK,OAASwE,KAAKihC,IACnBzlC,EAAK,cAAgBwE,KAAK+pD,WACnBvuD,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgtD,EAEjB,OADAhtD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvCiC,GAoEzBmtD,GAA0C,WAOnD,WAAYxuD,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkP,eAAiB6f,EAAM,kBAAoBk7B,GAAkCtiD,OAAOonB,EAAM,wBAA0BnuB,EACzHZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAKkP,eAAiBlP,KAAKkP,eAAenL,cAAgBnD,EACnFpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImtD,EAEjB,OADAntD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BkD,GAoD1CotD,GAAiC,WAe1C,WAAYzuD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKq7B,SAAWtM,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,EAC1FZ,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKi2B,cAAgBlH,EAAM,iBAC3B/uB,KAAKo2B,gBAAkBrH,EAAM,mBAC7B/uB,KAAKu+B,KAAOxP,EAAM,WAEzB,oBASD,SAAOvzB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKq7B,SAAWr7B,KAAKq7B,SAASv3B,aAAY,QAAalD,EAC1EpF,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,iBAAmBwE,KAAKi2B,cAC7Bz6B,EAAK,mBAAqBwE,KAAKo2B,gBAC/B56B,EAAK,QAAUwE,KAAKu+B,KACb/iC,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIotD,EAEjB,OADAptD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/CyC,IAoF9C,SAAY+sD,GACRA,0BACAA,oCACAA,0CACAA,8CACAA,gCACAA,sBACAA,sCACAA,qBARJ,CAAYA,QAA0B,KAW/B,IA4UKM,GA5UCvhC,GAAuB,WAYhC,WAAYntB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAQP,GAPA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAK41B,WAAa7G,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,kBAAmB,CACvC/uB,KAAKmqD,cAAgB,GAAU,IACQ,EADR,IACdp7B,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACThJ,KAAKmqD,cAAe7tD,KAAK8tD,GAAgBziD,OAAOqB,KAAO,+BAE/DhJ,KAAKkgB,WAAa6O,EAAM,cACxB/uB,KAAKqqD,SAAWt7B,EAAM,YAAclZ,EAAOlR,UAAUoqB,EAAM,YAAYzqB,iBAAmB1D,KAEjG,oBASD,SAAOpF,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,cAAgBwE,KAAK41B,WACtB9sB,MAAMC,QAAQ/I,KAAKmqD,eAAgB,CACnC3uD,EAAK,iBAAmB,GAAG,IACQ,EADR,IACVwE,KAAKmqD,eAAa,IAAnC,2BACI,KADKnhD,EAAI,QACTxN,EAAK,iBAAiBc,KAAK0M,EAAKjF,WAAU,+BAIlD,OAFAvI,EAAK,cAAgBwE,KAAKkgB,WAC1B1kB,EAAK,YAAcwE,KAAKqqD,SAAWrqD,KAAKqqD,SAASvmD,aAAY,QAAalD,EACnEpF,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8rB,EAEjB,OADA9rB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7C+B,GAgFvButD,GAAe,WAUxB,WAAY5uD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAOP,GANA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKg4B,eAAiBjJ,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAK28B,aAAe5N,EAAM,gBAAkBlZ,EAAOlR,UAAUoqB,EAAM,gBAAgBzqB,iBAAmB1D,EACtGZ,KAAK2D,QAAUorB,EAAM,WACrB/uB,KAAKsqD,UAAYv7B,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,mBAAoB,CACxC/uB,KAAKuqD,eAAiB,GAAU,IACQ,EADR,IACfx7B,EAAM,mBAAiB,IAAxC,2BACI,KADK/lB,EAAI,QACThJ,KAAKuqD,eAAgBjuD,KAAK0M,IAAM,+BAExC,GAAIF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C/uB,KAAKwqD,iBAAmB,GAAU,IACQ,EADR,IACjBz7B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACThJ,KAAKwqD,iBAAkBluD,KAAK0M,IAAM,mCAGjD,oBASD,SAAOxN,GAQH,GAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,kBAAoBwE,KAAKg4B,eAAiBh4B,KAAKg4B,eAAel0B,aAAY,QAAalD,EAC5FpF,EAAK,gBAAkBwE,KAAK28B,aAAe38B,KAAK28B,aAAa74B,aAAY,QAAalD,EACtFpF,EAAK,WAAawE,KAAK2D,QACvBnI,EAAK,aAAewE,KAAKsqD,UACrBxhD,MAAMC,QAAQ/I,KAAKuqD,gBAAiB,CACpC/uD,EAAK,kBAAoB,GAAG,IACQ,EADR,IACXwE,KAAKuqD,gBAAc,IAApC,2BACI,KADKvhD,EAAI,QACTxN,EAAK,kBAAkBc,KAAK0M,IAAM,+BAE1C,GAAIF,MAAMC,QAAQ/I,KAAKwqD,kBAAmB,CACtChvD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACbwE,KAAKwqD,kBAAgB,IAAtC,2BACI,KADKxhD,EAAI,QACTxN,EAAK,oBAAoBc,KAAK0M,IAAM,+BAE5C,OAAOxN,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIutD,EAEjB,OADAvtD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CuB,GAgFfgsB,GAAc,WAMvB,WAAYrtB,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAKpC,KAAOmxB,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC/uB,KAAK4+C,aAAe,GAAU,IACQ,EADR,IACb7vB,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAK4+C,aAActiD,KAAKmuD,GAAe9iD,OAAOqB,KAAO,kCAGpE,oBASD,SAAOxN,GAKH,GAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,QAAUwE,KAAKpC,KAChBkL,MAAMC,QAAQ/I,KAAK4+C,cAAe,CAClCpjD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAK4+C,cAAY,IAAlC,2BACI,KADK51C,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,EAAKjF,WAAU,+BAEjD,OAAOvI,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgsB,EAEjB,OADAhsB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCsB,GAwDd4tD,GAAc,WAqBvB,WAAYjvD,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsCnD,OAnCA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAkBP,GAjBA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK4I,KAAOmmB,EAAM,QAClB/uB,KAAK0qD,eAAiB37B,EAAM,kBAC5B/uB,KAAK2qD,cAAgB57B,EAAM,iBAC3B/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK4qD,cAAgB77B,EAAM,iBAC3B/uB,KAAK6qD,mBAAqB97B,EAAM,sBAChC/uB,KAAK8qD,UAAY/7B,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKsqD,UAAYv7B,EAAM,aACvB/uB,KAAK+qD,gBAAkBh8B,EAAM,mBAC7B/uB,KAAKgrD,eAAiBj8B,EAAM,kBAC5B/uB,KAAK45B,UAAY7K,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAKm/B,UAAYpQ,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,aAAc,CAClC/uB,KAAKirD,SAAW,GAAU,IACQ,EADR,IACTl8B,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACThJ,KAAKirD,SAAU3uD,KAAK0M,IAAM,+BAElChJ,KAAKkrD,oBAAsBn8B,EAAM,0BAExC,oBASD,SAAOvzB,GAmBH,GAlBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,QAAUwE,KAAK4I,KACpBpN,EAAK,kBAAoBwE,KAAK0qD,eAC9BlvD,EAAK,iBAAmBwE,KAAK2qD,cAC7BnvD,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,iBAAmBwE,KAAK4qD,cAC7BpvD,EAAK,sBAAwBwE,KAAK6qD,mBAClCrvD,EAAK,aAAewE,KAAK8qD,UAAY9qD,KAAK8qD,UAAUhnD,aAAY,QAAalD,EAC7EpF,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACvEpF,EAAK,aAAewE,KAAKsqD,UACzB9uD,EAAK,mBAAqBwE,KAAK+qD,gBAC/BvvD,EAAK,kBAAoBwE,KAAKgrD,eAC9BxvD,EAAK,aAAewE,KAAK45B,UAAY55B,KAAK45B,UAAU91B,aAAY,QAAalD,EAC7EpF,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,aAAewE,KAAKm/B,UACrBr2B,MAAMC,QAAQ/I,KAAKirD,UAAW,CAC9BzvD,EAAK,YAAc,GAAG,IACQ,EADR,IACLwE,KAAKirD,UAAQ,IAA9B,2BACI,KADKjiD,EAAI,QACTxN,EAAK,YAAYc,KAAK0M,IAAM,+BAGpC,OADAxN,EAAK,uBAAyBwE,KAAKkrD,oBAC5B1vD,KACV,qBAjCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4tD,EAEjB,OADA5tD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/DsB,IAoH3B,SAAYqtD,GACRA,0CACAA,sCACAA,4BACAA,uBAJJ,CAAYA,QAAe,KAOpB,IAs0BKiB,GAt0BCC,GAAkC,WAQ3C,WAAY5vD,GACR,GADkD,UAC9CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAIP,GAHA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK2C,KAAOosB,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKqrD,mBAAqBt8B,EAAM,sBAAwBq7B,GAAgBziD,OAAOonB,EAAM,4BAA8BnuB,EAC/GkI,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C/uB,KAAKsrD,iBAAmB,GAAU,IACQ,EADR,IACjBv8B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACThJ,KAAKsrD,iBAAkBhvD,KAAKmuD,GAAe9iD,OAAOqB,KAAO,+BAEjE,GAAIF,MAAMC,QAAQgmB,EAAM,gCAAiC,CACrD/uB,KAAKurD,4BAA8B,GAAU,IACQ,EADR,IAC5Bx8B,EAAM,gCAA8B,IAArD,2BACI,KADK/lB,EAAI,QACThJ,KAAKurD,4BAA6BjvD,KAAK0M,IAAM,+BAErDhJ,KAAKwrD,IAAMz8B,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,KAElF,oBASD,SAAOpF,GAKH,GAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,QAAUwE,KAAK2C,KAAO3C,KAAK2C,KAAKmB,aAAY,QAAalD,EAC9DpF,EAAK,sBAAwBwE,KAAKqrD,mBAAqBrrD,KAAKqrD,mBAAmBtnD,cAAgBnD,EAC3FkI,MAAMC,QAAQ/I,KAAKsrD,kBAAmB,CACtC9vD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACbwE,KAAKsrD,kBAAgB,IAAtC,2BACI,KADKtiD,EAAI,QACTxN,EAAK,oBAAoBc,KAAK0M,EAAKjF,WAAU,+BAErD,GAAI+E,MAAMC,QAAQ/I,KAAKurD,6BAA8B,CACjD/vD,EAAK,+BAAiC,GAAG,IACQ,EADR,IACxBwE,KAAKurD,6BAA2B,IAAjD,2BACI,KADKviD,EAAI,QACTxN,EAAK,+BAA+Bc,KAAK0M,IAAM,+BAGvD,OADAxN,EAAK,OAASwE,KAAKwrD,IAAMxrD,KAAKwrD,IAAI1nD,aAAY,QAAalD,EACpDpF,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuuD,EAEjB,OADAvuD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzC0C,GAwElC4uD,GAA4C,8BAGrD,WAAYjwD,GAAmD,6BACrDA,GAeT,OAdA,uBAED,SAAKuzB,GACD,wCAAWA,GACPA,IACA/uB,KAAKggB,cAAgB+O,EAAM,oBAElC,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmBwE,KAAKggB,cAC7B,0CAAaxkB,GACNA,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4uD,EAEjB,OADA5uD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnBoD,CAAQuuD,IAiCpDM,GAA2B,WAQpC,WAAYlwD,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKwrD,IAAMz8B,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,EACvEkI,MAAMC,QAAQgmB,EAAM,kBAAkB,CACtC/uB,KAAK4+C,aAAe,GAAU,IACQ,EADR,IACb7vB,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAK4+C,aAActiD,KAAKqvD,GAAmBhkD,OAAOqB,KAAO,kCAGxE,oBASD,SAAOxN,GAOH,GANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,OAASwE,KAAKwrD,IAAMxrD,KAAKwrD,IAAI1nD,aAAY,QAAalD,EACvDkI,MAAMC,QAAQ/I,KAAK4+C,cAAe,CAClCpjD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAK4+C,cAAY,IAAlC,2BACI,KADK51C,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,EAAKjF,WAAU,+BAEjD,OAAOvI,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6uD,EAEjB,OADA7uD,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCmC,GAgE3B+uD,GAAqC,8BAG9C,WAAYpwD,GAA4C,6BAC9CA,GAeT,OAdA,uBAED,SAAKuzB,GACD,wCAAWA,GACPA,IACA/uB,KAAKggB,cAAgB+O,EAAM,oBAElC,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmBwE,KAAKggB,cAC7B,0CAAaxkB,GACNA,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+uD,EAEjB,OADA/uD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnB6C,CAAQ6uD,IAiC7CC,GAAkB,WAO3B,WAAYnwD,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK0qD,eAAiB37B,EAAM,kBAC5B/uB,KAAK2qD,cAAgB57B,EAAM,iBAC3B/uB,KAAK8qD,UAAY/7B,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKsqD,UAAYv7B,EAAM,gBAE9B,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAK0qD,eAC9BlvD,EAAK,iBAAmBwE,KAAK2qD,cAC7BnvD,EAAK,aAAewE,KAAK8qD,UAAY9qD,KAAK8qD,UAAUhnD,aAAY,QAAalD,EAC7EpF,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACvEpF,EAAK,aAAewE,KAAKsqD,UAClB9uD,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8uD,EAEjB,OADA9uD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B0B,GAoDlBssB,GAAkB,WAkB3B,WAAY3tB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA+BnD,OA5BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqR,OAAS0d,EAAM,UACpB/uB,KAAKy3B,OAAS1I,EAAM,UACpB/uB,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,oBAC9B/uB,KAAK+8B,QAAUhO,EAAM,WACrB/uB,KAAK63B,YAAc9I,EAAM,eACzB/uB,KAAK68B,eAAiB9N,EAAM,kBAAoBlZ,EAAOlR,UAAUoqB,EAAM,kBAAkBzqB,iBAAmB1D,EAC5GZ,KAAKm/B,UAAYpQ,EAAM,aACvB/uB,KAAKyC,QAAUssB,EAAM,WACrB/uB,KAAKsqD,UAAYv7B,EAAM,aACvB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKg/C,gBAAkBjwB,EAAM,mBAC7B/uB,KAAK8qD,UAAY/7B,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKsyB,aAAevD,EAAM,mBAEjC,oBASD,SAAOvzB,GAkBH,OAjBAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKqR,OACtB7V,EAAK,UAAYwE,KAAKy3B,OACtBj8B,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBAChCv8B,EAAK,WAAawE,KAAK+8B,QACvBvhC,EAAK,eAAiBwE,KAAK63B,YAC3Br8B,EAAK,kBAAoBwE,KAAK68B,eAAiB78B,KAAK68B,eAAe/4B,aAAY,QAAalD,EAC5FpF,EAAK,aAAewE,KAAKm/B,UACzB3jC,EAAK,WAAawE,KAAKyC,QACvBjH,EAAK,aAAewE,KAAKsqD,UACzB9uD,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,mBAAqBwE,KAAKg/C,gBAC/BxjD,EAAK,aAAewE,KAAK8qD,UAAY9qD,KAAK8qD,UAAUhnD,aAAY,QAAalD,EAC7EpF,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACvEpF,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,gBAAkBwE,KAAKsyB,aACrB92B,KACV,qBA1BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIssB,EAEjB,OADAtsB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArD0B,GAgGlBgvD,GAAe,WAQxB,WAAYrwD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKsqD,UAAYv7B,EAAM,aACvB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAK2qD,cAAgB57B,EAAM,iBAC3B/uB,KAAK8qD,UAAY/7B,EAAM,aAAelZ,EAAOlR,UAAUoqB,EAAM,aAAazqB,iBAAmB1D,EAC7FZ,KAAK01C,QAAU3mB,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKwrD,IAAMz8B,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,KAElF,oBASD,SAAOpF,GAQH,OAPAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAKsqD,UACzB9uD,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,iBAAmBwE,KAAK2qD,cAC7BnvD,EAAK,aAAewE,KAAK8qD,UAAY9qD,KAAK8qD,UAAUhnD,aAAY,QAAalD,EAC7EpF,EAAK,WAAawE,KAAK01C,QAAU11C,KAAK01C,QAAQ5xC,aAAY,QAAalD,EACvEpF,EAAK,OAASwE,KAAKwrD,IAAMxrD,KAAKwrD,IAAI1nD,aAAY,QAAalD,EACpDpF,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgvD,EAEjB,OADAhvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjCuB,GAwDfivD,GAAiB,WAI1B,WAAYtwD,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK0qD,eAAiB37B,EAAM,kBAC5B/uB,KAAKwrD,IAAMz8B,EAAM,OAASlZ,EAAOlR,UAAUoqB,EAAM,OAAOzqB,iBAAmB1D,KAElF,oBASD,SAAOpF,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,kBAAoBwE,KAAK0qD,eAC9BlvD,EAAK,OAASwE,KAAKwrD,IAAMxrD,KAAKwrD,IAAI1nD,aAAY,QAAalD,EACpDpF,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIivD,EAEjB,OADAjvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzByB,GAwCjB2U,GAA8B,WAMvC,WAAYhW,GACR,GAD8C,UAC1CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAGP,GAFA/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAK41B,WAAa7G,EAAM,cACpBjmB,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C/uB,KAAK+rD,iBAAmB,GAAU,IACQ,EADR,IACjBh9B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rD,iBAAkBzvD,KAAK0vD,GAA4BrkD,OAAOqB,KAAO,+BAE9E,GAAIF,MAAMC,QAAQgmB,EAAM,yBAA0B,CAC9C/uB,KAAKisD,qBAAuB,GAAU,IACQ,EADR,IACrBl9B,EAAM,yBAAuB,IAA9C,2BACI,KADK/lB,EAAI,QACThJ,KAAKisD,qBAAsB3vD,KAAKsU,GAAiBjJ,OAAOqB,KAAO,mCAG9E,oBASD,SAAOxN,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,cAAgBwE,KAAK41B,WACtB9sB,MAAMC,QAAQ/I,KAAK+rD,kBAAmB,CACtCvwD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACbwE,KAAK+rD,kBAAgB,IAAtC,2BACI,KADK/iD,EAAI,QACTxN,EAAK,oBAAoBc,KAAK0M,EAAKjF,WAAU,+BAErD,GAAI+E,MAAMC,QAAQ/I,KAAKisD,sBAAuB,CAC1CzwD,EAAK,wBAA0B,GAAG,IACQ,EADR,IACjBwE,KAAKisD,sBAAoB,IAA1C,2BACI,KADKjjD,EAAI,QACTxN,EAAK,wBAAwBc,KAAK0M,EAAKjF,WAAU,+BAEzD,OAAOvI,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2U,EAEjB,OADA3U,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCsC,GAgE9BmvD,GAA2B,WAIpC,WAAYxwD,GACR,GAD2C,UACvCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKo6B,cAAgBrL,EAAM,iBAAmBne,GAAiBjJ,OAAOonB,EAAM,uBAAyBnuB,EACjGkI,MAAMC,QAAQgmB,EAAM,YAAY,CAChC/uB,KAAKq6B,OAAS,GAAU,IACQ,EADR,IACPtL,EAAM,WAAS,IAAhC,2BACI,KADK/lB,EAAI,QACThJ,KAAKq6B,OAAQ/9B,KAAK4vD,GAAyBvkD,OAAOqB,KAAO,kCAGxE,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,iBAAmBwE,KAAKo6B,cAAgBp6B,KAAKo6B,cAAcr2B,cAAgBnD,EAC5EkI,MAAMC,QAAQ/I,KAAKq6B,QAAS,CAC5B7+B,EAAK,UAAY,GAAG,IACQ,EADR,IACHwE,KAAKq6B,QAAM,IAA5B,2BACI,KADKrxB,EAAI,QACTxN,EAAK,UAAUc,KAAK0M,EAAKjF,WAAU,+BAE3C,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImvD,EAEjB,OADAnvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BmC,GAgD3BqvD,GAAwB,WAMjC,WAAY1wD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKu6B,KAAOxL,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKuC,GAAKwsB,EAAM,MAAQlZ,EAAOlR,UAAUoqB,EAAM,MAAMzqB,iBAAmB1D,EACxEZ,KAAK83B,eAAiB/I,EAAM,kBAC5B/uB,KAAK+3B,iBAAmBhJ,EAAM,uBAErC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKu6B,KAAOv6B,KAAKu6B,KAAKz2B,aAAY,QAAalD,EAC9DpF,EAAK,MAAQwE,KAAKuC,GAAKvC,KAAKuC,GAAGuB,aAAY,QAAalD,EACxDpF,EAAK,kBAAoBwE,KAAK83B,eAC9Bt8B,EAAK,oBAAsBwE,KAAK+3B,iBACzBv8B,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqvD,EAEjB,OADArvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BgC,GAgDxBsvD,GAAoB,WAO7B,WAAY3wD,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKkR,QAAU6d,EAAM,WACrB/uB,KAAKozB,YAAcrE,EAAM,eACzB/uB,KAAK05B,OAAS3K,EAAM,UAChBjmB,MAAMC,QAAQgmB,EAAM,eAAe,CACnC/uB,KAAK65B,UAAY,GAAU,IACQ,EADR,IACV9K,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAK65B,UAAWv9B,KAAK8vD,GAAgBzkD,OAAOqB,KAAO,kCAGlE,oBASD,SAAOxN,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKkR,QACvB1V,EAAK,eAAiBwE,KAAKozB,YAC3B53B,EAAK,UAAYwE,KAAK05B,OAClB5wB,MAAMC,QAAQ/I,KAAK65B,WAAY,CAC/Br+B,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAK65B,WAAS,IAA/B,2BACI,KADK7wB,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAE9C,OAAOvI,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIsvD,EAEjB,OADAtvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnC4B,GA4DpBuvD,GAAe,WAKxB,WAAY5wD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK6H,QAAUknB,EAAM,WACrB/uB,KAAKi6B,SAAWlL,EAAM,YACtB/uB,KAAKm6B,YAAcpL,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAK6H,QACvBrM,EAAK,YAAcwE,KAAKi6B,SACxBz+B,EAAK,eAAiBwE,KAAKm6B,YACpB3+B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuvD,EAEjB,OADAvvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BuB,GA4CfgV,GAAe,WASxB,WAAYrW,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAsBnD,OAnBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqsD,MAAQt9B,EAAM,SACnB/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKqvB,UAAYN,EAAM,aACvB/uB,KAAKm6B,YAAcpL,EAAM,eACzB/uB,KAAKi6B,SAAWlL,EAAM,YACtB/uB,KAAKk6B,WAAanL,EAAM,cACxB/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,KAE9F,oBASD,SAAOpF,GASH,OARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAKqsD,MACrB7wD,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,aAAewE,KAAKqvB,UACzB7zB,EAAK,eAAiBwE,KAAKm6B,YAC3B3+B,EAAK,YAAcwE,KAAKi6B,SACxBz+B,EAAK,cAAgBwE,KAAKk6B,WAC1B1+B,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EAChEpF,KACV,qBAjBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgV,EAEjB,OADAhV,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnCuB,GA4DfyvD,GAAsB,WAO/B,WAAY9wD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAGP,GAFA/uB,KAAKmzB,QAAUpE,EAAM,WACrB/uB,KAAK06B,KAAO3L,EAAM,QACdjmB,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAK8lB,YAAc,GAAU,IACQ,EADR,IACZiJ,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK8lB,YAAaxpB,KAAK0M,IAAM,+BAErC,GAAIF,MAAMC,QAAQgmB,EAAM,gBAAiB,CACrC/uB,KAAK2d,YAAc,GAAU,IACQ,EADR,IACZoR,EAAM,gBAAc,IAArC,2BACI,KADK/lB,EAAI,QACThJ,KAAK2d,YAAarhB,KAAK0M,IAAM,+BAErChJ,KAAK4pB,YAAcmF,EAAM,kBAEhC,oBASD,SAAOvzB,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKmzB,QACvB33B,EAAK,QAAUwE,KAAK06B,KAChB5xB,MAAMC,QAAQ/I,KAAK8lB,aAAc,CACjCtqB,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK8lB,aAAW,IAAjC,2BACI,KADK9c,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAEvC,GAAIF,MAAMC,QAAQ/I,KAAK2d,aAAc,CACjCniB,EAAK,eAAiB,GAAG,IACQ,EADR,IACRwE,KAAK2d,aAAW,IAAjC,2BACI,KADK3U,EAAI,QACTxN,EAAK,eAAec,KAAK0M,IAAM,+BAGvC,OADAxN,EAAK,eAAiBwE,KAAK4pB,YACpBpuB,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyvD,EAEjB,OADAzvD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAvC8B,IAoEnC,SAAYsuD,GACRA,4BACAA,kCACAA,yBAHJ,CAAYA,QAAW,KAMhB,IAwnCKoB,GAxnCCxiC,GAAY,WAQrB,WAAYvuB,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAGP,GAFA/uB,KAAK6J,QAAUklB,EAAM,WACrB/uB,KAAKqvB,UAAYN,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAKs0B,WAAa,GAAU,IACQ,EADR,IACXvF,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAKs0B,WAAYh4B,KAAK0M,IAAM,+BAIpC,GAFAhJ,KAAKyY,QAAUsW,EAAM,WACrB/uB,KAAKwsD,SAAWz9B,EAAM,YAClBjmB,MAAMC,QAAQgmB,EAAM,4BAA6B,CACjD/uB,KAAKysD,wBAA0B,GAAU,IACQ,EADR,IACxB19B,EAAM,4BAA0B,IAAjD,2BACI,KADK/lB,EAAI,QACThJ,KAAKysD,wBAAyBnwD,KAAK0M,IAAM,mCAGxD,oBASD,SAAOxN,GAIH,GAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAK6J,QACvBrO,EAAK,aAAewE,KAAKqvB,UACrBvmB,MAAMC,QAAQ/I,KAAKs0B,YAAa,CAChC94B,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAKs0B,YAAU,IAAhC,2BACI,KADKtrB,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAItC,GAFAxN,EAAK,WAAawE,KAAKyY,QACvBjd,EAAK,YAAcwE,KAAKwsD,SACpB1jD,MAAMC,QAAQ/I,KAAKysD,yBAA0B,CAC7CjxD,EAAK,2BAA6B,GAAG,IACQ,EADR,IACpBwE,KAAKysD,yBAAuB,IAA7C,2BACI,KADKzjD,EAAI,QACTxN,EAAK,2BAA2Bc,KAAK0M,IAAM,+BAEnD,OAAOxN,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIktB,EAEjB,OADAltB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzCoB,GAwEZmtB,GAAgB,WAYzB,WAAYxuB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAQP,GAPA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKmzB,QAAUpE,EAAM,WACrB/uB,KAAK06B,KAAO3L,EAAM,QAClB/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAK0sD,gBAAkB39B,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,cAAe,CACnC/uB,KAAK65B,UAAY,GAAU,IACQ,EADR,IACV9K,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAK65B,UAAWv9B,KAAKqwD,GAA2BhlD,OAAOqB,KAAO,+BAEtE,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK4sD,WAAa,GAAU,IACQ,EADR,IACX79B,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK4sD,WAAYtwD,KAAK0M,IAAM,+BAEpChJ,KAAK6sD,OAAS99B,EAAM,aAE3B,oBASD,SAAOvzB,GASH,GARAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKmzB,QACvB33B,EAAK,QAAUwE,KAAK06B,KACpBl/B,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,mBAAqBwE,KAAK0sD,gBAC3B5jD,MAAMC,QAAQ/I,KAAK65B,WAAY,CAC/Br+B,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAK65B,WAAS,IAA/B,2BACI,KADK7wB,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAE9C,GAAI+E,MAAMC,QAAQ/I,KAAK4sD,YAAa,CAChCpxD,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK4sD,YAAU,IAAhC,2BACI,KADK5jD,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAGtC,OADAxN,EAAK,UAAYwE,KAAK6sD,OACfrxD,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImtB,EAEjB,OADAntB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjDwB,GAwFhB8vD,GAA0B,WAKnC,WAAYnxD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKi6B,SAAWlL,EAAM,YACtB/uB,KAAKk6B,WAAanL,EAAM,cACxB/uB,KAAKm6B,YAAcpL,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKi6B,SACxBz+B,EAAK,cAAgBwE,KAAKk6B,WAC1B1+B,EAAK,eAAiBwE,KAAKm6B,YACpB3+B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8vD,EAEjB,OADA9vD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BkC,GA4C1BytB,GAAgB,WAMzB,WAAY9uB,GACR,GADgC,UAC5BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKkgB,WAAa6O,EAAM,cACxB/uB,KAAK8sD,UAAY/9B,EAAM,aACvB/uB,KAAKw3B,iBAAmBzI,EAAM,oBAC9B/uB,KAAKi7C,uBAAyBlsB,EAAM,6BAE3C,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAKkgB,WAC1B1kB,EAAK,aAAewE,KAAK8sD,UACzBtxD,EAAK,oBAAsBwE,KAAKw3B,iBAChCh8B,EAAK,0BAA4BwE,KAAKi7C,uBAC/Bz/C,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIytB,EAEjB,OADAztB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BwB,GAgDhB2tB,GAAuB,WAIhC,WAAYhvB,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,uBAAuB,CAC3C/uB,KAAK+sD,kBAAoB,GAAU,IACQ,EADR,IAClBh+B,EAAM,sBAAoB,IAA3C,2BACI,KADK/lB,EAAI,QACThJ,KAAK+sD,kBAAmBzwD,KAAK0wD,GAAoBrlD,OAAOqB,KAAO,kCAG9E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACrB9D,MAAMC,QAAQ/I,KAAK+sD,mBAAoB,CACvCvxD,EAAK,qBAAuB,GAAG,IACQ,EADR,IACdwE,KAAK+sD,mBAAiB,IAAvC,2BACI,KADK/jD,EAAI,QACTxN,EAAK,qBAAqBc,KAAK0M,EAAKjF,WAAU,+BAEtD,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2tB,EAEjB,OADA3tB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B+B,GAgDvBmwD,GAAmB,WAI5B,WAAYxxD,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK2yB,KAAO5D,EAAM,QAClB/uB,KAAKuzC,OAASxkB,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK2yB,KACpBn3B,EAAK,UAAYwE,KAAKuzC,OACf/3C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAImwD,EAEjB,OADAnwD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB2B,GAwCnB6tB,GAAsB,WAI/B,WAAYlvB,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK2yB,KAAO5D,EAAM,QAClB/uB,KAAKuzC,OAASxkB,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAK2yB,KACpBn3B,EAAK,UAAYwE,KAAKuzC,OACf/3C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6tB,EAEjB,OADA7tB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB8B,GAwCtBiuB,GAAmB,WAY5B,WAAYtvB,GACR,GADmC,UAC/BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CASP,GARA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK+gC,mBAAqBhS,EAAM,sBAChC/uB,KAAK6wC,aAAe9hB,EAAM,gBAC1B/uB,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAKojC,cAAgBrU,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKqjC,YAActU,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK8wC,cAAgB/hB,EAAM,iBACvBjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAKqzC,mBAAqB,GAAU,IACQ,EADR,IACnBtkB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAKqzC,mBAAoB/2C,KAAK2wD,GAAsBtlD,OAAOqB,KAAO,+BAE1E,GAAIF,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK6uB,GAAqBxjB,OAAOqB,KAAO,mCAGxE,oBASD,SAAOxN,GAUH,GATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,sBAAwBwE,KAAK+gC,mBAClCvlC,EAAK,gBAAkBwE,KAAK6wC,aAC5Br1C,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,iBAAmBwE,KAAKojC,cAAgBpjC,KAAKojC,cAAct/B,aAAY,QAAalD,EACzFpF,EAAK,eAAiBwE,KAAKqjC,YAAcrjC,KAAKqjC,YAAYv/B,aAAY,QAAalD,EACnFpF,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EACzFpF,EAAK,iBAAmBwE,KAAK8wC,cACzBhoC,MAAMC,QAAQ/I,KAAKqzC,oBAAqB,CACxC73C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAKqzC,oBAAkB,IAAxC,2BACI,KADKrqC,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,GAAI+E,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,EAAKjF,WAAU,+BAE/C,OAAOvI,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIiuB,EAEjB,OADAjuB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjD2B,GAwFnBowD,GAAqB,WAI9B,WAAYzxD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKu6B,KAAOxL,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKuC,GAAKwsB,EAAM,MAAQlZ,EAAOlR,UAAUoqB,EAAM,MAAMzqB,iBAAmB1D,KAE/E,oBASD,SAAOpF,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKu6B,KAAOv6B,KAAKu6B,KAAKz2B,aAAY,QAAalD,EAC9DpF,EAAK,MAAQwE,KAAKuC,GAAKvC,KAAKuC,GAAGuB,aAAY,QAAalD,EACjDpF,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIowD,EAEjB,OADApwD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB6B,GAwCrBwuB,GAAyB,WAIlC,WAAY7vB,GACR,GADyC,UACrCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKktD,iBAAmBn+B,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKmtD,mBAAqBp+B,EAAM,sBAAwBlZ,EAAOlR,UAAUoqB,EAAM,sBAAsBzqB,iBAAmB1D,KAE/H,oBASD,SAAOpF,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAKktD,iBAAmBltD,KAAKktD,iBAAiBppD,aAAY,QAAalD,EAClGpF,EAAK,sBAAwBwE,KAAKmtD,mBAAqBntD,KAAKmtD,mBAAmBrpD,aAAY,QAAalD,EACjGpF,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwuB,EAEjB,OADAxuB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBiC,GAwCzB0uB,GAAkB,WAI3B,WAAY/vB,GACR,GADkC,UAC9BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKs7B,OAASvM,EAAM,UAAYlZ,EAAOlR,UAAUoqB,EAAM,UAAUzqB,iBAAmB1D,EACpFZ,KAAK84B,MAAQ/J,EAAM,YAE1B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,UAAYwE,KAAKs7B,OAASt7B,KAAKs7B,OAAOx3B,aAAY,QAAalD,EACpEpF,EAAK,SAAWwE,KAAK84B,MACdt9B,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0uB,EAEjB,OADA1uB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzB0B,GAwClBuwD,GAAuB,WAOhC,WAAY5xD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwBnD,OArBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAKojC,cAAgBrU,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAKqjC,YAActU,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EAC/FkI,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC/uB,KAAKqP,cAAgB,GAAU,IACQ,EADR,IACd0f,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACThJ,KAAKqP,cAAe/S,KAAK+wD,GAA2B1lD,OAAOqB,KAAO,kCAGjF,oBASD,SAAOxN,GAMH,GALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,iBAAmBwE,KAAKojC,cAAgBpjC,KAAKojC,cAAct/B,aAAY,QAAalD,EACzFpF,EAAK,eAAiBwE,KAAKqjC,YAAcrjC,KAAKqjC,YAAYv/B,aAAY,QAAalD,EAC/EkI,MAAMC,QAAQ/I,KAAKqP,eAAgB,CACnC7T,EAAK,iBAAmB,GAAG,IACQ,EADR,IACVwE,KAAKqP,eAAa,IAAnC,2BACI,KADKrG,EAAI,QACTxN,EAAK,iBAAiBc,KAAK0M,EAAKjF,WAAU,+BAElD,OAAOvI,KACV,qBAnBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuwD,EAEjB,OADAvwD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnC+B,GA4DvBwwD,GAA0B,WAMnC,WAAY7xD,GACR,GAD0C,UACtCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK8K,WAAaikB,EAAM,cACxB/uB,KAAKwrB,QAAUuD,EAAM,WACrB/uB,KAAKirB,YAAc8D,EAAM,eACzB/uB,KAAKkmC,YAAcnX,EAAM,kBAEhC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,cAAgBwE,KAAK8K,WAC1BtP,EAAK,WAAawE,KAAKwrB,QACvBhwB,EAAK,eAAiBwE,KAAKirB,YAC3BzvB,EAAK,eAAiBwE,KAAKkmC,YACpB1qC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwwD,EAEjB,OADAxwD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BkC,GAgD1BivB,GAAiB,WAU1B,WAAYtwB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAuBnD,OApBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKqhC,KAAOtS,EAAM,QAClB/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAK+2B,MAAQhI,EAAM,SACnB/uB,KAAKstD,KAAOv+B,EAAM,QAClB/uB,KAAKohC,QAAUrS,EAAM,WACrB/uB,KAAK6wC,aAAe9hB,EAAM,gBAC1B/uB,KAAKy3B,OAAS1I,EAAM,UACpB/uB,KAAKutD,SAAWx+B,EAAM,eAE7B,oBASD,SAAOvzB,GAUH,OATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKqhC,KACpB7lC,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,SAAWwE,KAAK+2B,MACrBv7B,EAAK,QAAUwE,KAAKstD,KACpB9xD,EAAK,WAAawE,KAAKohC,QACvB5lC,EAAK,gBAAkBwE,KAAK6wC,aAC5Br1C,EAAK,UAAYwE,KAAKy3B,OACtBj8B,EAAK,YAAcwE,KAAKutD,SACjB/xD,KACV,qBAlBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIivB,EAEjB,OADAjvB,EAAO0yB,KAAK/zB,GACLqB,MACV,EArCyB,GAgEjB2wD,GAAqB,WAO9B,WAAYhyD,GACR,GADqC,UACjCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKovC,cAAgBrgB,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,EACzGZ,KAAK+9B,aAAehP,EAAM,gBAC1B/uB,KAAKqR,OAAS0d,EAAM,aAE3B,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,iBAAmBwE,KAAKovC,cAAgBpvC,KAAKovC,cAActrC,aAAY,QAAalD,EACzFpF,EAAK,gBAAkBwE,KAAK+9B,aAC5BviC,EAAK,UAAYwE,KAAKqR,OACf7V,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2wD,EAEjB,OADA3wD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/B6B,GAoDrBqvB,GAA6B,WAItC,WAAY1wB,GACR,GAD6C,UACzCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK84B,MAAQ/J,EAAM,SACfjmB,MAAMC,QAAQgmB,EAAM,mBAAmB,CACvC/uB,KAAKqP,cAAgB,GAAU,IACQ,EADR,IACd0f,EAAM,kBAAgB,IAAvC,2BACI,KADK/lB,EAAI,QACThJ,KAAKqP,cAAe/S,KAAKmxD,GAAwB9lD,OAAOqB,KAAO,kCAG9E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,SAAWwE,KAAK84B,MACjBhwB,MAAMC,QAAQ/I,KAAKqP,eAAgB,CACnC7T,EAAK,iBAAmB,GAAG,IACQ,EADR,IACVwE,KAAKqP,eAAa,IAAnC,2BACI,KADKrG,EAAI,QACTxN,EAAK,iBAAiBc,KAAK0M,EAAKjF,WAAU,+BAElD,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqvB,EAEjB,OADArvB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BqC,GAgD7B4wD,GAAuB,WA8BhC,WAAYjyD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2CnD,OAxCA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK0P,YAAcqf,EAAM,eACzB/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAKmyC,iBAAmBpjB,EAAM,oBAC9B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKoyC,mBAAqBrjB,EAAM,sBAChC/uB,KAAK0wC,gBAAkB3hB,EAAM,mBAC7B/uB,KAAK2wC,cAAgB5hB,EAAM,iBAC3B/uB,KAAKqyC,kBAAoBtjB,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKsyC,gBAAkBvjB,EAAM,mBAAqBlZ,EAAOlR,UAAUoqB,EAAM,mBAAmBzqB,iBAAmB1D,EAC/GZ,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAK8iC,cAAgB/T,EAAM,iBAC3B/uB,KAAK6wC,aAAe9hB,EAAM,gBAC1B/uB,KAAK41B,WAAa7G,EAAM,cACxB/uB,KAAKyhC,UAAY1S,EAAM,aACvB/uB,KAAKmxC,cAAgBpiB,EAAM,iBAC3B/uB,KAAKk3B,aAAenI,EAAM,gBAC1B/uB,KAAK02B,UAAY3H,EAAM,aACvB/uB,KAAK42B,WAAa7H,EAAM,cACxB/uB,KAAK22B,WAAa5H,EAAM,cACxB/uB,KAAK2hC,YAAc5S,EAAM,eACzB/uB,KAAK6jC,MAAQ9U,EAAM,SACnB/uB,KAAK08B,KAAO3N,EAAM,QAClB/uB,KAAKwrB,QAAUuD,EAAM,WACrB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK8wC,cAAgB/hB,EAAM,iBAC3B/uB,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,KAEhH,oBASD,SAAOpF,GA8BH,OA7BAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,eAAiBwE,KAAK0P,YAC3BlU,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,oBAAsBwE,KAAKmyC,iBAChC32C,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,sBAAwBwE,KAAKoyC,mBAClC52C,EAAK,mBAAqBwE,KAAK0wC,gBAC/Bl1C,EAAK,iBAAmBwE,KAAK2wC,cAC7Bn1C,EAAK,qBAAuBwE,KAAKqyC,kBAAoBryC,KAAKqyC,kBAAkBvuC,aAAY,QAAalD,EACrGpF,EAAK,mBAAqBwE,KAAKsyC,gBAAkBtyC,KAAKsyC,gBAAgBxuC,aAAY,QAAalD,EAC/FpF,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,iBAAmBwE,KAAK8iC,cAC7BtnC,EAAK,gBAAkBwE,KAAK6wC,aAC5Br1C,EAAK,cAAgBwE,KAAK41B,WAC1Bp6B,EAAK,aAAewE,KAAKyhC,UACzBjmC,EAAK,iBAAmBwE,KAAKmxC,cAC7B31C,EAAK,gBAAkBwE,KAAKk3B,aAC5B17B,EAAK,aAAewE,KAAK02B,UACzBl7B,EAAK,cAAgBwE,KAAK42B,WAC1Bp7B,EAAK,cAAgBwE,KAAK22B,WAC1Bn7B,EAAK,eAAiBwE,KAAK2hC,YAC3BnmC,EAAK,SAAWwE,KAAK6jC,MACrBroC,EAAK,QAAUwE,KAAK08B,KACpBlhC,EAAK,WAAawE,KAAKwrB,QACvBhwB,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,iBAAmBwE,KAAK8wC,cAC7Bt1C,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EAClFpF,KACV,qBAtCD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4wD,EAEjB,OADA5wD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7E+B,GAgJvB6wD,GAAwC,WAOjD,WAAYlyD,GACR,GADwD,UACpDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4qB,wBAA0BmE,EAAM,2BAA6B4+B,GAAgChmD,OAAOonB,EAAM,iCAAmCnuB,EAClJZ,KAAKq5B,aAAetK,EAAM,gBAC1B/uB,KAAKs5B,WAAavK,EAAM,cACxB/uB,KAAKu5B,QAAUxK,EAAM,WACrB/uB,KAAKw5B,YAAczK,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,2BAA6BwE,KAAK4qB,wBAA0B5qB,KAAK4qB,wBAAwB7mB,cAAgBnD,EAC9GpF,EAAK,gBAAkBwE,KAAKq5B,aAC5B79B,EAAK,cAAgBwE,KAAKs5B,WAC1B99B,EAAK,WAAawE,KAAKu5B,QACvB/9B,EAAK,eAAiBwE,KAAKw5B,YACpBh+B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6wD,EAEjB,OADA7wD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BgD,GAoDxC8wD,GAA+B,WAgBxC,WAAYnyD,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA6BnD,OA1BA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKyxC,aAAe1iB,EAAM,gBAC1B/uB,KAAKwkB,UAAYuK,EAAM,aACvB/uB,KAAKgO,SAAW+gB,EAAM,YACtB/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAK2xC,qBAAuB5iB,EAAM,wBAClC/uB,KAAK4xC,uBAAyB7iB,EAAM,0BACpC/uB,KAAK6xC,sBAAwB9iB,EAAM,yBACnC/uB,KAAK8xC,wBAA0B/iB,EAAM,2BACrC/uB,KAAK2C,KAAOosB,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKmxC,cAAgBpiB,EAAM,iBAC3B/uB,KAAK+xC,kBAAoBhjB,EAAM,qBAAuBlZ,EAAOlR,UAAUoqB,EAAM,qBAAqBzqB,iBAAmB1D,EACrHZ,KAAKga,cAAgB+U,EAAM,iBAAmBlZ,EAAOlR,UAAUoqB,EAAM,iBAAiBzqB,iBAAmB1D,KAEhH,oBASD,SAAOpF,GAgBH,OAfAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,gBAAkBwE,KAAKyxC,aAC5Bj2C,EAAK,aAAewE,KAAKwkB,UACzBhpB,EAAK,YAAcwE,KAAKgO,SACxBxS,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,wBAA0BwE,KAAK2xC,qBACpCn2C,EAAK,0BAA4BwE,KAAK4xC,uBACtCp2C,EAAK,yBAA2BwE,KAAK6xC,sBACrCr2C,EAAK,2BAA6BwE,KAAK8xC,wBACvCt2C,EAAK,QAAUwE,KAAK2C,KAAO3C,KAAK2C,KAAKmB,aAAY,QAAalD,EAC9DpF,EAAK,iBAAmBwE,KAAKmxC,cAC7B31C,EAAK,qBAAuBwE,KAAK+xC,kBAAoB/xC,KAAK+xC,kBAAkBjuC,aAAY,QAAalD,EACrGpF,EAAK,iBAAmBwE,KAAKga,cAAgBha,KAAKga,cAAclW,aAAY,QAAalD,EAClFpF,KACV,qBAxBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8wD,EAEjB,OADA9wD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAjDuC,IAwF5C,SAAY0vD,GACRA,0CACAA,8CACAA,4CACAA,8BACAA,8BACAA,gCACAA,wBACAA,4BACAA,yCATJ,CAAYA,QAAwB,KAY7B,IAwQKqB,GAxQCphC,GAAa,WAMtB,WAAYhxB,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKssB,QAAUyC,EAAM,WACrB/uB,KAAKqsB,QAAU0C,EAAM,WACrB/uB,KAAKosB,OAAS2C,EAAM,aAE3B,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKssB,QACvB9wB,EAAK,WAAawE,KAAKqsB,QACvB7wB,EAAK,UAAYwE,KAAKosB,OACf5wB,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2vB,EAEjB,OADA3vB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BqB,GAgDbqwB,GAAY,WAKrB,WAAY1xB,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK6tD,cAAgB9+B,EAAM,iBAC3B/uB,KAAK8tD,YAAc/+B,EAAM,kBAEhC,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,iBAAmBwE,KAAK6tD,cAC7BryD,EAAK,eAAiBwE,KAAK8tD,YACpBtyD,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqwB,EAEjB,OADArwB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BoB,GA4CZuwB,GAAiB,WA+B1B,WAAY5xB,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAwDnD,OArDA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAaP,GAZA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKq8B,QAAUtN,EAAM,WACrB/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAK2wC,cAAgB5hB,EAAM,iBAC3B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAK0wC,gBAAkB3hB,EAAM,mBAC7B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKw6C,oBAAsBzrB,EAAM,uBACjC/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK4wC,IAAM7hB,EAAM,OACbjmB,MAAMC,QAAQgmB,EAAM,uBAAwB,CAC5C/uB,KAAKqzC,mBAAqB,GAAU,IACQ,EADR,IACnBtkB,EAAM,uBAAqB,IAA5C,2BACI,KADK/lB,EAAI,QACThJ,KAAKqzC,mBAAoB/2C,KAAKsvB,GAAmBjkB,OAAOqB,KAAO,+BAEvE,GAAIF,MAAMC,QAAQgmB,EAAM,qBAAsB,CAC1C/uB,KAAK+tD,iBAAmB,GAAU,IACQ,EADR,IACjBh/B,EAAM,qBAAmB,IAA1C,2BACI,KADK/lB,EAAI,QACThJ,KAAK+tD,iBAAkBzxD,KAAKsvB,GAAmBjkB,OAAOqB,KAAO,+BAOrE,GALAhJ,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAKguD,6BAA+Bj/B,EAAM,gCAC1C/uB,KAAKoH,OAAS2nB,EAAM,UACpB/uB,KAAKwiC,iBAAmBzT,EAAM,oBAAsBlZ,EAAOlR,UAAUoqB,EAAM,oBAAoBzqB,iBAAmB1D,EAClHZ,KAAKiuD,gBAAkBl/B,EAAM,mBACzBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BAEpChJ,KAAK6/B,0BAA4B9Q,EAAM,6BACvC/uB,KAAK0gC,4BAA8B3R,EAAM,+BACzC/uB,KAAK4iC,aAAe7T,EAAM,gBAC1B/uB,KAAK6iC,kBAAoB9T,EAAM,qBAC/B/uB,KAAK2iC,qBAAuB5T,EAAM,wBAClC/uB,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAKslB,WAAayJ,EAAM,cACxB/uB,KAAKu4C,gBAAkBxpB,EAAM,mBAC7B/uB,KAAKkuD,4BAA8Bn/B,EAAM,kCAEhD,oBASD,SAAOvzB,GAcH,GAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKq8B,QACvB7gC,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAK2wC,cAC7Bn1C,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,mBAAqBwE,KAAK0wC,gBAC/Bl1C,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,uBAAyBwE,KAAKw6C,oBACnCh/C,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,OAASwE,KAAK4wC,IACf9nC,MAAMC,QAAQ/I,KAAKqzC,oBAAqB,CACxC73C,EAAK,sBAAwB,GAAG,IACQ,EADR,IACfwE,KAAKqzC,oBAAkB,IAAxC,2BACI,KADKrqC,EAAI,QACTxN,EAAK,sBAAsBc,KAAK0M,EAAKjF,WAAU,+BAEvD,GAAI+E,MAAMC,QAAQ/I,KAAK+tD,kBAAmB,CACtCvyD,EAAK,oBAAsB,GAAG,IACQ,EADR,IACbwE,KAAK+tD,kBAAgB,IAAtC,2BACI,KADK/kD,EAAI,QACTxN,EAAK,oBAAoBc,KAAK0M,EAAKjF,WAAU,+BAOrD,GALAvI,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,gCAAkCwE,KAAKguD,6BAC5CxyD,EAAK,UAAYwE,KAAKoH,OACtB5L,EAAK,oBAAsBwE,KAAKwiC,iBAAmBxiC,KAAKwiC,iBAAiB1+B,aAAY,QAAalD,EAClGpF,EAAK,mBAAqBwE,KAAKiuD,gBAC3BnlD,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAWtC,OATAxN,EAAK,6BAA+BwE,KAAK6/B,0BACzCrkC,EAAK,+BAAiCwE,KAAK0gC,4BAC3CllC,EAAK,gBAAkBwE,KAAK4iC,aAC5BpnC,EAAK,qBAAuBwE,KAAK6iC,kBACjCrnC,EAAK,wBAA0BwE,KAAK2iC,qBACpCnnC,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,cAAgBwE,KAAKslB,WAC1B9pB,EAAK,mBAAqBwE,KAAKu4C,gBAC/B/8C,EAAK,+BAAiCwE,KAAKkuD,4BACpC1yD,KACV,qBAnDD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuwB,EAEjB,OADAvwB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3FyB,IA4K9B,SAAY+wD,GACRA,kCACAA,kCACAA,yCAHJ,CAAYA,QAA2B,KAMhC,IA+hCKO,GA/hCC5gC,GAA+B,WAexC,WAAY/xB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAKq8B,QAAUtN,EAAM,WACrB/uB,KAAKg2B,aAAejH,EAAM,gBAC1B/uB,KAAK2wC,cAAgB5hB,EAAM,iBAC3B/uB,KAAKk2B,cAAgBnH,EAAM,iBAC3B/uB,KAAKm2B,eAAiBpH,EAAM,kBAC5B/uB,KAAKq2B,gBAAkBtH,EAAM,mBAC7B/uB,KAAK0wC,gBAAkB3hB,EAAM,mBAC7B/uB,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAKqjC,YAActU,EAAM,eAAiBlZ,EAAOlR,UAAUoqB,EAAM,eAAezqB,iBAAmB1D,EACnGZ,KAAKqiC,mBAAqBtT,EAAM,sBAChC/uB,KAAK4gC,oBAAsB7R,EAAM,uBACjC/uB,KAAK4wC,IAAM7hB,EAAM,UAExB,oBASD,SAAOvzB,GAeH,OAdAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,WAAawE,KAAKq8B,QACvB7gC,EAAK,gBAAkBwE,KAAKg2B,aAC5Bx6B,EAAK,iBAAmBwE,KAAK2wC,cAC7Bn1C,EAAK,iBAAmBwE,KAAKk2B,cAC7B16B,EAAK,kBAAoBwE,KAAKm2B,eAC9B36B,EAAK,mBAAqBwE,KAAKq2B,gBAC/B76B,EAAK,mBAAqBwE,KAAK0wC,gBAC/Bl1C,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,eAAiBwE,KAAKqjC,YAAcrjC,KAAKqjC,YAAYv/B,aAAY,QAAalD,EACnFpF,EAAK,sBAAwBwE,KAAKqiC,mBAClC7mC,EAAK,uBAAyBwE,KAAK4gC,oBACnCplC,EAAK,OAASwE,KAAK4wC,IACZp1C,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0wB,EAEjB,OADA1wB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/CuC,GAoF/BuxD,GAAuB,WAgBhC,WAAY5yD,GACR,GADuC,UACnCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiCnD,OA9BA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAEP,GADA/uB,KAAK4M,UAAYmiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,eAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,+BAEpChJ,KAAKi1B,SAAWlG,EAAM,YACtB/uB,KAAK6zC,SAAW9kB,EAAM,YACtB/uB,KAAKykB,SAAWsK,EAAM,YACtB/uB,KAAK4wC,IAAM7hB,EAAM,OACjB/uB,KAAK4uC,iBAAmB7f,EAAM,oBAC9B/uB,KAAK6uC,mBAAqB9f,EAAM,sBAChC/uB,KAAKw6C,oBAAsBzrB,EAAM,uBACjC/uB,KAAK6/B,0BAA4B9Q,EAAM,6BACvC/uB,KAAK0gC,4BAA8B3R,EAAM,+BACzC/uB,KAAK4iC,aAAe7T,EAAM,gBAC1B/uB,KAAK6iC,kBAAoB9T,EAAM,qBAC/B/uB,KAAK2iC,qBAAuB5T,EAAM,2BAEzC,oBASD,SAAOvzB,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACrB9D,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BActC,OAZAxN,EAAK,YAAcwE,KAAKi1B,SACxBz5B,EAAK,YAAcwE,KAAK6zC,SACxBr4C,EAAK,YAAcwE,KAAKykB,SACxBjpB,EAAK,OAASwE,KAAK4wC,IACnBp1C,EAAK,oBAAsBwE,KAAK4uC,iBAChCpzC,EAAK,sBAAwBwE,KAAK6uC,mBAClCrzC,EAAK,uBAAyBwE,KAAKw6C,oBACnCh/C,EAAK,6BAA+BwE,KAAK6/B,0BACzCrkC,EAAK,+BAAiCwE,KAAK0gC,4BAC3CllC,EAAK,gBAAkBwE,KAAK4iC,aAC5BpnC,EAAK,qBAAuBwE,KAAK6iC,kBACjCrnC,EAAK,wBAA0BwE,KAAK2iC,qBAC7BnnC,KACV,qBA5BD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIuxD,EAEjB,OADAvxD,EAAO0yB,KAAK/zB,GACLqB,MACV,EArD+B,GAgGvBwxD,GAAM,WAIf,WAAY7yD,GACR,GADsB,UAClBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAK4wC,IAAM7hB,EAAM,UAExB,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,OAASwE,KAAK4wC,IACZp1C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIwxD,EAEjB,OADAxxD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBc,GAwCNyxD,GAAmC,WAM5C,WAAY9yD,GACR,GADmD,UAC/CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAK4iC,aAAe7T,EAAM,gBAC1B/uB,KAAK6iC,kBAAoB9T,EAAM,qBAC/B/uB,KAAK2iC,qBAAuB5T,EAAM,2BAEzC,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,gBAAkBwE,KAAK4iC,aAC5BpnC,EAAK,qBAAuBwE,KAAK6iC,kBACjCrnC,EAAK,wBAA0BwE,KAAK2iC,qBAC7BnnC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyxD,EAEjB,OADAzxD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B2C,GAgDnC0xD,GAAwB,WAMjC,WAAY/yD,GACR,GADwC,UACpCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKw6C,oBAAsBzrB,EAAM,uBACjC/uB,KAAK6/B,0BAA4B9Q,EAAM,6BACvC/uB,KAAK0gC,4BAA8B3R,EAAM,kCAEhD,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,uBAAyBwE,KAAKw6C,oBACnCh/C,EAAK,6BAA+BwE,KAAK6/B,0BACzCrkC,EAAK,+BAAiCwE,KAAK0gC,4BACpCllC,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0xD,EAEjB,OADA1xD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BgC,GAgDxB2xD,GAAiC,WAI1C,WAAYhzD,GACR,GADiD,UAC7CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CACP,GAAIjmB,MAAMC,QAAQgmB,EAAM,4BAA6B,CACjD/uB,KAAKyuD,wBAA0B,GAAU,IACQ,EADR,IACxB1/B,EAAM,4BAA0B,IAAjD,2BACI,KADK/lB,EAAI,QACThJ,KAAKyuD,wBAAyBnyD,KAAKoyD,GAAU/mD,OAAOqB,KAAO,+BAEnEhJ,KAAK2uD,WAAa5/B,EAAM,iBAE/B,oBASD,SAAOvzB,GAEH,GADAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACrCsN,MAAMC,QAAQ/I,KAAKyuD,yBAA0B,CAC7CjzD,EAAK,2BAA6B,GAAG,IACQ,EADR,IACpBwE,KAAKyuD,yBAAuB,IAA7C,2BACI,KADKzlD,EAAI,QACTxN,EAAK,2BAA2Bc,KAAK0M,EAAKjF,WAAU,+BAG5D,OADAvI,EAAK,cAAgBwE,KAAK2uD,WACnBnzD,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI2xD,EAEjB,OADA3xD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7ByC,GAgDjC6xD,GAAS,WAIlB,WAAYlzD,GACR,GADyB,UACrBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAKoH,OAAS2nB,EAAM,aAE3B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,UAAYwE,KAAKoH,OACf5L,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI6xD,EAEjB,OADA7xD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBiB,GAwCT+xD,GAAsB,WAI/B,WAAYpzD,GACR,GADsC,UAClCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC1BjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC/uB,KAAK+rC,WAAa,GAAU,IACQ,EADR,IACXhd,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAK+rC,WAAYzvC,KAAK0M,IAAM,kCAG3C,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAC5B9G,MAAMC,QAAQ/I,KAAK+rC,YAAa,CAChCvwC,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAK+rC,YAAU,IAAhC,2BACI,KADK/iC,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAEtC,OAAOxN,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI+xD,EAEjB,OADA/xD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B8B,GAgDtBgyD,GAAW,WAIpB,WAAYrzD,GACR,GAD2B,UACvBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4P,iBAAmBmf,EAAM,oBAC9B/uB,KAAK6zC,SAAW9kB,EAAM,eAE7B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,oBAAsBwE,KAAK4P,iBAChCpU,EAAK,YAAcwE,KAAK6zC,SACjBr4C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgyD,EAEjB,OADAhyD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBmB,GAwCX4xB,GAA+B,WAIxC,WAAYjzB,GACR,GAD+C,UAC3CA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKq8B,QAAUtN,EAAM,WACrB/uB,KAAK6zC,SAAW9kB,EAAM,eAE7B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAKq8B,QACvB7gC,EAAK,YAAcwE,KAAK6zC,SACjBr4C,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4xB,EAEjB,OADA5xB,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzBuC,GAwC/BiyD,GAA0C,WAKnD,WAAYtzD,GACR,GAD0D,UACtDA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACvB/uB,KAAKu6B,KAAOxL,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAKuC,GAAKwsB,EAAM,MAAQlZ,EAAOlR,UAAUoqB,EAAM,MAAMzqB,iBAAmB1D,KAE/E,oBASD,SAAOpF,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACzBpR,EAAK,QAAUwE,KAAKu6B,KAAOv6B,KAAKu6B,KAAKz2B,aAAY,QAAalD,EAC9DpF,EAAK,MAAQwE,KAAKuC,GAAKvC,KAAKuC,GAAGuB,aAAY,QAAalD,EACjDpF,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIiyD,EAEjB,OADAjyD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BkD,GA4C1C8xB,GAAoB,WAI7B,WAAYnzB,GACR,GADoC,UAChCA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAqBnD,OAlBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK4M,UAAYmiB,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,eAAe,CACnC/uB,KAAKsuB,UAAY,GAAU,IACQ,EADR,IACVS,EAAM,cAAY,IAAnC,2BACI,KADK/lB,EAAI,QACThJ,KAAKsuB,UAAWhyB,KAAKuyD,GAAYlnD,OAAOqB,KAAO,kCAG9D,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK4M,UACrB9D,MAAMC,QAAQ/I,KAAKsuB,WAAY,CAC/B9yB,EAAK,aAAe,GAAG,IACQ,EADR,IACNwE,KAAKsuB,WAAS,IAA/B,2BACI,KADKtlB,EAAI,QACTxN,EAAK,aAAac,KAAK0M,EAAKjF,WAAU,+BAE9C,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8xB,EAEjB,OADA9xB,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7B4B,GAgDpB0Q,GAAY,WAWrB,WAAY/R,GACR,GAD4B,UACxBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA4BnD,OAzBA,uBAED,SAAKgwB,GACD,GAAIA,IACA/uB,KAAK6J,QAAUklB,EAAM,WACrB/uB,KAAKqvB,UAAYN,EAAM,aACvB/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKwzB,MAAQzE,EAAM,SACnB/uB,KAAKy0B,gBAAkB1F,EAAM,mBAC7B/uB,KAAK+zB,iBAAmBhF,EAAM,oBAC9B/uB,KAAKg0B,iBAAmBjF,EAAM,oBAC9B/uB,KAAKyY,QAAUsW,EAAM,WACjBjmB,MAAMC,QAAQgmB,EAAM,gBAAgB,CACpC/uB,KAAKs0B,WAAa,GAAU,IACQ,EADR,IACXvF,EAAM,eAAa,IAApC,2BACI,KADK/lB,EAAI,QACThJ,KAAKs0B,WAAYh4B,KAAK0M,IAAM,kCAG3C,oBASD,SAAOxN,GAUH,GATAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,WAAawE,KAAK6J,QACvBrO,EAAK,aAAewE,KAAKqvB,UACzB7zB,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,SAAWwE,KAAKwzB,MACrBh4B,EAAK,mBAAqBwE,KAAKy0B,gBAC/Bj5B,EAAK,oBAAsBwE,KAAK+zB,iBAChCv4B,EAAK,oBAAsBwE,KAAKg0B,iBAChCx4B,EAAK,WAAawE,KAAKyY,QACnB3P,MAAMC,QAAQ/I,KAAKs0B,YAAa,CAChC94B,EAAK,cAAgB,GAAG,IACQ,EADR,IACPwE,KAAKs0B,YAAU,IAAhC,2BACI,KADKtrB,EAAI,QACTxN,EAAK,cAAcc,KAAK0M,IAAM,+BAEtC,OAAOxN,KACV,qBAvBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0Q,EAEjB,OADA1Q,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3CoB,GA4EZ8Q,GAAe,WAYxB,WAAYnS,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAyBnD,OAtBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAKwzB,MAAQzE,EAAM,SACnB/uB,KAAKyzB,QAAU1E,EAAM,WAAalZ,EAAOlR,UAAUoqB,EAAM,WAAWzqB,iBAAmB1D,EACvFZ,KAAKy0B,gBAAkB1F,EAAM,mBAC7B/uB,KAAK+zB,iBAAmBhF,EAAM,oBAC9B/uB,KAAKg0B,iBAAmBjF,EAAM,oBAC9B/uB,KAAKyY,QAAUsW,EAAM,WACrB/uB,KAAKo0B,gBAAkBrF,EAAM,mBAC7B/uB,KAAK+uD,UAAYhgC,EAAM,aACvB/uB,KAAKgvD,aAAejgC,EAAM,mBAEjC,oBASD,SAAOvzB,GAYH,OAXAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,SAAWwE,KAAKwzB,MACrBh4B,EAAK,WAAawE,KAAKyzB,QAAUzzB,KAAKyzB,QAAQ3vB,aAAY,QAAalD,EACvEpF,EAAK,mBAAqBwE,KAAKy0B,gBAC/Bj5B,EAAK,oBAAsBwE,KAAK+zB,iBAChCv4B,EAAK,oBAAsBwE,KAAKg0B,iBAChCx4B,EAAK,WAAawE,KAAKyY,QACvBjd,EAAK,mBAAqBwE,KAAKo0B,gBAC/B54B,EAAK,aAAewE,KAAK+uD,UACzBvzD,EAAK,gBAAkBwE,KAAKgvD,aACrBxzD,KACV,qBApBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI8Q,EAEjB,OADA9Q,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzCuB,GAwEfgR,GAAa,WAKtB,WAAYrS,GACR,GAD6B,UACzBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAkBnD,OAfA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAK+vB,SAAWhB,EAAM,YACtB/uB,KAAK8vB,MAAQf,EAAM,YAE1B,oBASD,SAAOvzB,GAKH,OAJAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,YAAcwE,KAAK+vB,SACxBv0B,EAAK,SAAWwE,KAAK8vB,MACdt0B,KACV,qBAbD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIgR,EAEjB,OADAhR,EAAO0yB,KAAK/zB,GACLqB,MACV,EA3BqB,GA4CbkR,GAAe,WAcxB,WAAYvS,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA2BnD,OAxBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKpC,KAAOmxB,EAAM,QAClB/uB,KAAKwzB,MAAQzE,EAAM,SACnB/uB,KAAKo0B,gBAAkBrF,EAAM,mBAC7B/uB,KAAKyY,QAAUsW,EAAM,WACrB/uB,KAAKy0B,gBAAkB1F,EAAM,mBAC7B/uB,KAAK+zB,iBAAmBhF,EAAM,oBAC9B/uB,KAAKg0B,iBAAmBjF,EAAM,oBAC9B/uB,KAAKo1B,oBAAsBrG,EAAM,uBACjC/uB,KAAKm1B,qBAAuBpG,EAAM,wBAClC/uB,KAAKm0B,qBAAuBpF,EAAM,wBAClC/uB,KAAK+uD,UAAYhgC,EAAM,aACvB/uB,KAAKgvD,aAAejgC,EAAM,mBAEjC,oBASD,SAAOvzB,GAcH,OAbAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,QAAUwE,KAAKpC,KACpBpC,EAAK,SAAWwE,KAAKwzB,MACrBh4B,EAAK,mBAAqBwE,KAAKo0B,gBAC/B54B,EAAK,WAAawE,KAAKyY,QACvBjd,EAAK,mBAAqBwE,KAAKy0B,gBAC/Bj5B,EAAK,oBAAsBwE,KAAK+zB,iBAChCv4B,EAAK,oBAAsBwE,KAAKg0B,iBAChCx4B,EAAK,uBAAyBwE,KAAKo1B,oBACnC55B,EAAK,wBAA0BwE,KAAKm1B,qBACpC35B,EAAK,wBAA0BwE,KAAKm0B,qBACpC34B,EAAK,aAAewE,KAAK+uD,UACzBvzD,EAAK,gBAAkBwE,KAAKgvD,aACrBxzD,KACV,qBAtBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIkR,EAEjB,OADAlR,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7CuB,GAoJfqR,GAAc,WAIvB,WAAY1S,GACR,GAD8B,UAC1BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAG3CvD,IACDwE,KAAKivD,gBAAkB,IAoB9B,OAlBA,uBAED,SAAKlgC,GACD,GAAIA,IACA/uB,KAAK2lC,UAAY5W,EAAM,aACnBjmB,MAAMC,QAAQgmB,EAAM,qBAAqB,CACzC/uB,KAAKivD,gBAAkB,GAAU,IACQ,EADR,IAChBlgC,EAAM,oBAAkB,IAAzC,2BACI,KADK/lB,EAAI,QACThJ,KAAKivD,gBAAiB3yD,KAAK4yD,GAAkBvnD,OAAOqB,KAAO,kCAG1E,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,aAAewE,KAAK2lC,UACrB78B,MAAMC,QAAQ/I,KAAKivD,iBAAkB,CACrCzzD,EAAK,mBAAqB,GAAG,IACQ,EADR,IACZwE,KAAKivD,iBAAe,IAArC,2BACI,KADKjmD,EAAI,QACTxN,EAAK,mBAAmBc,KAAK0M,EAAKjF,WAAU,+BAEpD,OAAOvI,KACV,qBAhBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqR,EAEjB,OADArR,EAAO0yB,KAAK/zB,GACLqB,MACV,EAhCsB,GAmDdqyD,GAAiB,WAI1B,WAAY1zD,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAiBnD,OAdA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKmvD,gBAAkBpgC,EAAM,mBAC7B/uB,KAAKovD,MAAQrgC,EAAM,YAE1B,oBASD,SAAOvzB,GAIH,OAHAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,mBAAqBwE,KAAKmvD,gBAC/B3zD,EAAK,SAAWwE,KAAKovD,MACd5zD,KACV,qBAZD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIqyD,EAEjB,OADAryD,EAAO0yB,KAAK/zB,GACLqB,MACV,EAzByB,IAwC9B,SAAYsxD,GACRA,sBACAA,8BACAA,gCACAA,8CACAA,gCACAA,6BANJ,CAAYA,QAAe,KASpB,IA4GKkB,GA5GC/gD,GAAiB,WAK1B,WAAY9S,GACR,GADiC,UAC7BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IA0BnD,OAvBA,uBAED,SAAKgwB,GACD,GAAIA,EAAO,CAEP,GADA/uB,KAAKgO,SAAW+gB,EAAM,YAClBjmB,MAAMC,QAAQgmB,EAAM,iBAAkB,CACtC/uB,KAAKsvD,aAAe,GAAU,IACQ,EADR,IACbvgC,EAAM,iBAAe,IAAtC,2BACI,KADK/lB,EAAI,QACThJ,KAAKsvD,aAAchzD,KAAKizD,GAAgB5nD,OAAOqB,KAAO,+BAE9D,GAAIF,MAAMC,QAAQgmB,EAAM,aAAc,CAClC/uB,KAAKwvD,SAAW,GAAU,IACQ,EADR,IACTzgC,EAAM,aAAW,IAAlC,2BACI,KADK/lB,EAAI,QACThJ,KAAKwvD,SAAUlzD,KAAKmzD,GAAW9nD,OAAOqB,KAAO,mCAG5D,oBASD,SAAOxN,GAGH,GAFAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,YAAcwE,KAAKgO,SACpBlF,MAAMC,QAAQ/I,KAAKsvD,cAAe,CAClC9zD,EAAK,gBAAkB,GAAG,IACQ,EADR,IACTwE,KAAKsvD,cAAY,IAAlC,2BACI,KADKtmD,EAAI,QACTxN,EAAK,gBAAgBc,KAAK0M,EAAKjF,WAAU,+BAEjD,GAAI+E,MAAMC,QAAQ/I,KAAKwvD,UAAW,CAC9Bh0D,EAAK,YAAc,GAAG,IACQ,EADR,IACLwE,KAAKwvD,UAAQ,IAA9B,2BACI,KADKxmD,EAAI,QACTxN,EAAK,YAAYc,KAAK0M,EAAKjF,WAAU,+BAE7C,OAAOvI,KACV,qBArBD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAIyR,EAEjB,OADAzR,EAAO0yB,KAAK/zB,GACLqB,MACV,EAnCyB,GA4DjB0yD,GAAe,WAMxB,WAAY/zD,GACR,GAD+B,UAC3BA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAmBnD,OAhBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK0vD,MAAQ3gC,EAAM,SAAWlZ,EAAO5R,SAAS8qB,EAAM,SAASzqB,iBAAmB1D,EAChFZ,KAAK2vD,KAAO5gC,EAAM,QAAUlZ,EAAO5R,SAAS8qB,EAAM,QAAQzqB,iBAAmB1D,EAC7EZ,KAAK4vD,QAAU7gC,EAAM,cAE5B,oBASD,SAAOvzB,GAMH,OALAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,SAAWwE,KAAK0vD,MAAQ1vD,KAAK0vD,MAAM5tD,OAAO,gBAAiB,CAAE+tD,MAAM,SAAgBjvD,EACxFpF,EAAK,QAAUwE,KAAK2vD,KAAO3vD,KAAK2vD,KAAK7tD,OAAO,gBAAiB,CAAE+tD,MAAM,SAAgBjvD,EACrFpF,EAAK,WAAawE,KAAK4vD,QAChBp0D,KACV,qBAdD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI0yD,EAEjB,OADA1yD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA7BuB,IAgD5B,SAAYwyD,GACRA,4BACAA,8BACAA,2BAHJ,CAAYA,QAAO,KAMZ,IAAMI,GAAU,WAOnB,WAAYj0D,GACR,GAD0B,UACtBA,EACA,IAAK,IAAIuD,KAAYvD,EACbA,EAAKW,eAAe4C,KACdiB,KAAMjB,GAAkBvD,EAAMuD,IAoBnD,OAjBA,uBAED,SAAKgwB,GACGA,IACA/uB,KAAKR,GAAKuvB,EAAM,MAChB/uB,KAAK2C,KAAOosB,EAAM,QAAUlZ,EAAOlR,UAAUoqB,EAAM,QAAQzqB,iBAAmB1D,EAC9EZ,KAAK0vD,MAAQ3gC,EAAM,SAAWlZ,EAAO5R,SAAS8qB,EAAM,SAASzqB,iBAAmB1D,EAChFZ,KAAK2vD,KAAO5gC,EAAM,QAAUlZ,EAAO5R,SAAS8qB,EAAM,QAAQzqB,iBAAmB1D,EAC7EZ,KAAKozB,YAAcrE,EAAM,kBAEhC,oBASD,SAAOvzB,GAOH,OANAA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzCA,EAAK,MAAQwE,KAAKR,GAClBhE,EAAK,QAAUwE,KAAK2C,KAAO3C,KAAK2C,KAAKmB,aAAY,QAAalD,EAC9DpF,EAAK,SAAWwE,KAAK0vD,MAAQ1vD,KAAK0vD,MAAM5tD,OAAO,gBAAiB,CAAE+tD,MAAM,SAAgBjvD,EACxFpF,EAAK,QAAUwE,KAAK2vD,KAAO3vD,KAAK2vD,KAAK7tD,OAAO,gBAAiB,CAAE+tD,MAAM,SAAgBjvD,EACrFpF,EAAK,eAAiBwE,KAAKozB,YACpB53B,KACV,qBAfD,SAAcA,GACVA,EAAuB,WAAhB,EAAOA,GAAoBA,EAAO,GACzC,IAAIqB,EAAS,IAAI4yD,EAEjB,OADA5yD,EAAO0yB,KAAK/zB,GACLqB,MACV,EA/BkB,GAgEVizD,GAAa,8BAOtB,WAAY5uD,EAAiBkG,EAAgBxB,EAAkBN,EAAkCzI,GAAW,MAOnF,OAPmF,UACxG,eASM,EAAAkzD,gBAAiB,EAPvB,EAAK7uD,QAAUA,EACf,EAAKkG,OAASA,EACd,EAAKxB,SAAWA,EAChB,EAAKN,QAAUA,EACf,EAAKzI,OAASA,EAAO,EAOxB,OANA,sCAID,SAAsBmzD,GAClB,OAA8B,IAAvBA,EAAID,mBACd,EArBqB,CAqBrB,EArB6BpwD,QAwBlC,SAASiI,GAAe1G,EAAiBkG,EAAgBxB,EAAkBN,EAAkCzI,GACzG,MAAe,OAAXA,QAA8B+D,IAAX/D,EACbA,EAEA,IAAIizD,GAAa5uD,EAASkG,EAAQxB,EAAUN,EAAS,MAGnE,SAAS2B,GAAa+oD,GAClB,OAAOA,IAA4B,IAArBA,EAAI/oD,a,otCCrj3CtBgpD,OAAIC,IAAIC,SACR,IAAMC,GAAgBzgC,GAAQ0gC,QACxBC,GAAWr0D,OAAOs0D,QAAM,YAC3B5gC,GAAQ0gC,QAAUG,IAAE,MACpB7gC,GAAQ8gC,QAAUC,IAAE,MACpB/gC,GAAQghC,QAAUC,IAAE,MACpBjhC,GAAQkhC,UAAYC,IAAE,KAEnBC,GAAO,IAAIZ,QAAQ,CACvBluD,OAAQmuD,GAAc9rD,WACtB0sD,eAAgBZ,GAAc9rD,WAC9BgsD,cAWIW,GAAgB,CACpB,CACEhvD,OAAQ0tB,GAAQ0gC,QAChBa,MAAOC,EAAQ,QACfvxD,KAAM,QACNwxD,UAAW,KACXC,WAAY,CACV1hC,GAAQ0gC,QACR1gC,GAAQ8gC,QACR9gC,GAAQkhC,UACRlhC,GAAQghC,UAGZ,CACE1uD,OAAQ0tB,GAAQ8gC,QAChBS,MAAOC,EAAQ,QACfvxD,KAAM,QACNwxD,UAAW,KACXC,WAAY,CACV1hC,GAAQ8gC,QACR9gC,GAAQ0gC,QACR1gC,GAAQkhC,UACRlhC,GAAQghC,UAGZ,CACE1uD,OAAQ0tB,GAAQghC,QAChBO,MAAOC,EAAQ,QACfvxD,KAAM,QACNwxD,UAAW,KACXC,WAAY,CACV1hC,GAAQghC,QACRhhC,GAAQ0gC,QACR1gC,GAAQ8gC,QACR9gC,GAAQkhC,YAGZ,CACE5uD,OAAQ0tB,GAAQkhC,UAChBK,MAAOC,EAAQ,QACfvxD,KAAM,QACNwxD,UAAW,KACXC,WAAY,CACV1hC,GAAQkhC,UACRlhC,GAAQ0gC,QACR1gC,GAAQ8gC,QACR9gC,GAAQghC,WAKd,SAASW,KACP,OAAOL,GAAMM,MAAK,SAAA/zD,GAAC,OAAIA,EAAEyE,OAAOqC,aAAeysD,GAAK9uD,UAASrC,KAG/D,SAAStB,GAAEK,GACT,OAAOoyD,GAAKzyD,EAAEK,GAAK2F,WAGrB,IAAMktD,GAAW,SAACC,GAChB,IAE+B,EAFzBC,EAAOT,GAAMM,MAAK,SAAA/zD,GAAC,OAAIA,EAAEyE,OAAOqC,aAAeysD,GAAK9uD,UACtD0vD,EAAahiC,GAAQ0gC,QAAQ,KACjBqB,EAAKL,YAAU,IAA/B,IAAK,EAAL,qBAAiC,KAAtBryD,EAAC,QACV,GAAIyyD,EAAQG,SAAS5yD,GAAI,CACvB2yD,EAAa3yD,EACb,QAEH,8BACD,OAAOiyD,GAAMM,MAAK,SAAA/zD,GAAC,OAAIA,EAAEyE,SAAW0vD,MClGvB,YAACE,GACd,MAAM,IAAIlyD,MAAM,4DAAD,OAC+CkyD,EAAC,4H,m2DC6B1D,IAuDKC,GAvDCC,GAAyB,SAACC,GACrC,MAAO,CACL9oD,WAAY8oD,EAAQ9oD,WACpBW,QAASmoD,EAAQnoD,QACjBwlB,UAAW2iC,EAAQ3iC,UACnBhiB,UAAW2kD,EAAQ3kD,UACnB7C,UAAWwnD,EAAQxnD,UACnB8kB,gBAAiB0iC,EAAQ1iC,gBACzBN,kBAAmBgjC,EAAQhjC,oBAIlBijC,GAAkB,gCAE7B,WAAYz2D,GAAsB,MAK9B,OAL8B,WAChC,cAAMA,GACN,EAAK02D,WAAaC,GAChB,EAAKnvB,oBACL,EAAKC,mBACL,EACH,aAR4B,CAAQrmB,IAW1Bu1C,GAAsB,SACjCnvB,EACAC,GAEA,QAAQ,IAAIrhC,GAAUwwD,UACpBpvB,EACAC,EAAkBjgC,cA0BtB,SAAY8uD,GACVA,wCACAA,iCAFF,CAAYA,QAAK,KAKV,IA2DKO,GA3DCC,GAAqB,IAEhC,WAAYC,GAA4B,WACtCvyD,KAAKwyD,wBAA0BD,EAAKC,2BAQ3BC,GAAa,IAExB,WAAYF,GAAoB,WAC9BvyD,KAAK0yD,WAAaH,EAAKG,cAQdC,GAAwB,IAEnC,WAAYJ,GAA+B,WACzCvyD,KAAK4yD,eAAiBL,EAAKK,kBAQlBC,GAAyB,IAKpC,WAAYN,GAAgC,WAC1CvyD,KAAK8yD,SAAWP,EAAKO,SACrB9yD,KAAK+yD,WAAaR,EAAKQ,WACvB/yD,KAAKgzD,gBAAkBT,EAAKS,gBAC5BhzD,KAAKizD,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,IAAIznB,GAAyB,CAC3BpQ,UAAU,IAAIz5B,GAAUuxD,UAAU,GAAGC,cACrC93B,QAAQ,IAAI15B,GAAUyxD,YACtB3nB,cAAe,GACfC,YAAa,GACbC,aAAc,GACdI,MAAO,GACPH,YAAY,EACZC,cAAe,EACfxU,UAAW,GACX3Z,YAAa,GACb2W,WAAY,GACZyX,WAAY,GACZpQ,aAAc,GACduQ,gBAAiB,GACjBC,iBAAkB,GAClBrK,cAAe,GACfmK,qBAAqB,EACrBG,YAAY,KAGHknB,GAAY,IASvB,WAAY93D,GAKX,WAbD,KAAA+3D,KAAe,EACf,KAAAl6B,aAAuB,IACvB,KAAAm6B,OAA8B,GAC9B,KAAAC,SAAsB,EAAC,GACvB,KAAAC,QAAoB,GACpB,KAAAC,UAAuB,EAAC,GACxB,KAAAC,WAAqB,EACrB,KAAAC,UAAoB,EAOlB7zD,KAAKq5B,kBACmBz4B,IAAtBpF,EAAK69B,aAA6Br5B,KAAKq5B,aAAe79B,EAAK69B,aAC7Dr5B,KAAKwzD,YAAyB5yD,IAAhBpF,EAAKg4D,OAAuBxzD,KAAKwzD,OAASh4D,EAAKg4D,OAC7DxzD,KAAKyzD,cAA6B7yD,IAAlBpF,EAAKi4D,SAAyBzzD,KAAKyzD,SAAWj4D,EAAKi4D,SACnEzzD,KAAK0zD,aAA2B9yD,IAAjBpF,EAAKk4D,QAAwB1zD,KAAK0zD,QAAUl4D,EAAKk4D,WA6GvDI,GAAU,IAOrB,WAAYt0D,EAA0BmzB,EAAcohC,GAAY,WAC9D/zD,KAAKR,GAAKA,EACVQ,KAAK2yB,KAAOr0B,GAAEq0B,GACd3yB,KAAK+zD,KAAOA,EACZ/zD,KAAKw8C,SAAU,EACfx8C,KAAKy8C,YAAa,KAmBTuX,GAAiB,IAI5B,WAAYz1B,EAA0BC,GAA+B,WACnEx+B,KAAKu+B,KAAOA,QAAQ39B,EACpBZ,KAAKw+B,YAAcA,QAAe59B,KAIzBqzD,GAAkB,GAElBC,GAAkB,SAACC,GAC9B,OAAQA,GACN,KAAKn9B,GAAWo9B,QACd,OAAO91D,GAAE,WACX,KAAK04B,GAAWq9B,OACd,OAAO/1D,GAAE,UACX,KAAK04B,GAAWs9B,OACd,OAAOh2D,GAAE,UACX,KAAK04B,GAAWu9B,UACd,OAAOj2D,GAAE,aACX,KAAK04B,GAAWw9B,SACd,OAAOl2D,GAAE,YACX,KAAK21D,GACH,OAAO31D,GAAE,cACX,QACE,MAAMqB,MAAM,yBAIL80D,GAAuB,SAACN,GACnC,OAAQA,GACN,KAAKn9B,GAAWo9B,QACd,OAAO,EACT,KAAKp9B,GAAWq9B,OACd,OAAO,EACT,KAAKr9B,GAAWs9B,OACd,OAAO,EACT,KAAKt9B,GAAWu9B,UACd,OAAO,EACT,KAAKv9B,GAAWw9B,SACd,OAAO,EACT,KAAKP,GACH,OAAO,EACT,QACE,MAAMt0D,MAAM,yBAIL+0D,GAAW,WAGtB,WAAYl1D,EAAY6N,GAAoB,WAC1CrN,KAAKR,GAAKA,EACVQ,KAAKsF,QAAUtF,KAAK20D,eAAen1D,EAAI6N,GAiSxC,OAhSA,kCACD,SAAe7N,EAAY6N,GACzB,OAAQA,GACN,KAAKvI,EAAU8vD,OACb,OAAO50D,KAAK60D,qBAAqBr1D,GACnC,KAAKsF,EAAUgwD,SACb,OAAO90D,KAAK+0D,uBAAuBv1D,GACrC,KAAKsF,EAAUkwD,SACb,OAAOh1D,KAAKi1D,uBAAuBz1D,GACrC,KAAKsF,EAAUowD,SACb,OAAOl1D,KAAKm1D,uBAAuB31D,GACrC,QACE,OAAO41D,GAAa/nD,MAEzB,kCACD,SAAqB7N,GACnB,OAAQA,GACN,KAAKw3B,GAAWo9B,QACd,MAAO,CACLxZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAY+a,YACZ/a,GAAYgb,KACZhb,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWq9B,OACd,MAAO,CACLzZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYmb,iBACZnb,GAAYob,aACZpb,GAAY+a,YACZ/a,GAAYgb,KACZhb,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWs9B,OACd,MAAO,CACL1Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAYqb,WACZrb,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAYob,aACZpb,GAAY+a,YACZ/a,GAAYgb,KACZhb,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWu9B,UACd,MAAO,CACL3Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAYqb,WACZrb,GAAYub,aACZvb,GAAYsb,mBACZtb,GAAYob,aACZpb,GAAY+a,YACZ/a,GAAYgb,KACZhb,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWw9B,SACd,MAAO,CACL5Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAYwb,UACZxb,GAAY+a,YACZ/a,GAAYgb,KACZhb,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK7B,GACH,MAAO,CACLrZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAYyb,kBACZzb,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAY+a,YACZ/a,GAAYgb,KACZhb,GAAYkb,IAEhB,QACE,MAAO,CAAClb,GAAYkb,OAEzB,oCACD,SAAuBt2D,GACrB,OAAQA,GACN,KAAKw3B,GAAWo9B,QACd,MAAO,CACLxZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAY0b,sBACZ1b,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAY2b,WACZ3b,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWq9B,OACd,MAAO,CACLzZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYmb,iBACZnb,GAAY2b,WACZ3b,GAAY+a,YACZ/a,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWs9B,OACd,MAAO,CACL1Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAYqb,WACZrb,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY2b,WACZ3b,GAAY+a,YACZ/a,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK9+B,GAAWu9B,UACd,MAAO,CACL3Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAYqb,WACZrb,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY2b,WACZ3b,GAAY+a,YACZ/a,GAAYib,YACZjb,GAAYkb,IAEhB,KAAK7B,GACH,MAAO,CACLrZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY2a,cACZ3a,GAAY4a,cACZ5a,GAAYyb,kBACZzb,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAY2b,WACZ3b,GAAYib,YACZjb,GAAYkb,IAEhB,QACE,MAAO,CAAClb,GAAYkb,OAEzB,oCACD,SAAuBt2D,GACrB,OAAQA,GACN,KAAKw3B,GAAWo9B,QACd,MAAO,CACLxZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY2b,WACZ3b,GAAY+a,YACZ/a,GAAYkb,IAEhB,KAAK9+B,GAAWq9B,OACd,MAAO,CACLzZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYmb,iBACZnb,GAAYsb,mBACZtb,GAAY2b,WACZ3b,GAAYob,aACZpb,GAAY+a,YACZ/a,GAAYkb,IAEhB,KAAK9+B,GAAWs9B,OACd,MAAO,CACL1Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4a,cACZ5a,GAAYqb,WACZrb,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY2b,WACZ3b,GAAYob,aACZpb,GAAY+a,YACZ/a,GAAYkb,IAEhB,KAAK9+B,GAAWu9B,UACd,MAAO,CACL3Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4a,cACZ5a,GAAYub,aACZvb,GAAYsb,mBACZtb,GAAY2b,WACZ3b,GAAYob,aACZpb,GAAY+a,YACZ/a,GAAYkb,IAEhB,QACE,MAAO,CAAClb,GAAYkb,OAEzB,oCACD,SAAuBt2D,GACrB,OAAQA,GACN,KAAKw3B,GAAWo9B,QACd,MAAO,CACLxZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4b,gBACZ5b,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY+a,YACZ/a,GAAYkb,IAEhB,KAAK9+B,GAAWq9B,OACd,MAAO,CACLzZ,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4b,gBACZ5b,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY+a,YACZ/a,GAAYkb,IAEhB,KAAK9+B,GAAWs9B,OACd,MAAO,CACL1Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4b,gBACZ5b,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY+a,YACZ/a,GAAYkb,IAEhB,KAAK9+B,GAAWu9B,UACd,MAAO,CACL3Z,GAAYya,wBACZza,GAAY0a,0BACZ1a,GAAY4b,gBACZ5b,GAAY4a,cACZ5a,GAAY6a,eACZ7a,GAAY8a,eACZ9a,GAAYsb,mBACZtb,GAAY+a,YACZ/a,GAAYkb,IAEhB,QACE,MAAO,CAAClb,GAAYkb,SAEzB,EAtSqB,G,0ZCrZ4B,IAwB/BW,GAAM,IAWzB,wBATQ,KAAAC,YAAsC91D,EAU5CZ,KAAK02D,OAAgCC,MAXxBF,iBAA+B71D,EAG/B61D,eAAc,WAI3B,YAHwB71D,IAApB61D,GAAOtwD,WACTswD,GAAOtwD,SAAW,IAAIswD,IAEjBA,GAAOtwD,UAODswD,gBAAe,SAACG,GAC7B,IAAMC,EAAW33D,OAAOwmC,SAASmxB,SAC7Bx4D,EAAuB,KAC3B,OAAQw4D,GACN,IAAK,YACHx4D,EAAQu4D,EAAG,aACX,MACF,IAAK,mBACHv4D,EAAQu4D,EAAG,oBACX,MACF,IAAK,kBACHv4D,EAAQu4D,EAAG,mBACX,MACF,IAAK,kBACHv4D,EAAQu4D,EAAG,mBACX,MACF,IAAK,wBACHv4D,EAAQu4D,EAAG,yBACX,MACF,IAAK,kBACHv4D,EAAQu4D,EAAG,mBACX,MACF,IAAK,iBACHv4D,EAAQu4D,EAAG,kBACX,MACF,QACE,MAAM,IAAIj3D,MAAM,+BAAiCk3D,GAKrD,GAHc,OAAVx4D,IACFA,EAAQu4D,EAAG,YAEC,OAAVv4D,EACF,MAAM,IAAIsB,MAAM,6BAA+Bk3D,GAEjD,OAAOx4D,GAGFo4D,gBAAe,kBACpBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQM,KAAKC,YACjDR,eAAc,kBACnBA,GAAOK,aAAaL,GAAOM,cAAcL,OAAQM,KAAKhpD,WACjDyoD,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,OAAQpqB,QCpFrD,IAAM+qB,GAAkBn4D,OAAOwmC,SAAS4xB,SAASC,WAAW,WACtDC,GAAwBt4D,OAAOwmC,SAAS4xB,SAASC,WACrD,kBAEIE,IACHD,GACG,iBACAH,GACA,UACA,IAAM,eACNK,IACHF,GACG,iBACAH,GACA,UACA,IAAM,gBACNM,IACHH,GACG,iBACAH,GACA,UACA,IAAM,eACNO,GAAgC,CACpCX,UAAWR,GAAOoB,eAClBC,UAAWrB,GAAOsB,cAClBC,aAAcvB,GAAOwB,qBAAuBR,GAC5CS,yBAA0BzB,GAAOwB,qBAAuBP,GACxDS,cAAe,iBACfhB,MAAOV,GAAO2B,WACdC,oBAAqB5B,GAAOwB,qBAAuBN,GACnDW,qBAAsB,IACtBC,sBAAsB,EACtBC,cAAc,GAEVC,GAAc,IAAIC,KAAKC,YAAYf,IACzCc,KAAKE,IAAIC,OAAS/yD,QAClB4yD,KAAKE,IAAIE,MAAQJ,KAAKE,IAAIG,KAE1BN,GAAYO,OAAOC,kBAAiB,WAClCR,GAAYS,aACZpzD,QAAQC,MAAM,qDAGD,I,SAAA,IACbozD,qBAAoB,WAClB,OAAO3B,IAET4B,eAAc,WACZ,OAAO/B,IAETgC,aAAY,WACV,OACEn6D,OAAOwmC,SAASmxB,UAAY33D,OAAOwmC,SAASmxB,SAASU,WAAW,QAGpE+B,QAAO,WACL,OAAOb,GAAYa,WAErBJ,WAAU,WACR,OAAOT,GAAYS,cAErBK,kBAAiB,WAEf,OADAd,GAAYe,kBACLf,GAAYgB,gBAErBC,gBAAe,WACb,OAAOjB,GAAYkB,wBAErBC,sBAAqB,SAACC,GAEpB,OADApB,GAAYe,kBACLf,GAAYqB,eAAe,CAChCC,MAAO,CAAEC,yBAA0BH,MAGvCI,oBAAmB,WACjB,OAAOxB,GAAYyB,0BAErBC,uBAAsB,SAACN,GAErB,OADApB,GAAYe,kBACLf,GAAY2B,gBAAgB,CACjCL,MAAO,CAAEC,yBAA0BH,MAGvCQ,qBAAoB,WAClB,OAAO5B,GAAY6B,4B,aCvFVC,GAAO,CAElBC,SAAU,WACVC,iBAAkB,mBAClBh1D,qBAAsB,uBACtBi1D,eAAgB,iBAChBC,sBAAuB,wBACvB95D,UAAW,YACXG,YAAa,cACb2I,WAAY,aACZixD,aAAc,eAGdt6D,SAAU,WACVkF,MAAO,QACPw0D,yBAA0B,2BAC1Ba,aAAc,eAGdx5D,oBAAqB,sBACrBy5D,cAAe,gBACfC,OAAQ,SACRC,eAAgB,iBAChBC,cAAe,gBAGfC,KAAM,OACNze,WAAY,aACZ0e,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,kmGAAA7iE,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,MAAMi+D,GAAmB,CACvBz5D,SAAU,GACVkF,MAAO,GACPw0D,yBAA0B,GAC1Ba,cAAc,GAGH+D,GAA2C,CACtD7E,MAAOA,GACPx0D,SAAO,YACJg1D,GAAKj6D,UAAW,SAACy5D,GAChB,OAAOA,EAAMz5D,YACd,MACAi6D,GAAK/0D,OAAQ,SAACu0D,GACb,OAAOA,EAAMv0D,SACd,MACA+0D,GAAKP,0BAA2B,SAACD,GAChC,OAAOA,EAAMC,4BACd,MACAO,GAAKM,cAAe,SAACd,GACpB,OAAOA,EAAMc,gBACd,IAEHW,WAAS,YACNA,GAAUU,aAAc,SAACnC,EAAOz5D,GAC/By5D,EAAMz5D,SAAWA,KAClB,MACAk7D,GAAUW,UAAW,SAACpC,EAAOv0D,GAC5Bu0D,EAAMv0D,MAAQA,KACf,MACAg2D,GAAUY,6BAA8B,SAACrC,EAAOF,GAC/CE,EAAMC,yBAA2BH,KAClC,MACA2B,GAAUa,iBAAkB,SAACtC,EAAO17D,GACnC07D,EAAMc,aAAex8D,KACtB,IAEHi/D,SAAO,YACJA,GAAQO,eAAc,+BAAG,WACxBgB,EACA7E,GAAgC,mEAEhC8E,GAAKxF,UACF1yD,MAAK,SAAAuD,GACJ,IAAI40D,EAAmB,IACV,OAAT50D,GAAiBA,EAAM60D,WAAa,IACtCH,EAAQI,SACN3B,GAAQ/D,kBACRS,GAEF+E,EAAmB,MAEnBF,EAAQK,OACN1D,GAAUU,YACV/xD,EAAK6nD,QAAQmN,oBAEfN,EAAQK,OAAO1D,GAAUW,SAAUhyD,EAAKi1D,WAE1C,IAAIC,EAAgB,IAChBP,GAAK1F,mBACPiG,EAAgB,WAEdP,GAAK3F,yBACPkG,EAAgB,kBAElBC,YACE,kBAAMT,EAAQI,SAAS3B,GAAQO,eAAgBwB,KAC/CN,MAGHh4D,OAAM,SAAAhB,GACL84D,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,MAC1C,2CACN,qDAnCsB,IAmCtB,MACAu3D,GAAQQ,YAAW,+BAAG,WACrBe,EACA7E,GAAgC,4FAEzB8E,GAAKlF,sBAAsBI,GAA0BjzD,OAC1D,SAAAhB,GACE84D,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,OAE9C,2CACF,qDATmB,IASnB,MACAu3D,GAAQS,UAAS,+BAAG,WAAMc,GAAO,4FACzBC,GAAK7E,sBACTrzD,MAAK,SAAAuD,GAUJ,GATA00D,EAAQK,OACN1D,GAAUY,4BACVjyD,EAAK4vD,MAAMC,0BAEb6E,EAAQK,OACN1D,GAAUU,YACV/xD,EAAK6nD,QAAQmN,oBAEfN,EAAQK,OAAO1D,GAAUW,SAAUhyD,EAAKi1D,WACnCP,EAAQt5D,QAAQg1D,GAAKM,cAAe,CACvCgE,EAAQK,OAAO1D,GAAUa,iBAAiB,GAC1C,IAAIgD,EAAgB,IAChBP,GAAK1F,mBACPiG,EAAgB,WAEdP,GAAK3F,yBACPkG,EAAgB,kBAElBR,EAAQI,SAAS3B,GAAQO,eAAgBwB,OAG5Ct4D,OAAM,SAAAhB,GACL84D,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,OAC3C,2CACL,mDA3BiB,IA2BjB,MACAu3D,GAAQU,aAAY,+BAAG,WAAOa,EAAShF,GAAY,4FAC3CiF,GAAK3E,uBAAuBN,GAAM9yD,OAAM,SAAAhB,GAC7C84D,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,OAC3C,2CACH,qDAJoB,IAIpB,MACAu3D,GAAQW,WAAU,+BAAG,WAAMY,GAAO,4FAC1BC,GAAKzE,uBACTzzD,MAAK,SAAA24D,GACJV,EAAQK,OAAO1D,GAAUU,YAAa,IACtC2C,EAAQK,OAAO1D,GAAUW,SAAU,IACnC0C,EAAQK,OACN,8BACAK,EAAIxF,MAAMC,6BAGbjzD,OAAM,SAAAhB,GACL84D,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,OAC3C,2CACL,mDAbkB,IAalB,MACAu3D,GAAQ/D,mBAAoB,SAC3BsF,EACA7E,GAEA8E,GAAKvF,oBACF3yD,MAAK,SAAAuD,GACJ00D,EAAQK,OACN1D,GAAUU,YACV/xD,EAAK6nD,QAAQmN,oBAEfN,EAAQK,OAAO1D,GAAUW,SAAUhyD,EAAKi1D,aAEzCr4D,OAAM,SAAAhB,QACSnF,IAAVmF,GAAuC,mBAAhBA,EAAMA,MAC/B84D,EAAQI,SAAS3B,GAAQQ,YAAa9D,GAEtC6E,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,SAGlD,MACAu3D,GAAQ5D,gBAAe,+BAAG,WAAMmF,GAAO,4FAC/BC,GAAKpF,kBAAkB3yD,OAAM,SAAAhB,GAClC84D,EAAQI,SAAS3B,GAAQC,iBAAkBx3D,OAC3C,2CACH,mDAJuB,IAIvB,K,o4BCzJL,I,SAAMg0D,GAAuB,CAC3B14D,oBAAqB,CACnBm+D,aAAc,cAEhB1E,cAAe,GACfC,OAAQ,GACRC,gBAAgB,EAChBC,mBAAer6D,GAGJ6+D,GAAmD,CAC9D1F,MAAOA,GACPx0D,SAAO,YACJg1D,GAAKl5D,qBAAsB,SAAC04D,GAC3B,OAAOA,EAAM14D,uBACd,MACAk5D,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,EAAO10D,GAC1C00D,EAAM14D,oBAAsBgE,KAC7B,MACAm2D,GAAUe,iBAAkB,SAACxC,EAAO/oC,GACnC+oC,EAAMe,cAAgB,GAAH,UAAOf,EAAMe,eAAa,CAAE9pC,OAChD,MACAwqC,GAAUgB,oBAAqB,SAACzC,EAAOv6D,GACtCu6D,EAAMe,cAAgBf,EAAMe,cAAc1pC,QAAO,SAAAvyB,GAAC,OAAIA,EAAEW,KAAOA,QAChE,MACAg8D,GAAUiB,WAAY,SAAC1C,EAAO2F,GAC7B3F,EAAMgB,OAAS,GAAH,UAAOhB,EAAMgB,QAAM,CAAE2E,OAClC,MACAlE,GAAUkB,UAAW,SAAA3C,GACpBA,EAAMgB,OAAShB,EAAMgB,OAAShB,EAAMgB,OAAO37D,MAAM,MAClD,MACAo8D,GAAUmB,mBAAoB,SAAC5C,EAAO4F,GACrC5F,EAAMiB,eAAiB2E,KACxB,MACAnE,GAAUoB,kBAAmB,SAAC7C,EAAO4F,GACpC5F,EAAMkB,cAAgB0E,KACvB,IAEHrC,QAAS,IC3BEsC,GAAgB,SAAC/N,GAC5B,OAAQA,GACN,KAAK/sD,EAAU8vD,OACb,OAAOt2D,GAAE,UACX,KAAKwG,EAAUgwD,SACb,OAAOx2D,GAAE,YACX,KAAKwG,EAAUowD,SACb,OAAO52D,GAAE,YACX,KAAKwG,EAAUkwD,SACb,OAAO12D,GAAE,YACX,QACE,OAAO82D,GAAavD,KAIbgO,GAAgB,SAAChO,GAC5B,OAAQA,GACN,KAAK/sD,EAAU8vD,OACb,MAAO,gBACT,KAAK9vD,EAAUgwD,SACb,MAAO,iBACT,KAAKhwD,EAAUowD,SACb,MAAO,eACT,KAAKpwD,EAAUkwD,SACb,MAAO,YACT,QACE,OAAOI,GAAavD,KAIbvR,GAAgB,SAACuR,GAC5B,OAAOvzD,GAAEwhE,GAAiBjO,KAGfiO,GAAmB,SAACjO,GAC/B,OAAQA,GACN,KAAKjiC,GAAUmwC,KACb,MAAO,OACT,KAAKnwC,GAAUowC,SACb,MAAO,WACT,KAAKpwC,GAAUqwC,UACb,MAAO,YACT,KAAKrwC,GAAUswC,iBACb,MAAO,mBACT,QACE,OAAO9K,GAAavD,KAIbsO,GAAgB,SAACtO,GAC5B,OAAQA,GACN,KAAKjiC,GAAUmwC,KACb,MAAO,YACT,KAAKnwC,GAAUowC,SACb,MAAO,YACT,KAAKpwC,GAAUqwC,UACb,MAAO,YACT,KAAKrwC,GAAUswC,iBACb,MAAO,gBACT,QACE,OAAO9K,GAAavD,KAIbuO,GAAyB,SAACvO,GACrC,OAAOvzD,GAAE+hE,GAA0BxO,KAGxBwO,GAA4B,SAACxO,GACxC,OAAQA,GACN,KAAKzS,GAAmBkhB,KACtB,MAAO,OACT,KAAKlhB,GAAmBmhB,WACtB,MAAO,oBACT,KAAKnhB,GAAmBohB,gBACtB,MAAO,yBACT,KAAKphB,GAAmBqhB,YACtB,MAAO,qBACT,KAAKrhB,GAAmBshB,mBACtB,MAAO,sBACT,QACE,OAAOtL,GAAavD,KAIb8O,GAAyB,SAAC9O,GACrC,OAAQA,GACN,KAAKzS,GAAmBkhB,KACtB,MAAO,YACT,KAAKlhB,GAAmBmhB,WACtB,MAAO,oBACT,KAAKnhB,GAAmBohB,gBACtB,MAAO,sBACT,KAAKphB,GAAmBqhB,YACtB,MAAO,YACT,KAAKrhB,GAAmBshB,mBACtB,MAAO,wBACT,QACE,OAAOtL,GAAavD,KAIb/uB,GAAgB,SAAC+uB,GAC5B,OAAQA,GACN,KAAKl8B,GAAUirC,cACb,OAAOtiE,GAAE,0BACX,KAAKq3B,GAAUkrC,MACb,OAAOviE,GAAE,kBACX,KAAKq3B,GAAUmrC,MACb,OAAOxiE,GAAE,kBACX,KAAKq3B,GAAUorC,UACb,OAAOziE,GAAE,oBACX,KAAKq3B,GAAUqrC,UACb,OAAO1iE,GAAE,sBAEX,KAAKq3B,GAAUsrC,SACb,OAAO3iE,GAAE,2BACX,KAAKq3B,GAAUurC,UACb,OAAO5iE,GAAE,2BACX,KAAKq3B,GAAUwrC,cACb,OAAO7iE,GAAE,+BAEX,KAAKq3B,GAAUyrC,YACb,OAAO9iE,GAAE,wBACX,KAAKq3B,GAAU0rC,YACb,OAAO/iE,GAAE,wBACX,KAAKq3B,GAAU2rC,cACb,OAAOhjE,GAAE,0BACX,KAAKq3B,GAAU4rC,cACb,OAAOjjE,GAAE,0BAEX,KAAKq3B,GAAU6rC,YACb,OAAOljE,GAAE,eACX,KAAKq3B,GAAU8rC,YACb,OAAOnjE,GAAE,eACX,KAAKq3B,GAAU+rC,YACb,OAAOpjE,GAAE,eACX,KAAKq3B,GAAUgsC,YACb,OAAOrjE,GAAE,eACX,KAAKq3B,GAAUisC,YACb,OAAOtjE,GAAE,eACX,KAAKq3B,GAAUksC,YACb,OAAOvjE,GAAE,eACX,KAAKq3B,GAAUmsC,YACb,OAAOxjE,GAAE,eACX,QACE,OAAO82D,GAAavD,KAIbkQ,GAAiB,SAAClQ,GAC7B,OAAQA,GACN,KAAK76B,GAAWo9B,QACd,OAAO91D,GAAE,WACX,KAAK04B,GAAWq9B,OACd,OAAO/1D,GAAE,UACX,KAAK04B,GAAWw9B,SACd,OAAOl2D,GAAE,YACX,KAAK04B,GAAWs9B,OACd,OAAOh2D,GAAE,UACX,KAAK04B,GAAWgrC,iBACd,OAAO1jE,GAAE,oBACX,KAAK04B,GAAWu9B,UACd,OAAOj2D,GAAE,aACX,QACE,OAAO82D,GAAavD,KAIboQ,GAAiB,SAACpQ,EAAezI,GAC5C,OAAQyI,GACN,KAAK76B,GAAWo9B,QACd,OAAIhL,EACK,0BAEF,WACT,KAAKpyB,GAAWq9B,OACd,MAAO,yBACT,KAAKr9B,GAAWw9B,SACd,MAAO,wBACT,KAAKx9B,GAAWs9B,OACd,MAAO,sBACT,KAAKt9B,GAAWgrC,iBACd,MAAO,oBACT,KAAKhrC,GAAWu9B,UACd,MAAO,oBACT,QACE,OAAOa,GAAavD,KAIbhhB,GAAe,SAACghB,GAC3B,OAAQA,GACN,KAAK//B,GAASowC,IACZ,MAAO,MACT,KAAKpwC,GAASqwC,IACZ,MAAO,MACT,KAAKrwC,GAASswC,IACZ,MAAO,MACT,KAAKtwC,GAASuwC,IACZ,MAAO,MACT,KAAKvwC,GAASwwC,IACZ,MAAO,MACT,QACE,OAAOlN,GAAavD,KAIb0Q,GAAU,SAAC9pD,GACtB,OAAO+2B,GAAY/2B,IAGR+pD,GAAe,SAAC3Q,GAC3B,OAAQA,GACN,KAAKhV,GAAiB4lB,YACpB,OAAOnkE,GAAE,wBACX,KAAKu+C,GAAiB6lB,cACpB,OAAOpkE,GAAE,wBACX,QACE,OAAO82D,GAAavD,KAIbn0B,GAAqB,SAACm0B,GACjC,OAAQA,GACN,KAAKpoB,GAAek5B,OAClB,OAAOrkE,GAAE,UACX,KAAKmrC,GAAem5B,MAClB,OAAOtkE,GAAE,SACX,KAAKmrC,GAAeo5B,aAClB,OAAOvkE,GAAE,gBACX,KAAKmrC,GAAeq5B,WAClB,OAAOxkE,GAAE,cACX,QACE,OAAO82D,GAAavD,KAIbkR,GAAsB,SAAClR,GAClC,OAAQA,GACN,KAAKnoB,GAAgBs5B,QACnB,OAAO1kE,GAAE,WACX,KAAKorC,GAAgBu5B,eACnB,OAAO3kE,GAAE,kBACX,KAAKorC,GAAgBs4B,iBACnB,OAAO1jE,GAAE,oBACX,KAAKorC,GAAgBo5B,WACnB,OAAOxkE,GAAE,cACX,QACE,OAAO82D,GAAavD,KAIbqR,GAAc,SAACrR,GAC1B,OAAQA,GACN,KAAKliC,GAAQ0gC,QACX,OAAO/xD,GAAE,WACX,KAAKqxB,GAAQghC,QACX,OAAOryD,GAAE,mBACX,KAAKqxB,GAAQkhC,UACX,OAAOvyD,GAAE,aACX,KAAKqxB,GAAQ8gC,QACX,OAAOnyD,GAAE,WACX,QACE,OAAO82D,GAAavD,KAIbsR,GAAkB,SAACtR,GAC9B,OAAQA,GACN,KAAKlU,GAAYylB,MACf,OAAO9kE,GAAE,SACX,KAAKq/C,GAAY0lB,IACf,MAAO,MACT,QACE,OAAOjO,GAAavD,KAIbyR,GAAc,SAACzR,GAC1B,OAAQA,GACN,KAAK/tB,GAAQy/B,UACX,OAAOjlE,GAAE,oBACX,KAAKwlC,GAAQ0/B,SACX,OAAOllE,GAAE,mBACX,KAAKwlC,GAAQk8B,SACX,OAAO1hE,GAAE,mBACX,KAAKwlC,GAAQm8B,UACX,OAAO3hE,GAAE,oBACX,KAAKwlC,GAAQo8B,iBACX,OAAO5hE,GAAE,2BACX,KAAKwlC,GAAQ2/B,oBACX,OAAOnlE,GAAE,8BACX,KAAKwlC,GAAQ4/B,kBACX,OAAOplE,GAAE,4BACX,KAAKwlC,GAAQ6/B,uBACX,OAAOrlE,GAAE,iCACX,KAAKwlC,GAAQ8/B,YACX,OAAOtlE,GAAE,sBACX,KAAKwlC,GAAQ+/B,YACX,OAAOvlE,GAAE,sBACX,KAAKwlC,GAAQggC,aACX,OAAOxlE,GAAE,uBACX,KAAKwlC,GAAQigC,YACX,OAAOzlE,GAAE,sBACX,KAAKwlC,GAAQkgC,cACX,OAAO1lE,GAAE,wBACX,KAAKwlC,GAAQmgC,mBACX,OAAO3lE,GAAE,sBACX,KAAKwlC,GAAQogC,WACX,OAAO5lE,GAAE,cACX,QACE,OAAO82D,GAAavD,KAIbsS,GAAoB,SAACtS,GAChC,OAAQA,GACN,KAAKnf,GAAc0xB,mBACjB,OAAO9lE,GAAE,sBACX,KAAKo0C,GAAckwB,MACjB,OAAOtkE,GAAE,SACX,KAAKo0C,GAAc2xB,cACjB,OAAO/lE,GAAE,iBACX,QACE,OAAO82D,GAAavD,KAIbyS,GAAc,SAACzS,GAC1B,OAAQA,GACN,KAAKxC,GAAQkV,QACX,OAAOjmE,GAAE,YACX,KAAK+wD,GAAQmV,SACX,OAAOlmE,GAAE,aACX,KAAK+wD,GAAQoV,OACX,OAAOnmE,GAAE,WACX,QACE,OAAO82D,GAAavD,KAIb6S,GAAgB,SAAC7S,GAC5B,OAAQA,GACN,KAAK9sD,EAAU4/D,YACb,MAAO,cACT,KAAK5/D,EAAU6/D,OACb,MAAO,SACT,KAAK7/D,EAAU8/D,KACb,MAAO,OACT,KAAK9/D,EAAU+/D,MACb,MAAO,QACT,KAAK//D,EAAUggE,WACb,MAAO,aACT,QACE,OAAO3P,GAAavD,KAIbmT,GAAwB,SAACnT,GACpC,OAAQA,GACN,KAAKhiC,GAAkBo1C,YACrB,OAAO3mE,GAAE,gBACX,KAAKuxB,GAAkBq1C,UACrB,OAAO5mE,GAAE,cACX,KAAKuxB,GAAkBs1C,KACrB,OAAO7mE,GAAE,uBACX,KAAKuxB,GAAkBu1C,MACrB,OAAO9mE,GAAE,SACX,QACE,OAAO82D,GAAavD,KAIbwT,GAAmB,SAACxT,GAC/B,OAAQA,GACN,KAAK/gC,GAAaw0C,2BAChB,OAAOhnE,GAAE,6BACX,KAAKwyB,GAAay0C,oBAChB,OAAOjnE,GAAE,gBACX,KAAKwyB,GAAa00C,yBAChB,OAAOlnE,GAAE,iBACX,KAAKwyB,GAAa20C,iBAChB,OAAOnnE,GAAE,oBACX,KAAKwyB,GAAa40C,gBAChB,OAAOpnE,GAAE,mBACX,KAAKwyB,GAAa60C,YAChB,OAAOrnE,GAAE,YACX,KAAKwyB,GAAa80C,WAChB,OAAOtnE,GAAE,eACX,KAAKwyB,GAAa+0C,aAChB,OAAOvnE,GAAE,iBACX,KAAKwyB,GAAag1C,WAChB,OAAOxnE,GAAE,eACX,KAAKwyB,GAAai1C,cAChB,OAAOznE,GAAE,kBACX,KAAKwyB,GAAak1C,eAChB,OAAO1nE,GAAE,eACX,KAAKwyB,GAAam1C,aAChB,OAAO3nE,GAAE,iBACX,KAAKwyB,GAAao1C,qBAChB,OAAO5nE,GAAE,0BACX,KAAKwyB,GAAaq1C,cAChB,OAAO7nE,GAAE,iBACX,KAAKwyB,GAAas1C,mBAChB,MAAO,GAAP,OAAU9nE,GAAE,YAAW,aAAKA,GAAE,gBAAe,KAC/C,KAAKwyB,GAAau1C,kBAChB,MAAO,GAAP,OAAU/nE,GAAE,eAAc,aAAKA,GAAE,gBAAe,KAClD,KAAKwyB,GAAaw1C,oBAChB,MAAO,GAAP,OAAUhoE,GAAE,iBAAgB,aAAKA,GAAE,gBAAe,KACpD,KAAKwyB,GAAay1C,kBAChB,MAAO,GAAP,OAAUjoE,GAAE,eAAc,aAAKA,GAAE,gBAAe,KAClD,KAAKwyB,GAAa01C,qBAChB,MAAO,GAAP,OAAUloE,GAAE,kBAAiB,aAAKA,GAAE,gBAAe,KACrD,KAAKwyB,GAAa21C,gBAChB,MAAO,GAAP,OAAUnoE,GAAE,eAAc,aAAKA,GAAE,gBAAe,KAClD,KAAKwyB,GAAa41C,oBAChB,MAAO,GAAP,OAAUpoE,GAAE,iBAAgB,aAAKA,GAAE,gBAAe,KACpD,KAAKwyB,GAAa61C,uBAChB,OAAOroE,GAAE,kBACX,KAAKwyB,GAAa81C,qBAChB,OAAOtoE,GAAE,gBACX,KAAKwyB,GAAa+1C,wBAChB,OAAOvoE,GAAE,oBACX,KAAKwyB,GAAag2C,sBAChB,OAAOxoE,GAAE,kBACX,KAAKwyB,GAAai2C,wBAChB,OAAOzoE,GAAE,mBACX,KAAKwyB,GAAak2C,aAChB,OAAO1oE,GAAE,QACX,KAAKwyB,GAAam2C,oBAChB,OAAO3oE,GAAE,eACX,KAAKwyB,GAAao2C,oBAChB,OAAO5oE,GAAE,eACX,KAAKwyB,GAAaq2C,oBAChB,OAAO7oE,GAAE,eACX,KAAKwyB,GAAas2C,kBAChB,OAAO9oE,GAAE,aACX,KAAKwyB,GAAau2C,gBAChB,OAAO/oE,GAAE,WACX,KAAKwyB,GAAaw2C,yBAChB,OAAOhpE,GAAE,oBACX,KAAKwyB,GAAay2C,2BAChB,OAAOjpE,GAAE,sBACX,KAAKwyB,GAAa02C,wBAChB,OAAOlpE,GAAE,mBACX,KAAKwyB,GAAa22C,sBAChB,OAAOnpE,GAAE,iBACX,KAAKwyB,GAAa42C,wBAChB,OAAOppE,GAAE,0BACX,KAAKwyB,GAAa62C,aAChB,OAAOrpE,GAAE,QACX,KAAKwyB,GAAa82C,mBAChB,OAAOtpE,GAAE,qBACX,KAAKwyB,GAAa+2C,iBAChB,OAAOvpE,GAAE,YACX,KAAKwyB,GAAag3C,6BAChB,OAAOxpE,GAAE,wBACX,KAAKwyB,GAAai3C,2BAChB,OAAOzpE,GAAE,sBACX,KAAKwyB,GAAak3C,kBAChB,OAAO1pE,GAAE,aACX,KAAKwyB,GAAam3C,aAChB,OAAO3pE,GAAE,QACX,KAAKwyB,GAAao3C,iBAChB,OAAO5pE,GAAE,YACX,KAAKwyB,GAAaq3C,kBAChB,OAAO7pE,GAAE,aACX,KAAKwyB,GAAas3C,uBAChB,OAAO9pE,GAAE,sBACX,KAAKwyB,GAAau3C,gBAChB,OAAO/pE,GAAE,WACX,KAAKwyB,GAAaw3C,mBAChB,OAAOhqE,GAAE,cACX,KAAKwyB,GAAay3C,sBAChB,OAAOjqE,GAAE,iBACX,KAAKwyB,GAAa03C,eAChB,OAAOlqE,GAAE,UACX,KAAKwyB,GAAa23C,eAChB,OAAOnqE,GAAE,UACX,KAAKwyB,GAAa43C,iBAChB,OAAOpqE,GAAE,YACX,KAAKwyB,GAAa63C,2BAChB,OAAOrqE,GAAE,sBACX,KAAKwyB,GAAa83C,YAChB,OAAOtqE,GAAE,SACX,KAAKwyB,GAAa+3C,yBAChB,OAAOvqE,GAAE,oBACX,KAAKwyB,GAAag4C,2BAChB,OAAOxqE,GAAE,sBACX,KAAKwyB,GAAai4C,iBAChB,OAAOzqE,GAAE,YACX,KAAKwyB,GAAak4C,mBAChB,OAAO1qE,GAAE,cACX,KAAKwyB,GAAam4C,kBAChB,OAAO3qE,GAAE,cACX,KAAKwyB,GAAao4C,iBAChB,OAAO5qE,GAAE,YACX,KAAKwyB,GAAaq4C,YAChB,OAAO7qE,GAAE,OACX,KAAKwyB,GAAas4C,YAChB,OAAO9qE,GAAE,OACX,KAAKwyB,GAAau4C,kBAChB,OAAO/qE,GAAE,aACX,QACE,OAAO82D,GAAavD,KAIbyX,GAAqC,SAChDzX,GAEA,OAAQA,GACN,KAAK9gC,GAA+Bw4C,SAClC,OAAOjrE,GAAE,eACX,KAAKyyB,GAA+By4C,YAClC,OAAOlrE,GAAE,gBACX,QACE,OAAO82D,GAAavD,KAIb4X,GAAkB,SAAC5X,GAC9B,OAAQA,GACN,KAAK1G,GAAYue,QACf,OAAOprE,GAAE,sBACX,KAAK6sD,GAAYwe,WACf,OAAOrrE,GAAE,0BACX,KAAK6sD,GAAYye,MACf,OAAOtrE,GAAE,mBACX,QACE,OAAO82D,GAAavD,KAIbgY,GAAoB,SAAChY,GAChC,OAAQA,GACN,KAAKlN,GAA2BmlB,QAC9B,OAAOxrE,GAAE,eACX,KAAKqmD,GAA2BolB,UAC9B,OAAOzrE,GAAE,kBACX,QACE,OAAO82D,GAAavD,KAIbmY,GAAc,SAACnY,GAC1B,OAAQA,GACN,KAAKl4B,GAAQswC,eACX,MAAO,kBACT,KAAKtwC,GAAQuwC,iBACX,OAAO5rE,GAAE,oBACX,KAAKq7B,GAAQwwC,qBACX,OAAO7rE,GAAE,wBACX,KAAKq7B,GAAQywC,aACX,OAAO9rE,GAAE,gBACX,KAAKq7B,GAAQ0wC,gBACX,OAAO/rE,GAAE,mBACX,KAAKq7B,GAAQ2wC,aACX,OAAOhsE,GAAE,gBACX,QACE,OAAO82D,GAAavD,KAIb0Y,GAAkB,SAAC1Y,GAC9B,OAAQA,GACN,KAAK3sB,GAAYslC,OACf,OAAOlsE,GAAE,qCACX,KAAK4mC,GAAYulC,MACf,OAAOnsE,GAAE,SACX,KAAK4mC,GAAY0vB,OACf,OAAOt2D,GAAE,UACX,KAAK4mC,GAAYwlC,OACf,MAAO,SACT,KAAKxlC,GAAYylC,QACf,OAAOrsE,GAAE,gBACX,KAAK4mC,GAAY09B,MACf,OAAOtkE,GAAE,gBACX,QACE,OAAO82D,GAAavD,KAIb+Y,GAAe,SAAC/Y,GAC3B,OAAQA,GACN,KAAKpiB,GAAmBo7B,MACtB,OAAOvsE,GAAE,SACX,KAAKmxC,GAAmBq7B,UACtB,OAAOxsE,GAAE,aACX,KAAKmxC,GAAmBs7B,QACtB,OAAOzsE,GAAE,0BACX,KAAKmxC,GAAmBu7B,SACtB,OAAO1sE,GAAE,2BAA2BkI,QAAQ,MAAO,KACrD,KAAKipC,GAAmBw7B,SACtB,OAAO3sE,GAAE,2BACX,KAAKmxC,GAAmBy7B,UACtB,OAAO5sE,GAAE,4BAA4BkI,QAAQ,MAAO,KACtD,KAAKipC,GAAmB07B,QACtB,OAAO7sE,GAAE,0BACX,QACE,OAAO82D,GAAavD,KAIbuZ,GAAkB,SAACvZ,GAC9B,OAAQA,GACN,KAAKniB,GAAsBm7B,MACzB,OAAOvsE,GAAE,SACX,KAAKoxC,GAAsB27B,SACzB,OAAO/sE,GAAE,YACX,KAAKoxC,GAAsBq7B,QACzB,OAAOzsE,GAAE,6BACX,KAAKoxC,GAAsBs7B,SACzB,OAAO1sE,GAAE,8BAA8BkI,QAAQ,MAAO,KACxD,KAAKkpC,GAAsBu7B,SACzB,OAAO3sE,GAAE,8BACX,KAAKoxC,GAAsBw7B,UACzB,OAAO5sE,GAAE,+BAA+BkI,QAAQ,MAAO,KACzD,KAAKkpC,GAAsB47B,SACzB,OAAOhtE,GAAE,8BACX,QACE,OAAO82D,GAAavD,KAIb0Z,GAAqB,SAAC1Z,GACjC,OAAQA,GACN,KAAKlX,GAAmB6wB,QACtB,OAAOltE,GAAE,WACX,KAAKq8C,GAAmB8a,eACtB,OAAOn3D,GAAE,kBACX,KAAKq8C,GAAmB8wB,WACtB,OAAOntE,GAAE,UACX,KAAKq8C,GAAmBsb,WACtB,OAAO33D,GAAE,UACX,KAAKq8C,GAAmB+wB,YACtB,OAAOptE,GAAE,aACX,KAAKq8C,GAAmBgxB,aACtB,OAAOrtE,GAAE,gBACX,KAAKq8C,GAAmBixB,iBACtB,OAAOttE,GAAE,oBACX,KAAKq8C,GAAmB+a,eACtB,OAAOp3D,GAAE,kBACX,KAAKq8C,GAAmBob,iBACtB,OAAOz3D,GAAE,oBACX,KAAKq8C,GAAmBub,mBACtB,OAAO53D,GAAE,sBACX,KAAKq8C,GAAmB0b,kBACtB,OAAO/3D,GAAE,kBACX,KAAKq8C,GAAmByb,UACtB,OAAO93D,GAAE,eACX,QACE,OAAO82D,GAAavD,KAIbga,GAA2B,SAACha,GACvC,OAAQA,GACN,KAAKthB,GAAqBu7B,aACxB,OAAOxtE,GAAE,gBACX,KAAKiyC,GAAqBw7B,sBACxB,OAAOztE,GAAE,sBACX,KAAKiyC,GAAqBy7B,mBACxB,OAAO1tE,GAAE,sBACX,KAAKiyC,GAAqB07B,uBACxB,OAAO3tE,GAAE,+BACX,KAAKiyC,GAAqB27B,gBACxB,OAAO5tE,GAAE,mBACX,KAAKiyC,GAAqB47B,0BACxB,MAAO,6BACT,KAAK57B,GAAqBk1B,iBACxB,OAAOnnE,GAAE,oBACX,KAAKiyC,GAAqB67B,aACxB,MAAO,gBACT,QACE,OAAOhX,GAAavD,KAIbwa,GAAmB,SAACxa,GAC/B,OAAQA,GACN,KAAKlkB,GAAa2+B,OAChB,MAAO,SACT,KAAK3+B,GAAa4+B,OAChB,MAAO,SACT,KAAK5+B,GAAa6+B,SAChB,MAAO,WACT,KAAK7+B,GAAahuC,MAChB,MAAO,QACT,KAAKguC,GAAa8+B,QAChB,MAAO,UACT,KAAK9+B,GAAa++B,KAChB,MAAO,OACT,QACE,OAAOtX,GAAavD,KAIb8a,GAAuB,SAAC9a,GACnC,OAAQA,GACN,KAAK35B,GAAiB00C,QACpB,OAAOtuE,GAAE,WACX,KAAK45B,GAAiBsyC,OACpB,OAAOlsE,GAAE,UACX,KAAK45B,GAAiB20C,KACpB,OAAOvuE,GAAE,WACX,KAAK45B,GAAiB40C,eACpB,OAAOxuE,GAAE,kBACX,KAAK45B,GAAiB/G,QACpB,OAAO7yB,GAAE,WACX,KAAK45B,GAAiB60C,YACpB,OAAOzuE,GAAE,eACX,KAAK45B,GAAiB80C,OACpB,OAAO1uE,GAAE,iBACX,KAAK45B,GAAiB+0C,QACpB,OAAO3uE,GAAE,WACX,KAAK45B,GAAiBg1C,QACpB,OAAO5uE,GAAE,WACX,QACE,OAAO82D,GAAavD,KAIbsb,GAA6B,SACxCtb,GAEA,OAAQA,GACN,KAAKxL,GAAuB+mB,IAC1B,OAAO9uE,GAAE,kBACX,KAAK+nD,GAAuBgnB,MAC1B,OAAO/uE,GAAE,4BACX,QACE,OAAO82D,GAAavD,KAIbyb,GAAoB,SAACzb,GAChC,OAAQA,GACN,KAAKtjB,GAAcg/B,gBACjB,OAAOjvE,GAAE,UACX,KAAKiwC,GAAci/B,qBACjB,OAAOlvE,GAAE,WACX,KAAKiwC,GAAck/B,6BACjB,OAAOnvE,GAAE,UACX,QACE,OAAO82D,GAAavD,KAIb6b,GAAmB,SAAC7b,GAC/B,OAAQA,GACN,KAAK31B,GAAayxC,QAChB,OAAOrvE,GAAE,WACX,KAAK49B,GAAaowC,OAChB,OAAOhuE,GAAE,0BACX,KAAK49B,GAAa0xC,UAChB,OAAOtvE,GAAE,aACX,QACE,OAAO82D,GAAavD,KAIbgc,GAAsB,SAAChc,GAClC,OAAQA,GACN,KAAK1D,GAAgB4R,KACnB,OAAOzhE,GAAE,QACX,KAAK6vD,GAAgB6R,SACnB,OAAO1hE,GAAE,YACX,KAAK6vD,GAAgB8R,UACnB,OAAO3hE,GAAE,aACX,KAAK6vD,GAAgB+R,iBACnB,OAAO5hE,GAAE,oBACX,KAAK6vD,GAAgByf,UACnB,OAAOtvE,GAAE,aACX,KAAK6vD,GAAgBwf,QACnB,OAAOrvE,GAAE,WACX,QACE,OAAO82D,GAAavD,KAMpBic,GAA0B,SAACjc,GAC/B,OAAQA,GACN,KAAKjiC,GAAUmwC,KACb,MAAO,GAAP,OAAUzhE,GAAE,eAAc,cAAMA,GAAE,SAAQ,cAAMA,GAAE,aAAY,cAAMA,GAClE,eAEJ,KAAKsxB,GAAUowC,SACb,MAAO,GAAP,OAAU1hE,GAAE,gBACd,KAAKsxB,GAAUqwC,UACb,MAAO,GAAP,OAAU3hE,GAAE,eAAc,cAAMA,GAAE,kBAAiB,cAAMA,GACvD,eAEJ,KAAKsxB,GAAUswC,iBACb,MAAO,GAAP,OAAU5hE,GAAE,eAAc,cAAMA,GAAE,aAAY,cAAMA,GAAE,aAAY,cAAMA,GACtE,aACD,cAAMA,GAAE,aAAY,cAAMA,GAAE,cAAa,cAAMA,GAAE,gBAAe,cAAMA,GACrE,QAEJ,QACE,OAAO82D,GAAavD,KAIpBkc,GAA0B,SAAClc,GAC/B,OAAQA,GACN,KAAKjiC,GAAUmwC,KACb,MAAO,GAAP,OAAUzhE,GAAE,eACd,KAAKsxB,GAAUowC,SACb,MAAO,GAAP,OAAU1hE,GAAE,eACd,KAAKsxB,GAAUqwC,UACb,MAAO,GAAP,OAAU3hE,GAAE,cAAa,cAAMA,GAAE,mBACnC,KAAKsxB,GAAUswC,iBACb,MAAO,GAAP,OAAU5hE,GAAE,eACd,QACE,OAAO82D,GAAavD,KAIbmc,GAAsB,SAACnc,GAClC,MAAO,GAAP,OAAUvzD,GAAE,gBAAe,cAAMwvE,GAAwBjc,KAG9Coc,GAAgC,SAACpc,GAC5C,MAAO,GAAP,OAAUvzD,GAAE,gBAAe,cAAMA,GAAE,gBAGxB4vE,GAA2B,SAACrc,GACvC,MAAO,GAAP,OAAUvzD,GAAE,iBAAgB,cAAMA,GAChC,gBACD,cAAMyvE,GAAwBlc,KAGpBsc,GAA0B,SAACtc,GACtC,MAAO,GAAP,OAAUvzD,GAAE,iBAAgB,cAAMwvE,GAChCjc,GACD,cAAMkc,GAAwBlc,KAGpBuc,GAAgC,SAACvc,GAC5C,MAAO,GAAP,OAAUvzD,GAAE,iBAAgB,cAAMA,GAChC,cACD,cAAMyvE,GAAwBlc,K,o4BCh2BjC,IAAMkI,GAAmB,CACvBsU,MAAO,GACPj0B,YAAa,IAGFk0B,GAA2C,CACtDvU,MAAOA,GACPx0D,SAAO,YACJg1D,GAAKW,MAAO,SAACnB,GACZ,OAAO,SAAC1oD,GACN,OAAO0oD,EAAMsU,MAAM9c,MAAK,SAAA/zD,GAAC,OAAIA,EAAE6T,SAAWA,SAE7C,MACAkpD,GAAK9d,YAAa,SACjBsd,EACAx0D,GAIA,OAAO,SACLgpE,EACA/tD,GAEA,SAAK+tD,IAAa/tD,EAAQxkB,SAGnBwkB,EAAQguD,MACb,SAAAhvE,GAAE,OACA+F,EAAQg1D,GAAKY,aAAa37D,GAAI+xD,MAC5B,SAACkd,GAAa,OAAKA,EAAEjvE,KAAO+uE,KAC3B9xB,kBAGV,MACA8d,GAAKY,aAAc,SAACpB,GACnB,OAAO,SAAC1oD,GACN,IAAM8pD,EAA4B,CAChC,IAAIrH,GACFzX,GAAqBqyB,QACrB,UACA,+BAEF,IAAI5a,GAAWzX,GAAqBsyB,WAAY,OAAQ,cACxD,IAAI7a,GACFzX,GAAqBuyB,KACrB,OACA,0BAEF,IAAI9a,GACFzX,GAAqB8oB,KACrB,YACA,uBAEF,IAAIrR,GACFzX,GAAqBwyB,QACrB,UACA,qBAEF,IAAI/a,GACFzX,GAAqByyB,OACrB,SACA,2BAEF,IAAIhb,GACFzX,GAAqB0yB,iBACrB,kBACA9M,GAAejrC,GAAWo9B,SAAS,IAErC,IAAIN,GACFzX,GAAqB2yB,eACrB,mBACA/M,GAAejrC,GAAWo9B,SAAS,IAErC,IAAIN,GACFzX,GAAqB4yB,mBACrB,mBACAhN,GAAejrC,GAAWo9B,SAAS,IAErC,IAAIN,GACFzX,GAAqB6yB,QACrB,cACA,oBAEF,IAAIpb,GACFzX,GAAqB8yB,OACrB,SACA,2BAEF,IAAIrb,GACFzX,GAAqB+yB,aACrB,OACA,cAEF,IAAItb,GACFzX,GAAqBgzB,MACrB,QACA,yBAEF,IAAIvb,GACFzX,GAAqBizB,UACrB,aACA,6BAEF,IAAIxb,GACFzX,GAAqBkzB,gBACrB,kBACA,oBAEF,IAAIzb,GACFzX,GAAqBmzB,cACrB,iBACA,qBAEF,IAAI1b,GACFzX,GAAqBozB,sBACrB,YACA,kCAEF,IAAI3b,GACFzX,GAAqBqzB,gBACrB,kBACA,sBAGEC,EAAa5V,EAAM3f,YAAYmX,MAAK,SAAAvyD,GAAC,OAAIA,EAAEqS,SAAWA,KACtDirC,EAAiBqzB,EAAaA,EAAWrzB,eAAkB,GAUjE,OARA6e,EAAY97D,KAAI,SAAAovE,GACdA,EAAEjyB,aAEA57C,IADA07C,EAAeiV,MAAK,SAAAqe,GAAE,OAAIA,EAAGlzB,SAAW+xB,EAAEjvE,IAAMowE,EAAGpzB,WAErDiyB,EAAEhyB,gBAEA77C,IADA07C,EAAeiV,MAAK,SAAAqe,GAAE,OAAIA,EAAGlzB,SAAW+xB,EAAEjvE,IAAMowE,EAAGnzB,iBAGhD0e,MAEV,IAEHK,WAAS,YACNA,GAAUqB,UAAW,SAAC9C,EAAOsU,GAC5BtU,EAAMsU,MAAQA,KACf,MACA7S,GAAUsB,YAAa,SAAC/C,EAAOsU,GAC9BtU,EAAMsU,MAAQ,GAAH,UACNtU,EAAMsU,MAAMj9C,QAAO,SAAA5zB,GAAC,OAAK6wE,EAAMG,MAAK,SAAAqB,GAAE,OAAIA,EAAGx+D,SAAW7T,EAAE6T,cAAQ,GAClEg9D,OAEN,MACA7S,GAAUuB,YAAa,SAAChD,EAAOv5C,GAC9Bu5C,EAAMsU,MAAQtU,EAAMsU,MAAMj9C,QAAO,SAAA5zB,GAAC,OAAKgjB,EAAQoxC,SAASp0D,EAAE6T,cAC3D,MACAmqD,GAAUwB,WAAY,SAAAjD,GACrBA,EAAMsU,MAAMhvE,KAAI,SAAA7B,GAAC,OAAIA,EAAEmxC,oBACxB,MACA6sB,GAAUyB,gBAAiB,SAC1BlD,EACA3f,GAEA2f,EAAM3f,YAAc,GAAH,UACZA,GAAW,GACX2f,EAAM3f,YAAYhpB,QACnB,SAAApyB,GAAC,OAAKo7C,EAAYo0B,MAAK,SAAA3c,GAAC,OAAIA,EAAExgD,SAAWrS,EAAEqS,kBAGhD,IAEHisD,SAAO,YACJA,GAAQY,YAAa,SAACW,EAASr+C,GAC9B,OAAO,IAAIwB,GAAY,IAAI/c,EAAiB45D,IACzCjiB,WAAWp8B,GACX5Z,MAAK,SAAA24D,GACJV,EAAQK,OAAO1D,GAAUqB,SAAU0C,SAExC,MACAjC,GAAQpC,MAAO,SAAC2D,EAASr+C,GACxB,OAAO,IAAIwB,GAAY,IAAI/c,EAAiB45D,IACzC3D,KAAK16C,GACL5Z,MAAK,SAAA24D,GAEJ,OADAV,EAAQK,OAAO1D,GAAUsB,WAAYyC,GAC9B/+C,EAAQsvD,OAAM,SAAAtwE,GAAE,OACrB+/D,EAAIiP,MACF,SAAAtwE,GAAC,OACCA,EAAEmT,SAAW7R,GACbtB,EAAE0+C,aAAeD,GAAWozB,gCAIvC,MACAzS,GAAQa,QAAS,SAACU,EAASr+C,GAC1B,OAAO,IAAIwB,GAAY,IAAI/c,EAAiB45D,IACzCV,OAAO39C,GACP5Z,MAAK,WACJi4D,EAAQK,OAAO1D,GAAUuB,WAAYv8C,SAE1C,MACA88C,GAAQc,kBAAmB,SAACS,EAASr+C,GAEpC,OADAq+C,EAAQK,OAAO1D,GAAUyB,eAAgB,IAClC,IAAIj7C,GAAY,IAAI/c,EAAiB45D,IACzCviB,eAAe97B,GACf5Z,MAAK,SAAA24D,GACJV,EAAQK,OAAO1D,GAAUyB,eAAgBsC,SAE9C,KCzKU,YACb32D,EACA6mB,EACApiB,EACAqwC,GAEA,IAAIsyB,EACJ,OAAQpnE,GACN,KAAK4mB,GAAsBygD,gBACzBD,EAAOE,GAAoCzgD,EAAWiuB,GACtD,MACF,KAAKluB,GAAsB2gD,kBACzBH,EAAOE,GAAoCzgD,EAAWiuB,GACtD,MACF,KAAKluB,GAAsB4gD,kBACzBJ,EAAOK,GAAsC5gD,EAAWiuB,GACxD,MACF,KAAKluB,GAAsB8gD,oBACzBN,EAAOO,GAAwC9gD,EAAWiuB,GAC1D,MACF,KAAKluB,GAAsBghD,SACzBR,EAAOS,GAAyBhhD,EAAWiuB,GAC3C,MACF,KAAKluB,GAAsBkhD,QACzBV,EAAOW,GAAkBlhD,EAAWpiB,EAAWqwC,GAC/C,MACF,KAAKluB,GAAsBohD,WACzBZ,EAAOa,GAA4BnzB,GACnC,MACF,KAAKluB,GAAsBshD,iBACzBd,EAAOe,GAA2BrzB,GAClC,MACF,KAAKluB,GAAsBs9C,eACzBkD,EAAOgB,GAAyBtzB,GAChC,MACF,KAAKluB,GAAsByhD,WACzBjB,EAAOkB,GAA+BxzB,GACtC,MACF,KAAKluB,GAAsB2hD,cACzBnB,EAAOoB,GAAkC1zB,GACzC,MACF,KAAKluB,GAAsB6hD,qBACzBrB,EAAOsB,GAAyC5zB,GAChD,MACF,KAAKluB,GAAsB+hD,0BACzBvB,EAAOwB,GAA8C9zB,GACrD,MACF,KAAKluB,GAAsBiiD,gBACzBzB,EAAO0B,GAAoCh0B,GAC3C,MACF,KAAKluB,GAAsBmiD,eACzB3B,EAAO4B,GAAmCl0B,GAC1C,MACF,KAAKluB,GAAsBqiD,YACzB7B,EAAO8B,GAA+Bp0B,GACtC,MACF,KAAKluB,GAAsBqjC,0BACzBmd,EAAO+B,GAAuCr0B,GAC9C,MACF,KAAKluB,GAAsB8iC,sBACzB0d,EAAOgC,GAA4Bt0B,GACnC,MACF,KAAKluB,GAAsBijC,cACzBud,EAAOiC,GAAoBv0B,GAC3B,MACF,KAAKluB,GAAsB0iD,qBACzBlC,EAAOmC,GAAyCz0B,GAChD,MACF,KAAKluB,GAAsB60C,cACzB2L,EAAOoC,GAAkC10B,GACzC,MACF,KAAKluB,GAAsB6iD,iBACzBrC,EAAOsC,GAAqC50B,GAC5C,MACF,KAAKluB,GAAsB+iD,aACzBvC,EAAOwC,GAAiC90B,GACxC,MACF,KAAKluB,GAAsBijD,oBACzBzC,EAAO0C,GAAwCh1B,GAC/C,MACF,KAAKluB,GAAsBmjD,WACzB3C,EAAO4C,KACP,MACF,KAAKpjD,GAAsBqjD,SACzB7C,EAAO8C,KACP,MACF,KAAKtjD,GAAsBujD,SACzB/C,EAAOgD,KACP,MACF,KAAKxjD,GAAsByjD,iBACzBjD,EAAOkD,KACP,MACF,KAAK1jD,GAAsB2jD,QACzBnD,EAAOoD,KACP,MACF,QACEhe,GAAaxsD,GAGjB,MAAO,CACLA,KAAMA,EACN6mB,UAAWA,EACXugD,KAAMA,IAIV,SAASE,GACPtjE,EACA8wC,GAEA,IAAIxuC,EAAiB,IAAIsiC,GAA8B,CACrD5kC,UAAWA,EACX6kC,kBAAc7wC,EACd4jB,eAAW5jB,EACXkK,gBAAYlK,EACZ8wC,iBAAa9wC,EACbs1B,cAAe,KACfG,gBAAiB,KACjBsb,qBAAsB,KACtBC,uBAAwB,KACxBC,sBAAuB,KACvBC,wBAAyB,KACzBlB,IAAK,KACLjuC,KAAM,IAAIf,EACVuvC,eAAe,EACfY,kBAAmBshC,GACnBr5D,mBAAepZ,EACfoxC,mBAAoB,IAEtB,IACE,IAAMshC,EAASrrE,KAAKsrE,MAAM71B,QACN98C,IAAhB0yE,EAAO3wE,OACT2wE,EAAO3wE,KAAO6wE,GAAiBF,EAAO3wE,YAEP/B,IAA7B0yE,EAAOvhC,oBACTuhC,EAAOvhC,kBAAoByhC,GAAiBF,EAAOvhC,yBAExBnxC,IAAzB0yE,EAAOt5D,gBACTs5D,EAAOt5D,cAAgBw5D,GAAiBF,EAAOt5D,gBAEjD9K,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAET,OADAmJ,EAAeiiC,eAAgB,EACxBjiC,EAGT,SAASmhE,GACPzjE,EACA8wC,GAEA,IAAIxuC,EAAiB,IAAIy+C,GAAgC,CACvD/gD,UAAWA,EACX6kC,kBAAc7wC,EACd4jB,eAAW5jB,EACXoN,cAAUpN,EACVs1B,cAAe,KACfG,gBAAiB,KACjBsb,qBAAsB,KACtBC,uBAAwB,KACxBC,sBAAuB,KACvBC,wBAAyB,KACzBnvC,KAAM,IAAIf,EACVuvC,eAAe,EACfY,kBAAmBshC,GACnBr5D,mBAAepZ,IAEjB,IACE,IAAM0yE,EAASrrE,KAAKsrE,MAAM71B,QACN98C,IAAhB0yE,EAAO3wE,OACT2wE,EAAO3wE,KAAO6wE,GAAiBF,EAAO3wE,YAEP/B,IAA7B0yE,EAAOvhC,oBACTuhC,EAAOvhC,kBAAoByhC,GAAiBF,EAAOvhC,yBAExBnxC,IAAzB0yE,EAAOt5D,gBACTs5D,EAAOt5D,cAAgBw5D,GAAiBF,EAAOt5D,gBAEjD9K,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAET,OADAmJ,EAAeiiC,eAAgB,EACxBjiC,EAGT,SAASqhE,GACP3jE,EACA8wC,GAEA,IAAIxuC,EAAiB,IAAI8lC,GAAkC,CACzDpoC,UAAWA,EACXm/B,WAAY,GACZ/9B,cAAUpN,EACV8wC,iBAAa9wC,EACbq0B,cAAUr0B,EACVq0C,YAAa,GACbC,gBAAiB,GACjBC,kBAAmB,GACnBnf,aAAc,KACdG,eAAgB,KAChBF,cAAe,KACfG,gBAAiB,KACjBgf,oBAAoB,IAEtB,IACE,IAAMk+B,EAASrrE,KAAKsrE,MAAM71B,GAC1BxuC,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IACT,OAAOmJ,EAGT,SAASuhE,GACPhhD,EACAiuB,GAEA,IAAI+1B,EACAC,EACAz+B,EACE2G,EAAyB,CAACnsB,GAEhC,OAAQA,GACN,KAAKuH,GAAWo9B,QACdqf,EAAa94B,GAAmB6wB,QAChCkI,EAAW,GACXz+B,GAAe,EACf2G,EAASt/C,KAAK06B,GAAWgrC,kBACzB,MACF,KAAKhrC,GAAWq9B,OACdof,EAAa94B,GAAmB8wB,WAChCiI,EAAW,GACXz+B,GAAe,EACf,MACF,KAAKje,GAAWs9B,OACdmf,EAAa94B,GAAmBsb,WAChCyd,EAAW,GACXz+B,GAAe,EACf,MACF,KAAKje,GAAWu9B,UACdkf,EAAa94B,GAAmB+wB,YAChCgI,EAAW,GACXz+B,GAAe,EACf,MACF,KAAKje,GAAWw9B,SACdif,EAAa94B,GAAmByb,UAChCsd,EAAW,GACXz+B,GAAe,EACf,MACF,KAAKgf,GACHwf,EAAa94B,GAAmB0b,kBAC/Bqd,EAAW,IAAOz+B,GAAe,EAClC2G,EAAS5/C,OAAS,EAClB4/C,EAASt/C,KAAK06B,GAAWo9B,SACzB,MACF,QACE,MAAMz0D,MAAM,uBAEhB,IAAIuP,EAAiB,IAAIysC,GAAsB,CAC7CtqC,YAAQzQ,EACRi3B,iBAAaj3B,EACb29B,UAAM39B,EACN49B,iBAAa59B,EACbm5C,WAAOn5C,EACPg7C,SAAUA,EACV9wC,gBAAYlK,EACZy/B,gBAAYz/B,EACZw8B,gBAAYx8B,EACZ4jB,UAAW,GACX23B,mBAAev7C,EACfw7C,cAAe3sB,IAAcuH,GAAWo9B,QACxCvY,qBACEpsB,IAAcuH,GAAWo9B,QACrB1Z,GAAqBi5B,cACrBlkD,IAAcwkC,GACdvZ,GAAqBk5B,gBACrBl5B,GAAqBm5B,SAC3B/3B,wBAAyB,KACzBC,0BAA2B,KAC3BpK,qBAAsB,KACtBC,uBAAwB,KACxBC,sBAAuB,KACvBC,wBAAyB,KAEzBkK,eAAgBy3B,EAChBx3B,mBAAoBy3B,EACpBx3B,sBAAuBjH,IAEzB,IACE,IAAMq+B,EAASrrE,KAAKsrE,MAAM71B,QACA98C,IAAtB0yE,EAAOQ,aACTR,EAAOQ,WAAaN,GAAiBF,EAAOQ,aAE9C5kE,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IACT,OAAOmJ,EAGT,SAASyhE,GACPlhD,EACApiB,EACAqwC,GAEA,IAAIsyB,EAAO,IAAItb,GAAYjlC,EAAWpiB,GACtC,IACE,IAAMimE,EAASrrE,KAAKsrE,MAAM71B,GAC1BsyB,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,EAGT,SAASa,GAA4BnzB,GACnC,IAAIsyB,EAAO,IAAIhc,GAAkB,GAAI,IACrC,IACE,IAAMsf,EAASrrE,KAAKsrE,MAAM71B,GAC1BsyB,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,EAGT,SAASe,GAA2BrzB,GAClC,IAAIt0C,EAAU,IAAIgqC,GAAmB,CACnCxmC,eAAWhM,EACXM,QAAS,GACT2P,qBAAiBjQ,EACjBmd,kBAAmB,GACnBJ,YAAa,GACbkY,gBAAiB,IAAIjK,GAAmB,CACtC2O,UAAM35B,EACN2B,QAAI3B,IAENyyC,mBAAoB,CAClB,IAAIC,GAAqB,CACvBC,OAAQ,EACRhZ,UAAM35B,EACN2B,QAAI3B,EACJmyC,mBAAenyC,EACf4iC,uBAAmB5iC,EACnB6iC,qBAAiB7iC,OAIvB,IACE,IAAM0yE,EAA6BrrE,KAAKsrE,MAAM71B,GAC9Ct0C,EAAU,IAAIgqC,GAAmB,CAC/BxmC,UAAW0mE,EAAO1mE,UAClB1L,QAASoyE,EAAOpyE,QAChB2P,gBAAiByiE,EAAOziE,gBACxBkN,kBAAmBu1D,EAAOv1D,kBAC1BJ,YAAa21D,EAAO31D,YACpBkY,gBAAiB,IAAIjK,GAAmB,CACtC2O,KAAMi5C,GAAiBF,EAAOz9C,gBAAiB0E,MAC/Ch4B,GAAIixE,GAAiBF,EAAOz9C,gBAAiBtzB,MAE/C8wC,mBAAoBigC,EAAOjgC,mBAAoBh0C,KAC7C,SAAAL,GAAC,OACC,IAAIs0C,GAAqB,CACvBC,OAAQv0C,EAAEu0C,OACVhZ,KAAMi5C,GAAiBx0E,EAAEu7B,MACzBh4B,GAAIixE,GAAiBx0E,EAAEuD,IACvBwwC,cAAe/zC,EAAE+zC,cACjBvP,kBAAmBgwC,GAAiBx0E,EAAEwkC,mBACtCC,gBAAiB+vC,GAAiBx0E,EAAEykC,wBAI5C,MAAO19B,IACT,OAAOqD,EAGT,SAAS4nE,GAAyBtzB,GAChC,IAAItsB,EAA+B,CACjCxkB,UAAWgjB,GAAUmwC,KACrB1jC,QAAS,GACTrG,aAAc,GACd2a,cAAe,GACfza,mBAAet1B,EACf0kB,WAAY,GACZ6Q,eAAgB,GAChBua,gBAAiB,GACjByE,kBAAmB,GACnBoD,gBAAiB,GACjBtjB,cAAUr0B,EACVizC,cAAUjzC,EACVmzE,QAAS,GACTnjC,SAAKhwC,EACLm1B,iBAAan1B,EACbozE,kBAAcpzE,GAEhB,IACE,IAAM0yE,EAA+BrrE,KAAKsrE,MAAM71B,GAChDtsB,EAASn1B,OAAOs0D,OAAOn/B,EAAQkiD,GAC/BliD,EAAO4iD,kBAAepzE,EACtB,MAAOmF,IACT,OAAOqrB,EAKT,SAAS8/C,GACPxzB,GAEA,IAAIxuC,EAAiB,IAAImyC,GAAyB,CAChDz0C,UAAWgjB,GAAUmwC,KACrBtuB,kBAAc7wC,EACd4jB,eAAW5jB,EACXs1B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjB29B,UAAM39B,EACNy6B,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,IAEd,IACE,IAAM0xE,EAASrrE,KAAKsrE,MAAM71B,GAC1B41B,EAAOj4C,SAAW,IAAIz5B,EACtB0xE,EAAOh4C,OAAS,IAAI15B,EACpBsN,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAIT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUqyE,eACxC/kE,EAAeosB,QAAS,IAAI15B,GAAUsyE,aAC/BhlE,EAGT,SAASkiE,GACP1zB,GAEA,IAAIxuC,EAAiB,IAAIo2C,GAA4B,CACnD14C,UAAWgjB,GAAUmwC,KACrB1kC,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZiI,aAASjJ,EACTs1B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjB29B,UAAM39B,EACNq0B,cAAUr0B,EACVi3B,iBAAaj3B,EACb2kD,gBAAiB,CACfZ,GAA2BmlB,QAC3BnlB,GAA2BolB,aAG/B,IACE,IAAMuJ,EAASrrE,KAAKsrE,MAAM71B,GAC1B41B,EAAOj4C,SAAW,IAAIz5B,EACtB0xE,EAAOh4C,OAAS,IAAI15B,EACpBsN,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAIT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUqyE,eACxC/kE,EAAeosB,QAAS,IAAI15B,GAAUsyE,aAC/BhlE,EAGT,SAASoiE,GACP5zB,GAEA,IAAIxuC,EAAiB,IAAIk0C,GAAmC,CAC1Dx2C,UAAWgjB,GAAUmwC,KACrB1kC,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZiI,aAASjJ,EACT29B,UAAM39B,EACNmrC,WAAY,GACZ7V,mBAAet1B,EACfu0C,kBAAmB,GACnBnf,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjByiD,kBAAkB,EAClBC,aAAc,CAAChC,GAA0B6yB,QACzC5wB,IAAKhC,GAAwB6yB,WAE/B,IACE,IAAMd,EAASrrE,KAAKsrE,MAAM71B,GAC1B41B,EAAOj4C,SAAW,IAAIz5B,EACtB0xE,EAAOh4C,OAAS,IAAI15B,EACpBsN,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAIT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUqyE,eACxC/kE,EAAeosB,QAAS,IAAI15B,GAAUsyE,aAC/BhlE,EAGT,SAASsiE,GACP9zB,GAEA,IAAIxuC,EAAiB,IAAI40C,GAAwC,CAC/Dl3C,UAAWgjB,GAAUmwC,KACrB1kC,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZiI,aAASjJ,EACTmrC,WAAY,GACZ7V,mBAAet1B,EACfu0C,kBAAmB,GACnBnf,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjByiD,kBAAkB,IAEpB,IACE,IAAMiwB,EAASrrE,KAAKsrE,MAAM71B,GAC1B41B,EAAOj4C,SAAW,IAAIz5B,EACtB0xE,EAAOh4C,OAAS,IAAI15B,EACpBsN,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAIT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUqyE,eACxC/kE,EAAeosB,QAAS,IAAI15B,GAAUsyE,aAC/BhlE,EAGT,SAASwiE,GACPh0B,GAEA,IAAIxuC,EAAiB,IAAIw1C,GAA8B,CACrD93C,UAAWgjB,GAAUmwC,KACrB1kC,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZkJ,gBAAYlK,EACZs1B,mBAAet1B,EACfu0C,kBAAmB,GACnBnf,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjBsrC,gBAAiB,GACjBC,iBAAkB,KAEpB,IACE,IAAMmnC,EAASrrE,KAAKsrE,MAAM71B,GAC1B41B,EAAOj4C,SAAW,IAAIz5B,EACtB0xE,EAAOh4C,OAAS,IAAI15B,EACpBsN,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAIT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUqyE,eACxC/kE,EAAeosB,QAAS,IAAI15B,GAAUsyE,aAC/BhlE,EAGT,SAAS0iE,GACPl0B,GAEA,IAAIxuC,EAAiB,IAAIi3C,GAA6B,CACpDv5C,UAAWgjB,GAAUmwC,KACrBv7C,eAAW5jB,EACXy6B,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZs0B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjBwlD,iBAAiB,IAEnB,IACE,IAAMktB,EAASrrE,KAAKsrE,MAAM71B,GAC1B41B,EAAOj4C,SAAW,IAAIz5B,EACtB0xE,EAAOh4C,OAAS,IAAI15B,EACpBsN,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAIT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUqyE,eACxC/kE,EAAeosB,QAAS,IAAI15B,GAAUsyE,aAC/BhlE,EAGT,SAASijE,GACPz0B,GAEA,IAAIxuC,EAAiB,IAAIi4C,GAAmC,CAC1Dv6C,UAAWgjB,GAAUmwC,KACrBv7C,eAAW5jB,EACXwmD,mBAAoB,IAAIxlD,EACxBmwC,kBAAmBshC,GACnBvoE,gBAAYlK,EACZs1B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjBgwC,SAAKhwC,EACLq0B,cAAUr0B,IAEZ,IACE,IAAM0yE,EAASrrE,KAAKsrE,MAAM71B,QACO98C,IAA7B0yE,EAAOvhC,oBACTuhC,EAAOvhC,kBAAoByhC,GAAiBF,EAAOvhC,oBAErD7iC,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAET,OADAmJ,EAAek4C,oBAAqB,IAAIxlD,GAAU6C,aAC3CyK,EAGT,SAASkjE,GACP10B,GAEA,IAAIxuC,EAAiB,IAAIghC,GAA4B,CACnDtjC,UAAWgjB,GAAUmwC,KACrBv7C,eAAW5jB,EACXy6B,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZs0B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjBiJ,aAASjJ,EACT29B,UAAM39B,EACNuvC,MAAOP,GAAyB66B,QAElC,IACE,IAAM6I,EAASrrE,KAAKsrE,MAAM71B,GAC1BxuC,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAGT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUuxD,UAAU,GAAG1uD,aACrDyK,EAAeosB,QAAS,IAAI15B,GAAU6C,aAC/ByK,EAGT,SAASojE,GACP50B,GAEA,IAAIxuC,EAAiB,IAAIy6C,GAA+B,CACtD/8C,UAAWgjB,GAAUmwC,KACrBv7C,eAAW5jB,EACXy6B,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZs0B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjB29B,UAAM39B,IAER,IACE,IAAM0yE,EAASrrE,KAAKsrE,MAAM71B,GAC1BxuC,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAGT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUyyE,WAAW,GAAG5vE,aACtDyK,EAAeosB,QAAS,IAAI15B,GAAU6C,aAC/ByK,EAGT,SAASsjE,GACP90B,GAEA,IAAIxuC,EAAiB,IAAI81B,GAA2B,CAClDn7B,aAASjJ,EACTqkC,iBAAarkC,EACbyQ,YAAQzQ,EACRi3B,iBAAaj3B,EACbs1B,mBAAet1B,EACfo1B,kBAAcp1B,EACdq1B,mBAAer1B,EACfy1B,qBAAiBz1B,EACjBu1B,oBAAgBv1B,EAChBw1B,qBAAiBx1B,EACjB29B,UAAM39B,EACNmjC,aAASnjC,EACTq0B,cAAUr0B,IAEZ,IACE,IAAM0yE,EAASrrE,KAAKsrE,MAAM71B,QACC98C,IAAvB0yE,EAAOruC,cACTquC,EAAOruC,YAAcuuC,GAAiBF,EAAOruC,cAE/C/1B,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IACT,OAAOmJ,EAGT,SAASwjE,GACPh1B,GAEA,IAAIxuC,EAAiB,IAAI+6C,GAAkC,CACzD54C,YAAQzQ,EACRi3B,iBAAaj3B,EACbgM,UAAWgjB,GAAUmwC,KACrBv7C,eAAW5jB,EACXy6B,SAAU,IAAIz5B,EACd05B,OAAQ,IAAI15B,EACZs0B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjB29B,UAAM39B,IAER,IACE,IAAM0yE,EAASrrE,KAAKsrE,MAAM71B,GAC1BxuC,EAAiBjT,OAAOs0D,OAAOrhD,EAAgBokE,GAC/C,MAAOvtE,IAGT,OAFAmJ,EAAemsB,UAAW,IAAIz5B,GAAUyyE,WAAW,GAAG5vE,aACtDyK,EAAeosB,QAAS,IAAI15B,GAAU6C,aAC/ByK,EAGT,SAAS4iE,GACPp0B,GAEA,IAAIsyB,EAAO,IAAIrd,GAAyB,CACtCC,eAAgB,KAElB,IACE,IAAM0gB,EAASrrE,KAAKsrE,MAAM71B,GACtB41B,EAAO1gB,iBACT0gB,EAAO1gB,eAAiB0gB,EAAO1gB,eAAevzD,KAAI,SAAC1B,GAAS,OAC1D61E,GAAiB71E,OAGrBqyE,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,EAGT,SAASgC,GAA4Bt0B,GACnC,IAAIsyB,EAAO,IAAI1d,GAAsB,CACnCE,yBAAyB,IAE3B,IACE,IAAM8gB,EAASrrE,KAAKsrE,MAAM71B,GAC1BsyB,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,EAGT,SAASiC,GAAoBv0B,GAC3B,IAAIsyB,EAAO,IAAIvd,GAAc,CAC3BC,WAAY,KAEd,IACE,IAAM4gB,EAASrrE,KAAKsrE,MAAM71B,GAC1BsyB,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,EAGT,SAAS+B,GACPr0B,GAEA,IAAIsyB,EAAO,IAAInd,GAA0B,CACvCC,SAAU/mB,KACP3a,QAAO,SAAAkjD,GAAE,OACRC,GAAsB3kD,GAAUmwC,MAAMyO,MAAK,SAAAlwE,GAAC,OAAIA,EAAEkB,KAAO80E,EAAG90E,SAE7Dg1E,SAAQ,SAAAF,GAAE,OACTG,KAAap1E,KAAI,SAAA3B,GAAC,MAAK,CACrB8mB,UAAW8vD,EAAG90E,GACdy1B,SAAUv3B,EAAE8B,GACZnB,WAAOuC,SAGbmyD,WAAY0hB,KAAap1E,KAAI,SAAA3B,GAAC,MAAK,CAAEu3B,SAAUv3B,EAAE8B,GAAInB,WAAOuC,MAC5DoyD,gBAAiB,GACjBC,gBAAiB,KAEnB,IACE,IAAMqgB,EAASrrE,KAAKsrE,MAAM71B,GAC1BsyB,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,EAKT,SAAS4C,KACP,OAAO,IAAI33C,GAAoB,CAC7BE,aAAc,IACdC,mBAAoB,GACpBC,SAAU,IAAIz5B,EAAQ,cACtB05B,OAAQ,IAAI15B,EAAQ,cACpBs5B,iBAAat6B,EACbuyB,QAAS,GACTuH,KAAM,KAIV,SAASo4C,KACP,OAAO,IAAI32C,GAAuB,CAChCz1B,OAAQ,EACRisB,KAAM,GACNgJ,aAAc,GACdS,YAAQx7B,EACRy6B,SAAU,IAAIz5B,EAAQ,cACtB05B,OAAQ,IAAI15B,EAAQ,gBAIxB,SAASoxE,KACP,OAAO,IAAI55C,GAAqC,CAC9CprB,cAAUpN,EACVgM,eAAWhM,EACX64B,iBAAa74B,EACb84B,YAAQ94B,EACRs1B,mBAAet1B,EACfy1B,qBAAiBz1B,EACjBo1B,kBAAcp1B,EACdu1B,oBAAgBv1B,EAChBq1B,mBAAer1B,EACfw1B,qBAAiBx1B,EACjBm4B,4BAAwBn4B,EACxBo4B,8BAA0Bp4B,IAI9B,SAASsyE,KACP,OAAO,IAAI1uC,GAAiB,CAC1B7hC,MAAM,IAAIf,GAAUqyE,eACpBxvC,SAAU,KAId,SAAS2uC,KACP,OAAO,IAAIpmC,GAAsB,CAC/B3R,UAAU,IAAIz5B,GACX6C,aACAiwE,QAAQ,GACRvhB,UAAU,GACb73B,QAAQ,IAAI15B,GAAU6C,aAAaiwE,QAAQ,GAC3CznC,cAAe,EACfj/B,SAAU,EACVg+B,MAAO,KAIX,I,SAAMqnC,GAA4B,IAAIzxE,EAAQ,cAEjC4xE,GAAmB,SAAC3tC,GAC/B,GAAKA,EAML,OAHIA,EAAI+rB,SAAS,OACf/rB,EAAMA,EAAI8uC,UAAU,EAAG9uC,EAAI+uC,QAAQ,OAE9B,IAAIhzE,EAAQikC,I,0gDC32BrB,I,SAAMk0B,GAAgC,CACpC8a,MAAO,IAGIC,GAA4D,CACvE/a,MAAOA,GACPx0D,SAAO,YACJg1D,GAAKa,UAAW,SAAArB,GACf,OAAO,SAACnxD,EAA6B6mB,GACnC,OAAOsqC,EAAM8a,MAAMtjB,MACjB,SAAA7zD,GAAC,OAAIA,EAAEkL,OAASA,GAAQlL,EAAE+xB,YAAcA,KACvCugD,SAEN,MACAzV,GAAKc,cAAe,SAAAtB,GACnB,OAAO,SAACnxD,GACN,OAAO,GAAImxD,EAAM8a,MAAMzjD,QAAO,SAAA1zB,GAAC,OAAIA,EAAEkL,OAASA,MAAOmsE,MACnD,SAACtG,EAAGh0D,GAAC,OAAKg0D,EAAEh/C,UAAYhV,EAAEgV,iBAG/B,IAEH+rC,WAAS,YACNA,GAAU0B,aAAc,SAACnD,EAAOiW,GAC/BjW,EAAM8a,MAAQ,CACZ7E,GAAI,UACDjW,EAAM8a,MAAMzjD,QACb,SAAA1zB,GAAC,OAAIA,EAAEkL,OAASonE,EAAKpnE,MAAQlL,EAAE+xB,YAAcugD,EAAKvgD,kBAGvD,MACA+rC,GAAU2B,eAAgB,SAAApD,GACzBA,EAAM8a,MAAQ,MACf,IAEHvX,SAAO,YACJA,GAAQe,eAAgB,SACvBQ,EACArjE,GAMA,IAAMw5E,EAAQC,GAAez5E,EAAKoN,KAAMpN,EAAKi0B,UAAWj0B,EAAK6R,WAC7D,OAAQ2nE,EAAMpsE,MACZ,KAAK4mB,GAAsBygD,gBAC3B,KAAKzgD,GAAsB2gD,kBACxB6E,EAAMhF,KAAuCj+B,kBAAoB8sB,EAAQt5D,QACxEg1D,GAAKa,UACL5/D,EAAKoN,KAAMpN,EAAKi0B,WAAWsiB,kBAC7B,MACF,KAAKviB,GAAsB4gD,kBAC3B,KAAK5gD,GAAsB8gD,oBACxB0E,EAAMhF,KAAyCj+B,kBAAoB8sB,EAAQt5D,QAC1Eg1D,GAAKa,UACL5/D,EAAKoN,KAAMpN,EAAKi0B,WAAWsiB,kBAC7B,MACF,KAAKviB,GAAsBs9C,eACxBkI,EAAMhF,KAA8BpjE,UAAYiyD,EAAQt5D,QACvDg1D,GAAKa,UACL5/D,EAAKoN,KAAMpN,EAAKi0B,WAAW7iB,UAC7B,MACF,KAAK4iB,GAAsBghD,SAC3B,KAAKhhD,GAAsBkhD,QAC3B,KAAKlhD,GAAsBohD,WAC3B,KAAKphD,GAAsBshD,iBAC3B,KAAKthD,GAAsByhD,WAC3B,KAAKzhD,GAAsB2hD,cAC3B,KAAK3hD,GAAsB6hD,qBAC3B,KAAK7hD,GAAsB+hD,0BAC3B,KAAK/hD,GAAsBiiD,gBAC3B,KAAKjiD,GAAsBmiD,eAC3B,KAAKniD,GAAsBqiD,YAC3B,KAAKriD,GAAsBqjC,0BAC3B,KAAKrjC,GAAsB8iC,sBAC3B,KAAK9iC,GAAsBijC,cAC3B,KAAKjjC,GAAsB0iD,qBAC3B,KAAK1iD,GAAsB60C,cAC3B,KAAK70C,GAAsB6iD,iBAC3B,KAAK7iD,GAAsB+iD,aAC3B,KAAK/iD,GAAsBijD,oBAE3B,KAAKjjD,GAAsBmjD,WAC3B,KAAKnjD,GAAsBqjD,SAC3B,KAAKrjD,GAAsBujD,SAC3B,KAAKvjD,GAAsByjD,iBAC3B,KAAKzjD,GAAsB2jD,QACzB,MACF,QACE/d,GAAa4f,EAAMpsE,MAGvBi2D,EAAQK,OAAO1D,GAAU0B,YAAa8X,MACvC,MACA1X,GAAQgB,cAAe,SACtBO,EACArjE,GAEAqjE,EAAQK,OAAO1D,GAAU2B,eACzB,IAAM0X,EAAkC,GACxC54E,OAAO0wC,OAAOnd,IACX4B,QAAO,SAAA9yB,GAAC,OAAK42E,MAAMC,OAAO72E,OAC1Be,KAAI,SAAAf,GAAC,OAAIA,KACTe,KAAI,SAAAf,GACH,OAAQA,GACN,KAAKkxB,GAAsBygD,gBAC3B,KAAKzgD,GAAsB2gD,kBAC3B,KAAK3gD,GAAsB4gD,kBAC3B,KAAK5gD,GAAsB8gD,oBACzBuE,EAAMv4E,KAAK24E,GAAe32E,EAAGsxB,GAAUmwC,KAAMvkE,EAAK6R,YAClDwnE,EAAMv4E,KAAK24E,GAAe32E,EAAGsxB,GAAUowC,SAAUxkE,EAAK6R,YACtDwnE,EAAMv4E,KACJ24E,GAAe32E,EAAGsxB,GAAUqwC,UAAWzkE,EAAK6R,YAE9CwnE,EAAMv4E,KACJ24E,GAAe32E,EAAGsxB,GAAUswC,iBAAkB1kE,EAAK6R,YAErD,MACF,KAAKmiB,GAAsBghD,SAC3B,KAAKhhD,GAAsBkhD,QACzBmE,EAAMv4E,KAAK24E,GAAe32E,EAAG04B,GAAWo9B,QAAS54D,EAAK6R,YACtDwnE,EAAMv4E,KAAK24E,GAAe32E,EAAG04B,GAAWq9B,OAAQ74D,EAAK6R,YACrDwnE,EAAMv4E,KAAK24E,GAAe32E,EAAG04B,GAAWs9B,OAAQ94D,EAAK6R,YACrDwnE,EAAMv4E,KACJ24E,GAAe32E,EAAG04B,GAAWu9B,UAAW/4D,EAAK6R,YAE3C,CAACvI,EAAU8vD,QAAQhD,SAASp2D,EAAK6R,YACnCwnE,EAAMv4E,KACJ24E,GAAe32E,EAAG04B,GAAWw9B,SAAUh5D,EAAK6R,YAI9C,CAACvI,EAAU8vD,OAAQ9vD,EAAUgwD,UAAUlD,SAASp2D,EAAK6R,YAErDwnE,EAAMv4E,KAAK24E,GAAe32E,EAAG21D,GAAiBz4D,EAAK6R,YAErD,MACF,KAAKmiB,GAAsBohD,WAC3B,KAAKphD,GAAsBshD,iBAC3B,KAAKthD,GAAsBs9C,eAC3B,KAAKt9C,GAAsByhD,WAC3B,KAAKzhD,GAAsB2hD,cAC3B,KAAK3hD,GAAsB6hD,qBAC3B,KAAK7hD,GAAsB+hD,0BAC3B,KAAK/hD,GAAsBiiD,gBAC3B,KAAKjiD,GAAsBmiD,eAC3B,KAAKniD,GAAsBqiD,YAC3B,KAAKriD,GAAsBqjC,0BAC3B,KAAKrjC,GAAsB8iC,sBAC3B,KAAK9iC,GAAsBijC,cAC3B,KAAKjjC,GAAsB0iD,qBAC3B,KAAK1iD,GAAsB60C,cAC3B,KAAK70C,GAAsB6iD,iBAC3B,KAAK7iD,GAAsB+iD,aAC3B,KAAK/iD,GAAsBijD,oBAE3B,KAAKjjD,GAAsBmjD,WAC3B,KAAKnjD,GAAsBqjD,SAC3B,KAAKrjD,GAAsBujD,SAC3B,KAAKvjD,GAAsByjD,iBAC3B,KAAKzjD,GAAsB2jD,QACzB0B,EAAMv4E,KAAK24E,GAAe32E,EAAG,EAAG9C,EAAK6R,YACrC,MACF,QACE+nD,GAAa92D,OAGrB,IAAK,IAAL,MAAmBu2E,EAAK,eAAE,CAArB,IAAM7E,EAAI,KACbnR,EAAQK,OAAO1D,GAAU0B,YAAa8S,GAExC,OAAO,IAAItqE,SAAc,SAAA5F,GAAU,IACJ,EADI,KACdtE,EAAKq5E,OAAK,IAA7B,IAAK,EAAL,qBAA+B,KAApB7E,EAAI,QACbnR,EAAQK,OACN1D,GAAU0B,YACV+X,GACEjF,EAAKpnE,KACLonE,EAAKvgD,UACLj0B,EAAK6R,UACL2iE,EAAK/pE,iBAGV,8BACDnG,UAEH,MACAw9D,GAAQiB,cAAe,SACtBM,EACArjE,GAEA,IAAMyK,EAAgB44D,EAAQt5D,QAAQg1D,GAAKa,UACzC5/D,EAAKoN,KACLpN,EAAKi0B,WAEP,OAAO,IAAIzpB,EAAY,IAAIf,EAAiB45D,IACzCuW,kBACC,IAAIlmD,GAAqB,CACvBtmB,KAAMpN,EAAKoN,KACX6mB,UAAWj0B,EAAKi0B,UAChBxpB,cAAegC,KAAKC,UAAUjC,MAGjCc,OAAM,SAAAhB,GACL84D,EAAQI,SAAS3B,GAAQE,eAAgBz3D,SAE9C,KC3NU,YACb6C,EACA6mB,EACApiB,EACAqwC,GAEA,IAAIsyB,EACJ,OAAQpnE,GACN,KAAK8mB,GAAuB2lD,gBAC1BrF,EAAOsF,GAA0B53B,GACjC,MACF,KAAKhuB,GAAuB6lD,YAC1BvF,EAAOwF,GAAiB93B,GACxB,MACF,QACE0X,GAAaxsD,GAGjB,MAAO,CACLA,KAAMA,EACN6mB,UAAWA,EACXugD,KAAMA,IAIV,SAASsF,GAA0B53B,GACjC,IAAIsyB,EAAwB,GAC5B,IACE,IAAMsD,EAASrrE,KAAKsrE,MAAM71B,GAC1BsyB,EAAOsD,EACP,MAAOvtE,IACT,OAAOiqE,EAGT,SAASwF,GAAiB93B,GACxB,IAAIsyB,EAAmB,CACrB1jC,MAAO,WACPmpC,QAAS,UACTC,UAAWrjB,GAAUuX,MACrBv5D,SAAU6iD,MAGZ,IACE,IAAMogB,EAASrrE,KAAKsrE,MAAM71B,QACF98C,IAApB0yE,EAAOj4C,WACTi4C,EAAOj4C,SAAWm4C,GAAiBF,EAAOj4C,gBAEtBz6B,IAAlB0yE,EAAOh4C,SACTg4C,EAAOh4C,OAASk4C,GAAiBF,EAAOh4C,SAE1C00C,EAAO/zE,OAAOs0D,OAAOyf,EAAMsD,GAC3B,MAAOvtE,IACT,OAAOiqE,E,0gDC3CT,I,SAAMjW,GAAiC,CACrC8a,MAAO,IAGIc,GAA8D,CACzE5b,MAAOA,GACPx0D,SAAO,YACJg1D,GAAKe,WAAY,SAAAvB,GAChB,OAAO,SAACnxD,EAA8B6mB,GACpC,OAAOsqC,EAAM8a,MAAMtjB,MACjB,SAAA7zD,GAAC,OAAIA,EAAEkL,OAASA,GAAQlL,EAAE+xB,YAAcA,KACvCugD,SAEN,MACAzV,GAAKgB,eAAgB,SAAAxB,GACpB,OAAO,SAACnxD,GACN,OAAO,GAAImxD,EAAM8a,MAAMzjD,QAAO,SAAA1zB,GAAC,OAAIA,EAAEkL,OAASA,MAAOmsE,MACnD,SAACtG,EAAGh0D,GAAC,OAAKg0D,EAAEh/C,UAAYhV,EAAEgV,iBAG/B,IAEH+rC,WAAS,YACNA,GAAU4B,cAAe,SAACrD,EAAOiW,GAChCjW,EAAM8a,MAAQ,CACZ7E,GAAI,UACDjW,EAAM8a,MAAMzjD,QACb,SAAA1zB,GAAC,OAAIA,EAAEkL,OAASonE,EAAKpnE,MAAQlL,EAAE+xB,YAAcugD,EAAKvgD,kBAGvD,MACA+rC,GAAU6B,gBAAiB,SAAAtD,GAC1BA,EAAM8a,MAAQ,MACf,IAEHvX,SAAO,YACJA,GAAQkB,gBAAiB,SACxBK,EACArjE,GAMA,IAAMw0E,EAAO4F,GAAgBp6E,EAAKoN,KAAMpN,EAAKi0B,UAAWj0B,EAAK6R,WAC7DwxD,EAAQK,OAAO1D,GAAU4B,aAAc4S,MACxC,MACA1S,GAAQmB,eAAgB,SACvBI,EACArjE,GAEAqjE,EAAQK,OAAO1D,GAAU6B,gBACzB,IAAMwX,EAAmC,GACzC54E,OAAO0wC,OAAOjd,IACX0B,QAAO,SAAA9yB,GAAC,OAAK42E,MAAMC,OAAO72E,OAC1Be,KAAI,SAAAf,GAAC,OAAIA,KACTe,KAAI,SAAAf,GACH,OAAQA,GACN,KAAKoxB,GAAuB2lD,gBAC1BR,EAAMv4E,KAAKs5E,GAAgBt3E,EAAG,EAAG9C,EAAK6R,YACtC,MACF,KAAKqiB,GAAuB6lD,YAC1B,MACF,QACEngB,GAAa92D,OAGrB,IAAK,IAAL,MAAmBu2E,EAAK,eAAE,CAArB,IAAM7E,EAAI,KACbnR,EAAQK,OAAO1D,GAAU4B,aAAc4S,GAEzC,OAAO,IAAItqE,SAAc,SAAA5F,GAAU,IACJ,EADI,KACdtE,EAAKq5E,OAAK,IAA7B,IAAK,EAAL,qBAA+B,KAApB7E,EAAI,QACbnR,EAAQK,OACN1D,GAAU4B,aACVwY,GACE5F,EAAKpnE,KACLonE,EAAKvgD,UACLj0B,EAAK6R,UACL2iE,EAAK/pE,iBAGV,8BACDnG,UAEH,MACAw9D,GAAQoB,eAAgB,SACvBG,EACArjE,GAEA,IAAMyK,EAAgB44D,EAAQt5D,QAAQg1D,GAAKe,WACzC9/D,EAAKoN,KACLpN,EAAKi0B,WAEP,OAAO,IAAI3jB,EAAa,IAAI7G,EAAiB45D,IAC1CgX,mBACC,IAAIzmD,GAAsB,CACxBxmB,KAAMpN,EAAKoN,KACX6mB,UAAWj0B,EAAKi0B,UAChBxpB,cAAegC,KAAKC,UAAUjC,MAGjCW,MAAK,eACLG,OAAM,SAAAhB,GACL84D,EAAQI,SAAS3B,GAAQE,eAAgBz3D,SAE9C,MACAu3D,GAAQqB,iBAAkB,SACzBE,EACArjE,GAEA,OAAO,IAAIsQ,EAAa,IAAI7G,EAAiB45D,IAC1CiX,yBACC,IAAI1mD,GAAsB,CACxBxmB,KAAMpN,EAAKoN,KACX6mB,UAAWj0B,EAAKi0B,UAChBxpB,mBAAerF,KAGlBgG,MAAK,eACLG,OAAM,SAAAhB,GACL84D,EAAQI,SAAS3B,GAAQE,eAAgBz3D,SAE9C,KCjJQgwE,GAAM,SAAChwE,GAClB,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3BszD,GAAiB,SAAC30D,GAC7B,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B4uE,GAAe,SAACjwE,GAC3B,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B6uE,GAAmB,SAAClwE,GAC/B,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B8uE,GAAsB,SAACnwE,GAClC,OAAOA,GAASA,EAAMqB,QAA2B,MAAjBrB,EAAMqB,QAG3B+uE,GAA2B,SAACpwE,GACvC,OAAOA,GAASA,EAAM7E,SAA6B,2BAAlB6E,EAAM7E,SAG5Bk1E,GAAe,SAACrwE,GAC3B,OAAOA,GAASA,EAAM7E,SAA6B,kBAAlB6E,EAAM7E,S,yHCHzC+uD,OAAIC,IAAImmB,SAuBR,IAAMnxE,GAAiC,CACrC60D,MAAO,CACLS,SAAU,CACRtxD,gBAAYtI,EACZyuB,UAAW,GACXxlB,aAASjJ,EACTyM,eAAWzM,EACX4J,eAAW5J,EACX0uB,gBAAiB,GACjBN,kBAAmB,GAErByrC,sBAAkB75D,EAClB85D,gBAAgB,EAChBj1D,qBAAsB6wE,KACtB3b,uBAAuB,EACvB95D,eAAWD,EACXI,YAAa,CACXC,MAAM,EACNC,QAAS,GACTC,UAAU,GAEZwI,WAAY,CACV4nB,MAAO,IACPC,OAAQ,KAEV4P,SAAS,EACTm1C,kBAAmB,IAAI30E,EACvBg5D,aAAc,IAAIh5D,GAEpBrF,QAAS,CACPqiE,cACAa,kBACA6O,cACAwG,kBACAa,oBAEFpwE,SAAO,YACJg1D,GAAKC,UAAW,SAACT,GAChB,OAAOA,EAAMS,YACd,MACAD,GAAKE,kBAAmB,SAACV,GACxB,OAAOA,EAAMU,oBACd,MACAF,GAAK90D,sBAAuB,SAACs0D,GAC5B,OAAOA,EAAMt0D,wBACd,MACA80D,GAAKG,gBAAiB,SAACX,GACtB,OAAOA,EAAMW,kBACd,MACAH,GAAKI,uBAAwB,SAACZ,GAC7B,OAAOA,EAAMY,yBACd,MACAJ,GAAK15D,WAAY,SAACk5D,GACjB,OAAOA,EAAMl5D,aACd,MACA05D,GAAKv5D,aAAc,SAAA+4D,GAClB,OAAOA,EAAM/4D,eACd,MACAu5D,GAAK5wD,YAAa,SAAAowD,GACjB,MAAO,CACLxoC,MAAOwoC,EAAMpwD,WAAW4nB,MACxBC,OACEuoC,EAAMpwD,WAAW6nB,aAA8B5wB,IAApBm5D,EAAMl5D,UAA0B,EAAI,QAEpE,MACA05D,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,EAAOyc,GAC5Czc,EAAMY,sBAAwB6b,KAC/B,MACAhb,GAAUK,cAAe,SAAC9B,EAAOl5D,GAChCk5D,EAAMl5D,UAAYA,KACnB,MACA26D,GAAUM,gBAAiB,SAAC/B,EAAOh0D,GAClCg0D,EAAM/4D,YAAc+E,KACrB,MACAy1D,GAAUO,eAAgB,SAAChC,EAAO0c,GACjC1c,EAAMpwD,WAAa8sE,KACpB,MACAjb,GAAUQ,YAAa,SAACjC,EAAO34B,GAC9B24B,EAAM34B,QAAUA,EACZA,IACF24B,EAAMa,aAAe,IAAIh5D,MAE5B,MACA45D,GAAUS,sBAAuB,SAAAlC,GAChCA,EAAMwc,kBAAoB,IAAI30E,EAC9Bm4D,EAAMa,aAAe,IAAIh5D,KAC1B,IAEH07D,SAAO,YACJA,GAAQC,kBAAmB,SAACsB,EAAS94D,GACpCD,QAAQC,MAAM,oBAAqBA,GAC/BkwE,GAAiBlwE,GACnB84D,EAAQI,SACN3B,GAAQI,iBACR,mCAEOwY,GAAoBnwE,GAC7B84D,EAAQI,SAAS3B,GAAQI,iBAAkB,sBAClCyY,GAAyBpwE,GAClC84D,EAAQI,SACN3B,GAAQK,yBACR,2BAGFkB,EAAQI,SAAS3B,GAAQG,qBAAsB13D,MAElD,MACAu3D,GAAQE,gBAAiB,SAACqB,EAAS94D,GAClCD,QAAQC,MAAM,YAAaA,GACvB20D,GAAe30D,GACjB84D,EAAQK,OAAO1D,GAAUG,mBAChBoa,GAAIhwE,GACb84D,EAAQI,SAAS3B,GAAQI,iBAAkB,6BAClCsY,GAAajwE,GACtB84D,EAAQI,SACN3B,GAAQK,yBACR,yBAEOsY,GAAiBlwE,GAC1B84D,EAAQI,SAAS3B,GAAQI,iBAAkB,uBAClCwY,GAAoBnwE,GAC7B84D,EAAQI,SAAS3B,GAAQI,iBAAkB,0BAClC0Y,GAAarwE,GACtB84D,EAAQI,SAAS3B,GAAQK,yBAA0B,kBAEnDkB,EAAQI,SAAS3B,GAAQG,qBAAsB13D,MAElD,MACAu3D,GAAQG,sBAAuB,SAACoB,EAAS94D,GACxCD,QAAQC,MAAM,kBAAmBA,GACjC,IAAM2wE,EACJ3wE,EAAM7E,QACN,mBACA6E,EAAMqB,OACN,eACAa,KAAKC,UAAUnC,EAAMT,SACvBu5D,EAAQI,SAAS3B,GAAQI,iBAAkBgZ,MAC5C,MACApZ,GAAQI,kBAAmB,SAACmB,EAAS39D,GACpCA,EACE,UACAA,EADA,qEAKA,IAAIU,GAAU+0E,gBAChB7wE,QAAQC,MAAM7E,GACd29D,EAAQK,OAAO1D,GAAUM,eAAgB,CACvC76D,MAAM,EACNC,QAASA,EACTC,UAAU,OAEb,MACAm8D,GAAQK,0BAA2B,SAACkB,EAAS39D,GAC5CA,EAAU,UAAYA,EAAU,MAAO,IAAIU,GAAU+0E,gBACrD7wE,QAAQC,MAAM7E,GACT49D,GAAKzF,iBACRn4D,GAAW,oDACX29D,EAAQK,OAAO1D,GAAUM,eAAgB,CACvC76D,MAAM,EACNC,QAASA,EACTC,UAAU,QAGf,KAIL,SAASm1E,KACP,IAAMM,EAAaC,SAASC,qBAAqB,UAC3CC,EAAaH,EAAWA,EAAW56E,OAAS,GAAGg7E,IAC/CC,EAAkBF,EAAWnC,QAAQ,SAAW,EAChDsC,EAAaH,EAAWI,OAAOF,GACrC,OAAOC,EAGM,WAAIb,QAAKe,MAAiBlyE,ICnLnCmyE,GAAW,SAAC33E,EAAQgb,GACxB,OAAOze,OAAO0wC,OAAOjtC,GAClB0xB,QAAO,SAAAkmD,GAAC,OAAKpC,MAAMC,OAAOmC,OAC1Bj4E,KACC,SAAAi4E,GAAC,OACC,IAAI3qE,GAAc,CAChBnN,GAAI21E,OAAOmC,GACX3kD,KAAMjY,EAAEy6D,OAAOmC,UAKZtxC,GAAa,WACxB,OAAOqxC,GAASvyE,EAAW86D,KAGhBtrC,GAAa,WACxB,OAAO+iD,GAASznD,GAAW0wB,KAEhBi3B,GAAsB,WACjC,OAAOF,GAASj4B,GAAoBghB,KAGzB9wC,GAAkB,WAC7B,OAAQpqB,GAAMK,QAAQg1D,GAAKC,UAAUlrC,gBAClCjwB,KAAI,SAAA3B,GAAC,OAAI,IAAIiP,GAAc,CAAEnN,GAAI9B,EAAGi1B,KAAM2tB,GAAc5iD,QACxDq3E,MAAK,SAACtG,EAAGh0D,GAAC,OAAKg0D,EAAEjvE,GAAKib,EAAEjb,OAGhBusC,GAAa,WACxB,OAAO9vC,OAAO0wC,OAAOhX,IAClBvE,QAAO,SAAAkmD,GAAC,OAAKpC,MAAMC,OAAOmC,OAC1Bj4E,KAAI,SAAAi4E,GAAC,OAAIA,KACTvC,MAAK,SAACtG,EAAGh0D,GAAC,OAAK+8D,GAAqB/I,GAAK+I,GAAqB/8D,IAAMg0D,EAAIh0D,KACxEpb,KAAI,SAAAi4E,GAAC,OAAI,IAAI3qE,GAAc,CAAEnN,GAAI21E,OAAOmC,GAAI3kD,KAAMmQ,GAAcw0C,SAGxDE,GAAuB,SAAClD,GACnC,OAAQA,GACN,KAAK3+C,GAAUirC,cACb,OAAOhxC,GAAUmwC,KACnB,KAAKpqC,GAAUkrC,MACb,OAAOjxC,GAAUmwC,KACnB,KAAKpqC,GAAUmrC,MACb,OAAOlxC,GAAUmwC,KACnB,KAAKpqC,GAAUorC,UACb,OAAOnxC,GAAUmwC,KACnB,KAAKpqC,GAAUqrC,UACb,OAAOpxC,GAAUmwC,KAEnB,KAAKpqC,GAAUsrC,SACb,OAAOrxC,GAAUowC,SACnB,KAAKrqC,GAAUurC,UACb,OAAOtxC,GAAUowC,SACnB,KAAKrqC,GAAUwrC,cACb,OAAOvxC,GAAUowC,SAEnB,KAAKrqC,GAAUyrC,YACb,OAAOxxC,GAAUqwC,UACnB,KAAKtqC,GAAU0rC,YACb,OAAOzxC,GAAUqwC,UACnB,KAAKtqC,GAAU2rC,cACb,OAAO1xC,GAAUqwC,UACnB,KAAKtqC,GAAU4rC,cACb,OAAO3xC,GAAUqwC,UAEnB,KAAKtqC,GAAU6rC,YACb,OAAO5xC,GAAUswC,iBACnB,KAAKvqC,GAAU8rC,YACb,OAAO7xC,GAAUswC,iBACnB,KAAKvqC,GAAU+rC,YACb,OAAO9xC,GAAUswC,iBACnB,KAAKvqC,GAAUgsC,YACb,OAAO/xC,GAAUswC,iBACnB,KAAKvqC,GAAUisC,YACb,OAAOhyC,GAAUswC,iBACnB,KAAKvqC,GAAUksC,YACb,OAAOjyC,GAAUswC,iBACnB,KAAKvqC,GAAUmsC,YACb,OAAOlyC,GAAUswC,iBACnB,QACE,OAAO9K,GAAakf,KAIbC,GAAwB,SACnC3nE,GAEA,OAAOm/B,KAAa3a,QAAO,SAAAkjD,GAAE,OAAIkD,GAAqBlD,EAAG90E,MAAQoN,MAWtD6nE,GAAa,WACxB,OAAO4C,GAASvlD,GAAU+e,KAGf4mC,GAAW,WACtB,OAAOJ,GAAS1nD,GAASuzC,KAGdz+B,GAAW,WACtB,OAAO4yC,GAASvzC,GAASw/B,KAGdoU,GAAiB,WAC5B,OAAOL,GAAS3kC,GAAeyxB,KAGpBwT,GAAa,WACxB,OAAON,GAAStyE,EAAW2/D,KAGhBkT,GAAe,WAC1B,OAAOP,GAASlsB,GAAase,KAGlBoO,GAAW,WACtB,OAAOR,GAAShoB,GAASiV,KAGd/e,GAAkB,WAC7B,OAAO8xB,GAAS1yB,GAA4BklB,KAGjC19B,GAAmB,WAC9B,OAAOkrC,GAAS3tC,GAAiBq5B,KAGtB72B,GAAkB,WAC7B,OAAOmrC,GAAS5tC,GAAgB/L,KAGrBg2C,GAAW,WACtB,OAAO2D,GAAS5nC,GAAoBm7B,KAGzB31B,GAAc,WACzB,OAAOoiC,GAAS3nC,GAAuB07B,KAG5B0M,GAAkB,WAC7B,OAAOT,GAAS18B,GAAoB4wB,KAGzBwM,GAAqB,WAChC,OAAOV,GAASn/C,GAAkBy0C,KAGvBqL,GAA0B,WACrC,OAAOX,GAAShxB,GAAwB8mB,KAG7B8K,GAAW,WACtB,OAAOZ,GAAS19C,GAASqwC,KAGdruC,GAAe,WAC1B,OAAO07C,GAASrgD,GAAY+qC,KAGjBmW,GAAa,WACxB,MAAO,CACL,IAAIvrE,GAAc,CAAEnN,IAAI,EAAamzB,KAAMr0B,GAAE,gBAC7C,IAAIqO,GAAc,CAAEnN,IAAI,EAAcmzB,KAAMr0B,GAAE,iBAIrC65E,GAAsB,WACjC,MAAO,CACL,IAAIxrE,GAAc,CAAEnN,IAAI,EAAamzB,KAAMr0B,GAAE,eAC7C,IAAIqO,GAAc,CAAEnN,IAAI,EAAcmzB,KAAMr0B,GAAE,mBAIrC85E,GAAiB,WAC5B,OAAOf,GAAS9oC,GAAe++B,KAGpB+K,GAAmB,WAC9B,OAAOhB,GAASlpB,GAAiB0f,K,kqFC1N5B,IAAMvsE,GAAsB,SACjCk5D,EACAj4D,GAEA,IAAM+1E,EAAYC,GAAS/d,GACrBge,EAAQC,GAAaH,EAAW/1E,GACtC,YAAc3B,IAAV43E,EACK,qEAAP,OAA4Ehe,EAASntD,UAAS,KAE3FqrE,GAAoBF,EAAOhe,EAAShwD,WAGpCmuE,GAAqBH,EAAOhe,EAASlrC,iBAGtCwvC,GAAK3F,wBAA0BqB,EAASxrC,kBAAoB,EACvD,yFAAP,OAAgG,EAAC,kCAC/FwrC,EAASxrC,kBACX,KAEG4pD,GAA4BJ,EAAOhe,EAASxrC,mBAG5C6pD,GAA6BL,EAAOhe,EAAS3wD,cAAlD,EACS,yDAHA,+FAAP,OAAsG2uE,EAAMM,qBAAoB,0CAAkCte,EAASxrC,kBAAiB,KARrL,6CAAP,OAAoDwpD,EAAMO,kBAAiB,kCAA0Bve,EAASlrC,gBAAe,KAHtH,6CAAP,OAAoDkpD,EAAMQ,aAAY,0CAAkCxe,EAAShwD,UAAS,MAmB/G,YAACgwD,GACd,IAAI8d,EAAYC,GAAS/d,GACzB8d,EAAYW,GACVX,EACA9d,EAAShwD,UACTgwD,EAASlrC,gBACTkrC,EAASxrC,kBACTwrC,EAAS3wD,SACT,IAC0B,EAD1B,KACiByuE,GAAS,IAA5B,IAAK,EAAL,qBAA8B,KAAnBtvE,EAAI,QACbA,EAAKkwE,MAAQD,QACIr4E,IAAfoI,EAAKkwE,MAAsBlwE,EAAKkwE,MAAQ,GACxC1e,EAAShwD,UACTgwD,EAASlrC,gBACTkrC,EAASxrC,kBACTwrC,EAAS3wD,UAEZ,8BACD,OAAOyuE,GAGHG,GAAe,SAAfA,EAAgBS,EAAe32E,GAAgC,IAC3C,EAD2C,KAChD22E,GAAK,IAAxB,IAAK,EAAL,qBAA0B,KAAflwE,EAAI,QACb,GAAImwE,GAAc52E,EAAIyG,EAAKzG,IACzB,OAAOyG,EACF,QAAmBpI,IAAfoI,EAAKkwE,MAAqB,CACnC,IAAMV,EAAQC,EAAazvE,EAAKkwE,MAAO32E,GACvC,QAAc3B,IAAV43E,EACF,OAAOA,IAGZ,gCAIGW,GAAgB,SACpBC,EACAC,GAEA,QAAoBz4E,IAAhBy4E,EACF,OAAO,EAET,MAAyBC,GAAkBF,GAAe,UAAnDG,EAAO,KAAEC,EAAK,KACrB,EAAyBF,GAAkBD,GAAY,UAAhDI,EAAO,KAAEC,EAAK,KACrB,QAAIH,IAAYE,IAAWD,EAAMjiB,WAAWmiB,KAMxCJ,GAAoB,SAACriC,GACzB,IAAI0iC,EAAK,GACHC,EAAU3iC,EAAM29B,QAAQ,KAQ9B,OAPiB,IAAbgF,IACFD,EAAK1iC,EAAM09B,UAAUiF,GACrB3iC,EAAQA,EAAMkgC,OAAO,EAAGyC,IAEtB3iC,EAAM4iC,SAAS,OACjB5iC,EAAQA,EAAMkgC,OAAO,EAAGlgC,EAAMj7C,OAAS,IAElC,CAACi7C,EAAM6iC,cAAeH,EAAGG,gBAG5BvB,GAAW,SAAC/d,GAChB,IAAIj6D,EAEJ,GAAIu+D,GAAK3F,uBACP54D,EAAOw5E,QACF,GAAIjb,GAAK1F,iBACd74D,EAAOy5E,OACF,IAAIxf,EAAShwD,YAAczF,EAAU4/D,YAC1C,MAAO,GACF,GAAInK,EAASntD,YAAcvI,EAAU8vD,OAC1Cr0D,EAAO05E,QACF,GAAIzf,EAASntD,YAAcvI,EAAUgwD,SAC1Cv0D,EAAO25E,QACF,GAAI1f,EAASntD,YAAcvI,EAAUkwD,SAC1Cz0D,EAAO45E,OACF,IAAI3f,EAASntD,YAAcvI,EAAUowD,SAG1C,MAAM,IAAIv1D,MAAM,aAAD,OAAc66D,EAASntD,UAAS,iBAF/C9M,EAAO65E,IAIT,OAAO75E,EAAKlB,KAAI,SAAA5B,GAAC,gBAAUA,GAAC,IAAEy7E,MAAOz7E,EAAEy7E,YAGnCD,GAAe,SACnBC,EACA1uE,EACA8pB,EACAtF,EACAnlB,GASA,OAPAqvE,EAAQA,EAAM9nD,QAAO,SAAApoB,GAAI,OAAKA,EAAKqxE,aACnCnB,EAAQA,EAAM9nD,QAAO,SAAApoB,GAAI,OAAI0vE,GAAoB1vE,EAAMwB,MACvD0uE,EAAQA,EAAM9nD,QAAO,SAAApoB,GAAI,OAAI2vE,GAAqB3vE,EAAMsrB,MACxD4kD,EAAQA,EAAM9nD,QAAO,SAAApoB,GAAI,OACvB4vE,GAA4B5vE,EAAMgmB,MAEpCkqD,EAAQA,EAAM9nD,QAAO,SAAApoB,GAAI,OAAI6vE,GAA6B7vE,EAAMa,MACzDqvE,GAGHR,GAAsB,SAAC1vE,EAAYwB,GACvC,IAAMwuE,EAAehwE,EAAKgwE,cAAgBj0E,EAAU6/D,OACpD,OAAOp6D,GAAawuE,GAGhBL,GAAuB,SAAC3vE,EAAYsrB,GACxC,YAC6B1zB,IAA3BoI,EAAK+vE,mBACL/vE,EAAK+vE,kBAAkBvK,MAAK,SAAA9wE,GAAC,OAAI42B,EAAWs9B,SAASl0D,OAInDk7E,GAA8B,SAClC5vE,EACAgmB,GAEA,YACgCpuB,IAA9BoI,EAAK8vE,sBACL9vE,EAAK8vE,sBAAwB9pD,GAG3B6pD,GAA+B,SAAC7vE,EAAYa,GAChD,YACyBjJ,IAAvBoI,EAAKsxE,eACLtxE,EAAKsxE,cAAc9L,MAAK,SAAAC,GAAC,OAAIA,IAAM5kE,MAKjC0wE,GAAmB,CACvB5nD,KAAM,SACNmmD,qBAAsB,EACtB0B,cAAc,EACdtB,MAAO,CACL,CACEvmD,KAAM,UACNpwB,GAAI,iBACJwxD,KAAM,iBACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,MACNpwB,GAAI,IACJwxD,KAAM,cACNymB,cAAc,GAEhB,CACE7nD,KAAM,SACNpwB,GAAI,UACJwxD,KAAM,gBACNymB,cAAc,GAEhB,CACE7nD,KAAM,YACNpwB,GAAI,8CACJwxD,KAAM,kBACN+kB,qBAAsB,EACtB0B,cAAc,KAMdT,GAA2B,CAC/B,CACEpnD,KAAM,cACNpwB,GAAI,0BACJi4E,cAAc,GAEhB,CACE7nD,KAAM,eACNpwB,GAAI,wBACJi4E,cAAc,GAEhB,CACE7nD,KAAM,eACNpwB,GAAI,4BACJi4E,cAAc,GAEhB,CACE7nD,KAAM,aACNpwB,GAAI,4BACJi4E,cAAc,GAEhB,CACE7nD,KAAM,UACNpwB,GAAI,sBACJi4E,cAAc,GAEhB,CACE7nD,KAAM,SACN6nD,cAAc,EACdtB,MAAO,CACL,CACEvmD,KAAM,gBACNpwB,GAAI,8BACJwxD,KAAM,sBACNymB,cAAc,GAEhB,CACE7nD,KAAM,0BACNpwB,GAAI,qCACJwxD,KAAM,iBACNymB,cAAc,GAEhB,CACE7nD,KAAM,oBACNpwB,GAAI,2BACJwxD,KAAM,oBACNymB,cAAc,GAEhB,CACE7nD,KAAM,kBACNpwB,GAAI,+BACJwxD,KAAM,gBACNymB,cAAc,GAEhB,CACE7nD,KAAM,mBACNpwB,GAAI,wBACJwxD,KAAM,qBACNymB,cAAc,GAEhB,CACE7nD,KAAM,cACNpwB,GAAI,4BACJwxD,KAAM,qBACNymB,cAAc,KAIpB,CACE7nD,KAAM,YACN6nD,cAAc,EACd1B,qBAAsB,EACtBI,MAAO,CACL,CACEvmD,KAAM,qBACNpwB,GAAI,+BACJwxD,KAAM,oBACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,gBACNpwB,GAAI,kCACJwxD,KAAM,aACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,mBACNpwB,GAAI,kCACJwxD,KAAM,iBACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,2BACNpwB,GAAI,2BACJwxD,KAAM,mBACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,oBACNpwB,GAAI,0BACJwxD,KAAM,0BACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,YACNpwB,GAAI,yBACJwxD,KAAM,qBACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,eACNpwB,GAAI,+BACJwxD,KAAM,YACN+kB,qBAAsB,EACtB0B,cAAc,GAEhB,CACE7nD,KAAM,aACNpwB,GAAI,4BACJwxD,KAAM,YACN+kB,qBAAsB,EACtB0B,cAAc,KAIpB,CACE7nD,KAAM,YACN6nD,cAAc,EACdtB,MAAO,CACL,CACEvmD,KAAM,gBACNpwB,GAAI,6BACJwxD,KAAM,uBACNymB,cAAc,GAEhB,CACE7nD,KAAM,sBACNpwB,GAAI,0BACJwxD,KAAM,uBACNymB,cAAc,GAEhB,CACE7nD,KAAM,UACNpwB,GAAI,mCACJwxD,KAAM,uBACNymB,cAAc,GAEhB,CACE7nD,KAAM,uBACNpwB,GAAI,sCACJwxD,KAAM,wBACNymB,cAAc,KAIpBD,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACE32E,GAAI,4BAEN,CACEA,GAAI,6CAON03E,GAAqB,CACzB,CACEtnD,KAAM,cACNumD,MAAO,CACL,CACEvmD,KAAM,WACNpwB,GAAI,SACJwxD,KAAM,4BAER,CACEphC,KAAM,WACNpwB,GAAI,UACJwxD,KAAM,gBACP,UACEz/B,KACAj1B,KAAI,SAAAwyD,GAAC,OAAIA,EAAEryD,MACXH,KAAI,SAAA3B,GAAC,MAAK,CACTi1B,KAAM,gBACNpwB,GAAI,6BAA+B7E,EACnCq2D,KAAMoM,GAAcziE,GACpBs7E,aAAcj0E,EAAU8/D,KACxBkU,kBAAmB,CAACr7E,QACnB,CACL,CACEi1B,KAAM,eACNpwB,GAAI,SACJwxD,KAAM,qBACNumB,cAAe,CAAC,GAAI,QAI1B,CACE3nD,KAAM,eACNumD,MAAO,CACL,CACEvmD,KAAM,kBACNpwB,GAAI,oBACJwxD,KAAM,2BAER,CACEphC,KAAM,oBACNpwB,GAAI,sBACJwxD,KAAM,oBACNilB,aAAcj0E,EAAU+/D,QACzB,UACExwC,KACAj1B,KAAI,SAAAwyD,GAAC,OAAIA,EAAEryD,MACXH,KAAI,SAAA3B,GAAC,MAAK,CACTi1B,KAAMmtC,GAAiBpiE,GACvB6E,GAAI,2BAA6B7E,EACjCq2D,KAAMoM,GAAcziE,GACpBq7E,kBAAmB,CAACr7E,GACpBs7E,aAAcj0E,EAAU+/D,WACvB,CACL,CACEnyC,KAAM,kBACNpwB,GAAI,oBACJwxD,KAAM,wBACNilB,aAAcj0E,EAAU+/D,UAI9B,CACEnyC,KAAM,aACNqmD,aAAcj0E,EAAU8/D,KACxBqU,MAAO,GAAF,UACA5kD,KACAj1B,KAAI,SAAAwyD,GAAC,OAAIA,EAAEryD,MACXH,KAAI,SAAA3B,GAAC,MAAK,CACTi1B,KAAMmtC,GAAiBpiE,GACvB6E,GAAI,yBAA2B7E,EAC/Bq2D,KAAMoM,GAAcziE,GACpBq7E,kBAAmB,CAACr7E,QACnB,CACL,CACEi1B,KAAM,uBACN6nD,cAAc,EACdj4E,GAAI,gBACJwxD,KAAM,sBACNumB,cAAe,CAAC,IAAK,QAI3B,CACE3nD,KAAM,aACNqmD,aAAcj0E,EAAU8/D,KACxBqU,MAAO,CACL,CACEvmD,KAAM,iBACNpwB,GAAI,mBACJwxD,KAAM,iBAER,CACEphC,KAAM,sBACNpwB,GAAI,wBACJwxD,KAAM,yBAER,CACEphC,KAAM,gBACNpwB,GAAI,kBACJwxD,KAAM,sBAER,CACEphC,KAAM,mBACNpwB,GAAI,qBACJwxD,KAAM,eAER,CACEphC,KAAM,gBACNpwB,GAAI,kBACJwxD,KAAM,yBAER,CACEphC,KAAM,kBACNpwB,GAAI,eACJwxD,KAAM,oBAER,CACEphC,KAAM,eACNpwB,GAAI,iBACJwxD,KAAM,YAER,CACEphC,KAAM,uBACNpwB,GAAI,yBACJwxD,KAAM,YAER,CACEphC,KAAM,eACNpwB,GAAI,kBACJwxD,KAAM,kCAER,CACEphC,KAAM,aACNpwB,GAAI,oBACJwxD,KAAM,6BAER,CACEphC,KAAM,qBACNpwB,GAAI,mBACJwxD,KAAM,0BACNglB,kBAAmB,CAACnpD,GAAUmwC,KAAMnwC,GAAUswC,mBAEhD,CACEvtC,KAAM,iBACNpwB,GAAI,WACJwxD,KAAM,cAIZ,CACEphC,KAAM,SACNumD,MAAO,CACL,CACEvmD,KAAM,UACNpwB,GAAI,YACJwxD,KAAM,wBAER,CACEphC,KAAM,YACNpwB,GAAI,qBAAuBuC,EAAUgwD,SACrCf,KAAM,wBAER,CACEphC,KAAM,YACNpwB,GAAI,qBAAuBuC,EAAUkwD,SACrCjB,KAAM,wBAER,CACEphC,KAAM,yBACNpwB,GAAI,0BACJwxD,KAAM,qBACNilB,aAAcj0E,EAAU+/D,OAE1B,CACEnyC,KAAM,wBACNpwB,GAAI,6BACJwxD,KAAM,wBACNilB,aAAcj0E,EAAU+/D,OAE1B,CACEnyC,KAAM,YACNpwB,GAAI,aACJwxD,KAAM,oBACNilB,aAAcj0E,EAAU8/D,QAI9B,CACElyC,KAAM,gBACNqmD,aAAcj0E,EAAUggE,WACxBmU,MAAO,CACL,CACEvmD,KAAM,aACNpwB,GAAI,sBACJwxD,KAAM,uBACNilB,aAAcj0E,EAAUggE,YAE1B,CACEpyC,KAAM,oBACNpwB,GAAI,sBACJwxD,KAAM,uBACNilB,aAAcj0E,EAAUggE,YAE1B,CACEpyC,KAAM,eACNpwB,GAAI,iBACJwxD,KAAM,2BACNilB,aAAcj0E,EAAUggE,YAE1B,CACEpyC,KAAM,oBACNpwB,GAAI,mBACJwxD,KAAM,qBACNilB,aAAcj0E,EAAUggE,cAI9B,CACEpyC,KAAM,QACNumD,MAAO,CACL,CACEvmD,KAAM,iBACNpwB,GAAI,WACJwxD,KAAM,kBAER,CACEphC,KAAM,cACNpwB,GAAI,SACJwxD,KAAM,mBAER,CACEphC,KAAM,OACNpwB,GAAI,QACJwxD,KAAM,iCAER,CACEphC,KAAM,eACNpwB,GAAI,mEACJwxD,KAAM,qBAER,CACEphC,KAAM,cACNpwB,GACE,8GACFwxD,KAAM,qBAER,CACEphC,KAAM,YACNpwB,GAAI,cACJwxD,KAAM,oBAER,CACEphC,KAAM,gBACNpwB,GACE,wGACFwxD,KAAM,qBAER,CACEphC,KAAM,kBACNpwB,GAAI,6BACJwxD,KAAM,qBAER,CACEphC,KAAM,qBACNpwB,GAAI,gCACJwxD,KAAM,uBAIZ,CACEphC,KAAM,UACNumD,MAAO,CACL,CACEvmD,KAAM,cACNpwB,GAAI,gBACJwxD,KAAM,kBAER,CACEphC,KAAM,MACNpwB,GACE,4FACFwxD,KAAM,kCAER,CACEphC,KAAM,aACNpwB,GACE,wFACFwxD,KAAM,kBAIZwmB,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACE32E,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,wBACJy2E,aAAcj0E,EAAU+/D,OAE1B,CACEviE,GAAI,YACJy2E,aAAcj0E,EAAU8/D,MAE1B,CACEtiE,GAAI,iBACJu2E,qBAAsB9zE,EAAkBy1E,aAO1CP,GAAuB,CAC3B,CACEvnD,KAAM,cACNumD,MAAO,CACL,CACEvmD,KAAM,WACNpwB,GAAI,SACJwxD,KAAM,4BAER,CACEphC,KAAM,WACNpwB,GAAI,UACJwxD,KAAM,eAER,CACEphC,KAAM,eACNpwB,GAAI,SACJwxD,KAAM,qBACNumB,cAAe,CAAC,IAAK,OAI3B,CACE3nD,KAAM,eACNqmD,aAAcj0E,EAAU+/D,MACxBoU,MAAO5kD,KACJj1B,KAAI,SAAAwyD,GAAC,OAAIA,EAAEryD,MACXH,KAAI,SAAA3B,GAAC,MAAK,CACTi1B,KAAMmtC,GAAiBpiE,GACvB6E,GAAI,2BAA6B7E,EACjCq2D,KAAMoM,GAAcziE,GACpBq7E,kBAAmB,CAACr7E,QAG1B,CACEi1B,KAAM,aACNqmD,aAAcj0E,EAAU8/D,KACxBqU,MAAO,GAAF,UACA5kD,KACAj1B,KAAI,SAAAwyD,GAAC,OAAIA,EAAEryD,MACXH,KAAI,SAAA3B,GAAC,MAAK,CACTi1B,KAAMmtC,GAAiBpiE,GACvB6E,GAAI,yBAA2B7E,EAC/Bq2D,KAAMoM,GAAcziE,GACpBq7E,kBAAmB,CAACr7E,QACnB,CACL,CACEi1B,KAAM,mBACNpwB,GAAI,aACJwxD,KAAM,gBACNilB,aAAcj0E,EAAU8/D,MAE1B,CACElyC,KAAM,uBACNpwB,GAAI,aACJwxD,KAAM,mBACNilB,aAAcj0E,EAAU8/D,SAI9B,CACElyC,KAAM,aACNqmD,aAAcj0E,EAAU8/D,KACxBqU,MAAO,CACL,CACEvmD,KAAM,iBACNpwB,GAAI,mBACJwxD,KAAM,eAER,CACEphC,KAAM,sBACNpwB,GAAI,wBACJwxD,KAAM,yBAER,CACEphC,KAAM,gBACNpwB,GAAI,kBACJwxD,KAAM,sBAER,CACEphC,KAAM,eACNpwB,GAAI,kBACJwxD,KAAM,kCAER,CACEphC,KAAM,qBACNpwB,GAAI,mBACJwxD,KAAM,0BACNglB,kBAAmB,CAACnpD,GAAUmwC,KAAMnwC,GAAUswC,mBAEhD,CACEvtC,KAAM,8BACNpwB,GAAI,WACJwxD,KAAM,WACNilB,aAAcj0E,EAAU+/D,SAI9B,CACEnyC,KAAM,SACNumD,MAAO,CACL,CACEvmD,KAAM,UACNpwB,GAAI,YACJwxD,KAAM,wBAER,CACEphC,KAAM,UACNpwB,GAAI,qBAAuBuC,EAAU8vD,OACrCb,KAAM,wBAER,CACEphC,KAAM,yBACNpwB,GAAI,0BACJwxD,KAAM,qBACNilB,aAAcj0E,EAAU8/D,MAE1B,CACElyC,KAAM,wBACNpwB,GAAI,6BACJwxD,KAAM,wBACNilB,aAAcj0E,EAAU8/D,QAI9B,CACElyC,KAAM,gBACNqmD,aAAcj0E,EAAUggE,WACxBmU,MAAO,CACL,CACEvmD,KAAM,aACNpwB,GAAI,sBACJwxD,KAAM,uBACNilB,aAAcj0E,EAAUggE,YAE1B,CACEpyC,KAAM,oBACNpwB,GAAI,sBACJwxD,KAAM,uBACNilB,aAAcj0E,EAAUggE,YAE1B,CACEpyC,KAAM,kBACNpwB,GAAI,mBACJwxD,KAAM,qBACNilB,aAAcj0E,EAAUggE,cAI9B,CACEpyC,KAAM,QACNumD,MAAO,CACL,CACEvmD,KAAM,iBACNpwB,GAAI,WACJwxD,KAAM,kBAER,CACEphC,KAAM,cACNpwB,GAAI,SACJwxD,KAAM,mBAER,CACEphC,KAAM,OACNpwB,GAAI,QACJwxD,KAAM,iCAER,CACEphC,KAAM,eACNpwB,GAAI,mEACJwxD,KAAM,qBAER,CACEphC,KAAM,cACNpwB,GACE,8GACFwxD,KAAM,qBAER,CACEphC,KAAM,YACNpwB,GAAI,cACJwxD,KAAM,oBAER,CACEphC,KAAM,gBACNpwB,GACE,wGACFwxD,KAAM,qBAER,CACEphC,KAAM,kBACNpwB,GAAI,6BACJwxD,KAAM,qBAER,CACEphC,KAAM,qBACNpwB,GAAI,gCACJwxD,KAAM,uBAIZ,CACEphC,KAAM,UACNumD,MAAO,CACL,CACEvmD,KAAM,cACNpwB,GAAI,gBACJwxD,KAAM,kBAER,CACEphC,KAAM,MACNpwB,GACE,4FACFwxD,KAAM,kCAER,CACEphC,KAAM,aACNpwB,GACE,wFACFwxD,KAAM,kBAIZwmB,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACE32E,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,UACJy2E,aAAcj0E,EAAU+/D,OAE1B,CACEviE,GAAI,YACJy2E,aAAcj0E,EAAU8/D,MAE1B,CACEtiE,GAAI,iBACJu2E,qBAAsB9zE,EAAkBy1E,aAO1CN,GAAuB,CAC3B,CACExnD,KAAM,cACNumD,MAAO,CACL,CACEvmD,KAAM,WACNpwB,GAAI,SACJwxD,KAAM,4BAER,CACEphC,KAAM,WACNpwB,GAAI,UACJwxD,KAAM,iBAIZ,CACEphC,KAAM,gBACNqmD,aAAcj0E,EAAUggE,WACxBmU,MAAO,CACL,CACEvmD,KAAM,oBACNpwB,GAAI,sBACJwxD,KAAM,uBACNilB,aAAcj0E,EAAUggE,cAI9B,CACEpyC,KAAM,QACNumD,MAAO,CACL,CACEvmD,KAAM,iBACNpwB,GAAI,WACJwxD,KAAM,kBAER,CACEphC,KAAM,cACNpwB,GAAI,SACJwxD,KAAM,mBAER,CACEphC,KAAM,OACNpwB,GAAI,QACJwxD,KAAM,iCAER,CACEphC,KAAM,eACNpwB,GAAI,mEACJwxD,KAAM,qBAER,CACEphC,KAAM,cACNpwB,GACE,8GACFwxD,KAAM,qBAER,CACEphC,KAAM,YACNpwB,GAAI,cACJwxD,KAAM,oBAER,CACEphC,KAAM,gBACNpwB,GACE,wGACFwxD,KAAM,qBAER,CACEphC,KAAM,kBACNpwB,GAAI,6BACJwxD,KAAM,qBAER,CACEphC,KAAM,qBACNpwB,GAAI,gCACJwxD,KAAM,uBAIZ,CACEphC,KAAM,UACNumD,MAAO,CACL,CACEvmD,KAAM,cACNpwB,GAAI,gBACJwxD,KAAM,kBAER,CACEphC,KAAM,MACNpwB,GACE,4FACFwxD,KAAM,kCAER,CACEphC,KAAM,aACNpwB,GACE,wFACFwxD,KAAM,kBAIZwmB,GACA,CAEEF,WAAW,EACXnB,MAAO,CACL,CACE32E,GAAI,KAEN,CACEA,GAAI,gBAEN,CACEA,GAAI,iBACJu2E,qBAAsB9zE,EAAkBy1E,aAO1CL,GAAuB,CAC3B,CACEznD,KAAM,cACNumD,MAAO,CACL,CACEvmD,KAAM,WACNpwB,GAAI,SACJwxD,KAAM,4BAER,CACEphC,KAAM,WACNpwB,GAAI,UACJwxD,KAAM,iBAIZ,CACEphC,KAAM,gBACNqmD,aAAcj0E,EAAUggE,WACxBmU,MAAO,CACL,CACEvmD,KAAM,oBACNpwB,GAAI,sBACJwxD,KAAM,uBACNilB,aAAcj0E,EAAUggE,cAI9B,CACEpyC,KAAM,QACNumD,MAAO,CACL,CACEvmD,KAAM,iBACNpwB,GAAI,WACJwxD,KAAM,kBAER,CACEphC,KAAM,cACNpwB,GAAI,SACJwxD,KAAM,mBAER,CACEphC,KAAM,OACNpwB,GAAI,QACJwxD,KAAM,iCAER,CACEphC,KAAM,eACNpwB,GAAI,mEACJwxD,KAAM,qBAER,CACEphC,KAAM,cACNpwB,GACE,8GACFwxD,KAAM,qBAER,CACEphC,KAAM,YACNpwB,GAAI,cACJwxD,KAAM,oBAER,CACEphC,KAAM,gBACNpwB,GACE,wGACFwxD,KAAM,qBAER,CACEphC,KAAM,kBACNpwB,GAAI,6BACJwxD,KAAM,qBAER,CACEphC,KAAM,qBACNpwB,GAAI,gCACJwxD,KAAM,uBAIZ,CACEphC,KAAM,UACNumD,MAAO,CACL,CACEvmD,KAAM,cACNpwB,GAAI,gBACJwxD,KAAM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","file":"js/app.8e137c2a.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!./MobileSlots.vue?vue&type=style&index=0&id=3e2b1934&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=4f10889a&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!./MobileSlotBookingCalendar.vue?vue&type=style&index=0&id=527240b4&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!./SlotCalendar.vue?vue&type=style&index=0&id=15c62cae&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=72961acf&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!./TimePickerDialog.vue?vue&type=style&index=0&id=063e4081&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=1b003167&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=51cb9eed&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!./SupplierEditSpotTenderDialog.vue?vue&type=style&index=0&id=6940e59c&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!./LoadDocumentsTable.vue?vue&type=style&index=0&id=28f88b6c&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=64974f1c&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=0522d112&scoped=true&lang=css&\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--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=b8f5d5fc&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!./IndexAccordion.vue?vue&type=style&index=0&id=a7af2dc2&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=23d56fd8&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!./Dashboard.vue?vue&type=style&index=0&id=1829f537&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=50e9e619&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=7b53136a&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\";","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&\"","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=68d0a077&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!./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!./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!./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!./PriceList.vue?vue&type=style&index=0&id=c1355890&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!./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!./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!./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&\"","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=1e2478e0&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!./ProcurementTable.vue?vue&type=style&index=0&id=4d937e1e&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=3ddcf88c&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!./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!./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!./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!./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!./LoadEditContainersDialog.vue?vue&type=style&index=0&id=5f28372d&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!./SlotCalendarHeader.vue?vue&type=style&index=0&id=7a814f5a&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!./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!./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!./InvoiceGenerator.vue?vue&type=style&index=0&id=1bdd415c&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!./AccordionSubLocationsTable.vue?vue&type=style&index=0&id=590b6420&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!./CreateSpotTenderReview.vue?vue&type=style&index=0&id=2348c651&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!./ReadOnlyText.vue?vue&type=style&index=0&id=4a5e6782&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!./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!./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&\"","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 }","/* ALLT ANVÄNDANDE AV MOMENT SKA GÅ GENOM DENNA KLASS */\r\nimport momentBase from \"moment\";\r\n\r\nconst minDate = \"2000-01-01 00:00:00\";\r\nconst maxDate = \"2049-12-31 23:59:59\";\r\n\r\ntype MomentXInput = momentBase.Moment | string | undefined | null;\r\n\r\nclass MomentX {\r\n private m: momentBase.Moment;\r\n\r\n constructor(input?: MomentXInput, format?: string) {\r\n this.m = momentBase(input, format).utc(true);\r\n if (this.m < momentBase(minDate).utc(true)) {\r\n this.m = momentBase(minDate).utc(true);\r\n } else if (this.m > momentBase(maxDate).utc(true)) {\r\n this.m = momentBase(maxDate).utc(true);\r\n }\r\n }\r\n\r\n private mCopy(): momentBase.Moment {\r\n //Löser problem med att moment ibland är mutable. Vi vill inte ha det så.\r\n return momentBase(this.m).utc(true);\r\n }\r\n private mCopyOther(d: MomentX): momentBase.Moment {\r\n return momentBase(d.m).utc(true);\r\n }\r\n dayPrint(locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .format(\"dddd\");\r\n }\r\n shortDayPrint(locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .format(\"ddd\");\r\n }\r\n monthNamePrint(locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .format(\"MMMM\");\r\n }\r\n quarterPrint(): string {\r\n return \"Q\" + this.mCopy().quarter();\r\n }\r\n yearMonthNamePrint(locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .format(\"YYYY MMMM\");\r\n }\r\n yearQuarterPrint(): string {\r\n return this.yearPrint() + \" \" + this.quarterPrint();\r\n }\r\n yearPrint(): string {\r\n return this.mCopy().format(\"YYYY\");\r\n }\r\n datePrint(): string {\r\n return this.mCopy().format(\"YYYY-MM-DD\");\r\n }\r\n timePrint(): string {\r\n return this.mCopy().format(\"HH:mm:ss\");\r\n }\r\n shortTimePrint(): string {\r\n return this.mCopy().format(\"HH:mm\");\r\n }\r\n dateTimePrint(): string {\r\n return this.mCopy().format(\"YYYY-MM-DD HH:mm:ss\");\r\n }\r\n dateTextPrint(locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .format(\"ddd D MMMM\");\r\n }\r\n shortDateTextPrint(locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .format(\"D MMM\");\r\n }\r\n shortDateTimePrint(): string {\r\n return this.mCopy().format(\"YYYY-MM-DD HH:mm\");\r\n }\r\n shortDateTimePrintSeparated(): string {\r\n return this.mCopy().format(\"YYYY-MM-DD HH:mm\");\r\n }\r\n shortDateTimePrintWithTo(d: MomentX, locale: string): string {\r\n return `${d.shortDateTimePrint()} (${this.to(d, locale)})`;\r\n }\r\n to(d: MomentX, locale: string): string {\r\n return this.mCopy()\r\n .locale(locale)\r\n .to(this.mCopyOther(d));\r\n }\r\n minutes(): number {\r\n return this.mCopy().minutes();\r\n }\r\n hours(): number {\r\n return this.mCopy().hours();\r\n }\r\n date(): number {\r\n return this.mCopy().date();\r\n }\r\n month(): number {\r\n return this.mCopy().month();\r\n }\r\n year(): number {\r\n return this.mCopy().year();\r\n }\r\n withHours(hours: number): MomentX {\r\n return new MomentX(this.mCopy().hours(hours));\r\n }\r\n withMinutes(minutes: number): MomentX {\r\n return new MomentX(this.mCopy().minutes(minutes));\r\n }\r\n startOfDay(): MomentX {\r\n return new MomentX(this.mCopy().startOf(\"day\"));\r\n }\r\n endOfDay(): MomentX {\r\n return new MomentX(this.mCopy().endOf(\"day\"));\r\n }\r\n startOfMonth(): MomentX {\r\n return new MomentX(this.mCopy().startOf(\"month\"));\r\n }\r\n endOfMonth(): MomentX {\r\n return new MomentX(this.mCopy().endOf(\"month\")).endOfDay();\r\n }\r\n startOfYear(): MomentX {\r\n return new MomentX(this.mCopy().startOf(\"year\"));\r\n }\r\n endOfYear(): MomentX {\r\n return new MomentX(this.mCopy().endOf(\"year\")).endOfDay();\r\n }\r\n addSeconds(amount: number): MomentX {\r\n return new MomentX(this.mCopy().add(amount, \"seconds\"));\r\n }\r\n addMinutes(amount: number): MomentX {\r\n return new MomentX(this.mCopy().add(amount, \"minutes\"));\r\n }\r\n addHours(amount: number): MomentX {\r\n return new MomentX(this.mCopy().add(amount, \"hours\"));\r\n }\r\n addDays(amount: number): MomentX {\r\n return new MomentX(this.mCopy().add(amount, \"days\"));\r\n }\r\n addMonths(amount: number): MomentX {\r\n return new MomentX(this.mCopy().add(amount, \"months\"));\r\n }\r\n addYears(amount: number): MomentX {\r\n return new MomentX(this.mCopy().add(amount, \"years\"));\r\n }\r\n loadingSlotNowish(): MomentX {\r\n const d = this.mCopy()\r\n .startOf(\"minute\")\r\n .add(8, \"minute\");\r\n return new MomentX(d).withMinutes(d.minutes() - (d.minutes() % 5));\r\n }\r\n diff(date: MomentX): number {\r\n return this.mCopy().diff(date.datePrint(), \"days\");\r\n }\r\n isBetween(date1: MomentX, date2: MomentX) {\r\n return this.isSameOrAfter(date1) && this.isSameOrBefore(date2);\r\n }\r\n isSame(date: MomentX): boolean {\r\n return this.mCopy().unix() === date.unix();\r\n }\r\n isBefore(date: MomentX): boolean {\r\n return this.mCopy().unix() < date.unix();\r\n }\r\n isSameOrBefore(date: MomentX): boolean {\r\n return this.mCopy().unix() <= date.unix();\r\n }\r\n isAfter(date: MomentX): boolean {\r\n return this.mCopy().unix() > date.unix();\r\n }\r\n isSameOrAfter(date: MomentX): boolean {\r\n return this.mCopy().unix() >= date.unix();\r\n }\r\n isLessThanSecondsOld(seconds: number): boolean {\r\n return this.unix() > new MomentX().unix() - seconds;\r\n }\r\n isValid(): boolean {\r\n return this.mCopy().isValid();\r\n }\r\n toISOString(keepOffset?: boolean): string {\r\n return this.mCopy().toISOString(keepOffset);\r\n }\r\n toJSON(): string {\r\n return this.mCopy().toJSON();\r\n }\r\n toString(): string {\r\n return this.shortDateTimePrint();\r\n }\r\n unix(): number {\r\n return this.mCopy().unix();\r\n }\r\n toDuration(): MomentX.Duration {\r\n return new DurationX(\r\n this.mCopy().hours() * 3600 * 1000 + this.mCopy().minutes() * 60 * 1000\r\n );\r\n }\r\n}\r\n\r\ntype DurationXInput = momentBase.Duration | number | undefined | null;\r\n\r\nclass DurationX {\r\n private d: momentBase.Duration;\r\n\r\n constructor(input?: DurationXInput) {\r\n this.d = momentBase.duration(input);\r\n }\r\n\r\n private dCopy(): momentBase.Duration {\r\n //Löser problem med att moment ibland är mutable. Vi vill inte ha det så.\r\n return momentBase.duration(this.d);\r\n }\r\n\r\n format(_: any, __: any): string {\r\n return (\r\n this.dCopy().days() +\r\n \".\" +\r\n this.dCopy()\r\n .hours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n this.dCopy()\r\n .minutes()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n this.dCopy()\r\n .seconds()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \".\" +\r\n this.dCopy()\r\n .milliseconds()\r\n .toString()\r\n .padStart(3, \"0\")\r\n );\r\n }\r\n hours(): number {\r\n return this.dCopy().hours();\r\n }\r\n minutes(): number {\r\n return this.dCopy().minutes();\r\n }\r\n hoursAndMinutes(): string {\r\n return (\r\n this.dCopy()\r\n .hours()\r\n .toString()\r\n .padStart(2, \"0\") +\r\n \":\" +\r\n this.dCopy()\r\n .minutes()\r\n .toString()\r\n .padStart(2, \"0\")\r\n );\r\n }\r\n toMomentX(): MomentX {\r\n return new MomentX()\r\n .startOfDay()\r\n .withHours(this.dCopy().hours())\r\n .withMinutes(this.dCopy().minutes());\r\n }\r\n}\r\n\r\ndeclare namespace MomentX {\r\n type Moment = MomentX;\r\n export function parseZone(input?: string): MomentX;\r\n export function isMoment(input: any): boolean;\r\n export function minDate(): MomentX;\r\n export function maxDate(): MomentX;\r\n export function unix(input: number): MomentX;\r\n\r\n type Duration = DurationX;\r\n export function duration(input: string): DurationX;\r\n export function durationFromTime(hours: number, minutes: number): DurationX;\r\n}\r\n\r\nMomentX.parseZone = (input?: string) => {\r\n return new MomentX(momentBase.parseZone(input));\r\n};\r\nMomentX.isMoment = (input?: any) => {\r\n if (input !== undefined && input !== null && input.isMoment) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n};\r\nMomentX.minDate = () => {\r\n return new MomentX(minDate);\r\n};\r\nMomentX.maxDate = () => {\r\n return new MomentX(maxDate);\r\n};\r\nMomentX.unix = (input: number) => {\r\n return new MomentX(momentBase.unix(input));\r\n};\r\n\r\nMomentX.duration = (input: string) => {\r\n return new DurationX(momentBase.duration(input));\r\n};\r\nMomentX.durationFromTime = (hours: number, minutes: number) => {\r\n return MomentX.duration(`0.${hours}:${minutes}:00.000`);\r\n};\r\n\r\nexport default MomentX;\r\n","//----------------------\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 moment from \"@/scripts/misc/momentX\";\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 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 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 exportForSupportAdmin(): Promise;\r\n exportSelectionForSupportAdmin(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 exportForSupportAdmin( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/export-for-support-admin\";\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.processExportForSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processExportForSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\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 exportSelectionForSupportAdmin(actorIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/actors/export-selection-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.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 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(EmailModel.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 pickupCountiesSupportAdmin(): Promise;\r\n systemStatus(): Promise;\r\n countries(): Promise;\r\n countiesByCargotype(cargoType: CargoType | undefined, pickup: boolean | undefined): Promise;\r\n counties(country: Country | null | undefined): Promise;\r\n countiesAndZipcode(country: Country | undefined): Promise;\r\n priceFilters(): Promise;\r\n prices(date: moment.Moment | undefined): 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(validDate: moment.Moment | undefined): Promise;\r\n fuelIndexesForDate(baseIndexDate: moment.Moment | undefined, indexDate: moment.Moment | undefined): Promise;\r\n fuelIndexes(baseIndexDate: moment.Moment | undefined): Promise;\r\n countiesOnAgreementroutes(cargoType: CargoType | undefined, pickup: boolean | 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 pickupCountiesSupportAdmin( cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/support-admin/repository/pickup-counties-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.processPickupCountiesSupportAdmin(_response);\r\n });\r\n }\r\n\r\n protected processPickupCountiesSupportAdmin(response: AxiosResponse): Promise {\r\n const status = response.status;\r\n let _headers: any = {};\r\n if (response.headers && typeof response.headers === \"object\") {\r\n for (const k in response.headers) {\r\n if (response.headers.hasOwnProperty(k)) {\r\n _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 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 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(date: moment.Moment | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/prices?\";\r\n if (date === null)\r\n throw new Error(\"The parameter 'date' cannot be null.\");\r\n else if (date !== undefined)\r\n url_ += \"date=\" + encodeURIComponent(date ? \"\" + date.toISOString(true) : \"\") + \"&\";\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.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(validDate: moment.Moment | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/base-index-period-by-valid-date?\";\r\n if (validDate === null)\r\n throw new Error(\"The parameter 'validDate' cannot be null.\");\r\n else if (validDate !== undefined)\r\n url_ += \"validDate=\" + encodeURIComponent(validDate ? \"\" + validDate.toISOString(true) : \"\") + \"&\";\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.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(baseIndexDate: moment.Moment | undefined, indexDate: moment.Moment | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/fuel-indexes-for-date?\";\r\n if (baseIndexDate === null)\r\n throw new Error(\"The parameter 'baseIndexDate' cannot be null.\");\r\n else if (baseIndexDate !== undefined)\r\n url_ += \"baseIndexDate=\" + encodeURIComponent(baseIndexDate ? \"\" + baseIndexDate.toISOString(true) : \"\") + \"&\";\r\n if (indexDate === null)\r\n throw new Error(\"The parameter 'indexDate' cannot be null.\");\r\n else if (indexDate !== undefined)\r\n url_ += \"indexDate=\" + encodeURIComponent(indexDate ? \"\" + indexDate.toISOString(true) : \"\") + \"&\";\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.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(baseIndexDate: moment.Moment | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/repository/fuel-indexes?\";\r\n if (baseIndexDate === null)\r\n throw new Error(\"The parameter 'baseIndexDate' cannot be null.\");\r\n else if (baseIndexDate !== undefined)\r\n url_ += \"baseIndexDate=\" + encodeURIComponent(baseIndexDate ? \"\" + baseIndexDate.toISOString(true) : \"\") + \"&\";\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.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 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: ActorSearchCritera): 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: ActorSearchCritera, 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 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(cargoType: CargoType | undefined, agreementPeriodFrom: moment.Moment | undefined, agreementRouteIds: number[]): 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(cargoType: CargoType | undefined, agreementPeriodFrom: moment.Moment | undefined, agreementRouteIds: number[], cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/procurements-client/validate-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 (agreementPeriodFrom === null)\r\n throw new Error(\"The parameter 'agreementPeriodFrom' cannot be null.\");\r\n else if (agreementPeriodFrom !== undefined)\r\n url_ += \"agreementPeriodFrom=\" + encodeURIComponent(agreementPeriodFrom ? \"\" + agreementPeriodFrom.toISOString(true) : \"\") + \"&\";\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 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 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 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(agreementId: number | undefined, truckTypeId: TruckType | null | undefined, baseIndexDate: moment.Moment | null | undefined): 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(searchDate: moment.Moment | undefined): 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(agreementId: number | undefined, truckTypeId: TruckType | null | undefined, baseIndexDate: moment.Moment | null | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/trucktypes-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 if (truckTypeId !== undefined && truckTypeId !== null)\r\n url_ += \"truckTypeId=\" + encodeURIComponent(\"\" + truckTypeId) + \"&\";\r\n if (baseIndexDate !== undefined && baseIndexDate !== null)\r\n url_ += \"baseIndexDate=\" + encodeURIComponent(baseIndexDate ? \"\" + baseIndexDate.toISOString(true) : \"\") + \"&\";\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.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(AgreementToDateDto.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(searchDate: moment.Moment | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreements-client/export-supplier-route-prices?\";\r\n if (searchDate === null)\r\n throw new Error(\"The parameter 'searchDate' cannot be null.\");\r\n else if (searchDate !== undefined)\r\n url_ += \"searchDate=\" + encodeURIComponent(searchDate ? \"\" + searchDate.toISOString(true) : \"\") + \"&\";\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.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(cargoType: CargoType | undefined, agreementStart: moment.Moment | undefined): 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(cargoType: CargoType | undefined, agreementStart: moment.Moment | undefined, cancelToken?: CancelToken): Promise {\r\n let url_ = this.baseUrl + \"/api/agreement-routes/list-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 if (agreementStart === null)\r\n throw new Error(\"The parameter 'agreementStart' cannot be null.\");\r\n else if (agreementStart !== undefined)\r\n url_ += \"agreementStart=\" + encodeURIComponent(agreementStart ? \"\" + agreementStart.toISOString(true) : \"\") + \"&\";\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.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\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 }\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 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}\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 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;\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;\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 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.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[\"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 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;\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;\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;\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;\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;\r\n pickupEarliest!: moment.Moment;\r\n deliverLatest!: moment.Moment;\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;\r\n pickupEarliest: moment.Moment;\r\n deliverLatest: moment.Moment;\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;\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;\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;\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;\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;\r\n to!: moment.Moment;\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;\r\n to: moment.Moment;\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 MessageTextModel implements IMessageTextModel {\r\n subject!: string | undefined;\r\n body!: string | undefined;\r\n\r\n constructor(data?: IMessageTextModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (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 }\r\n }\r\n\r\n static fromJS(data: any): MessageTextModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageTextModel();\r\n result.init(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 return data;\r\n }\r\n}\r\n\r\nexport interface IMessageTextModel {\r\n subject: string | undefined;\r\n body: string | undefined;\r\n}\r\n\r\nexport class EmailModel extends MessageTextModel implements IEmailModel {\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 attachemnts!: EmailAttachmentModel[] | undefined;\r\n\r\n constructor(data?: IEmailModel) {\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.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 if (Array.isArray(_data[\"attachemnts\"])) {\r\n this.attachemnts = [] as any;\r\n for (let item of _data[\"attachemnts\"])\r\n this.attachemnts!.push(EmailAttachmentModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailModel();\r\n result.init(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 if (Array.isArray(this.attachemnts)) {\r\n data[\"attachemnts\"] = [];\r\n for (let item of this.attachemnts)\r\n data[\"attachemnts\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailModel extends IMessageTextModel {\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 attachemnts: EmailAttachmentModel[] | undefined;\r\n}\r\n\r\nexport class EmailAttachmentModel implements IEmailAttachmentModel {\r\n data!: string | undefined;\r\n fileName!: string | undefined;\r\n\r\n constructor(data?: IEmailAttachmentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.data = _data[\"data\"];\r\n this.fileName = _data[\"fileName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailAttachmentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailAttachmentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"data\"] = this.data;\r\n data[\"fileName\"] = this.fileName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailAttachmentModel {\r\n data: string | undefined;\r\n fileName: 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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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 PriceRowByLoadId = 22,\r\n ClientByLoadId = 23,\r\n SupplierByLoadId = 24,\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;\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;\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;\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;\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;\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;\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;\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;\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;\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;\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\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 }\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 return data;\r\n }\r\n}\r\n\r\nexport interface ILocationMatchDto {\r\n county: string | undefined;\r\n zipCode: string | undefined;\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\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 }\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 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}\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!: QualityPointsData | undefined;\r\n clientQP!: QualityPointsData | undefined;\r\n systemQP!: QualityPointsData | undefined;\r\n validQP!: QualityPointsData | 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\"] ? QualityPointsData.fromJS(_data[\"routeQP\"]) : undefined;\r\n this.clientQP = _data[\"clientQP\"] ? QualityPointsData.fromJS(_data[\"clientQP\"]) : undefined;\r\n this.systemQP = _data[\"systemQP\"] ? QualityPointsData.fromJS(_data[\"systemQP\"]) : undefined;\r\n this.validQP = _data[\"validQP\"] ? QualityPointsData.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: QualityPointsData | undefined;\r\n clientQP: QualityPointsData | undefined;\r\n systemQP: QualityPointsData | undefined;\r\n validQP: QualityPointsData | 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 QualityPointsData implements IQualityPointsData {\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?: IQualityPointsData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (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): QualityPointsData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QualityPointsData();\r\n result.init(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 IQualityPointsData {\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 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 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.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[\"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 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;\r\n toDate!: moment.Moment;\r\n fromCountries!: Country[] | undefined;\r\n toCountries!: Country[] | undefined;\r\n fromCounties!: 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 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 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;\r\n toDate: moment.Moment;\r\n fromCountries: Country[] | undefined;\r\n toCountries: Country[] | undefined;\r\n fromCounties: 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;\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;\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;\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;\r\n actorType: ActorType;\r\n}\r\n\r\nexport class ActorSearchCritera implements IActorSearchCritera {\r\n actorType!: ActorType | undefined;\r\n country!: Country | undefined;\r\n fromDate!: moment.Moment;\r\n toDate!: moment.Moment;\r\n\r\n constructor(data?: IActorSearchCritera) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (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): ActorSearchCritera {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActorSearchCritera();\r\n result.init(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 IActorSearchCritera {\r\n actorType: ActorType | undefined;\r\n country: Country | undefined;\r\n fromDate: moment.Moment;\r\n toDate: moment.Moment;\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 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;\r\n createdDate!: moment.Moment;\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;\r\n createdDate: moment.Moment;\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;\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;\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 loacationAndAgreementRouteLastModified!: 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.loacationAndAgreementRouteLastModified = _data[\"loacationAndAgreementRouteLastModified\"] ? moment.parseZone(_data[\"loacationAndAgreementRouteLastModified\"].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[\"loacationAndAgreementRouteLastModified\"] = this.loacationAndAgreementRouteLastModified ? this.loacationAndAgreementRouteLastModified.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 loacationAndAgreementRouteLastModified: 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 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 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 deliveryCountry!: Country;\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.deliveryCountry = _data[\"deliveryCountry\"];\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[\"deliveryCountry\"] = this.deliveryCountry;\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 deliveryCountry: Country;\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;\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;\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;\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;\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 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 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 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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\r\n unitBasePrice!: boolean;\r\n unitBasePriceDate!: moment.Moment;\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;\r\n unitBasePrice: boolean;\r\n unitBasePriceDate: moment.Moment;\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\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 }\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 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}\r\n\r\nexport class AgreementPeriodDto implements IAgreementPeriodDto {\r\n from!: moment.Moment;\r\n to!: moment.Moment;\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;\r\n to: moment.Moment;\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 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 deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\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.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\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[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\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 deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\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;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment;\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 }\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 return data;\r\n }\r\n}\r\n\r\nexport interface ILoadClientEditDatesDto {\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment;\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 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.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[\"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 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\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 }\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 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}\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;\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;\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 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.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[\"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 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\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 }\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 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}\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;\r\n deliveryLatest!: moment.Moment;\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;\r\n deliveryLatest: moment.Moment;\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;\r\n pickupEarliest!: moment.Moment;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\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;\r\n pickupEarliest: moment.Moment;\r\n pickupLatest: moment.Moment | undefined;\r\n deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\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 PickupLocationCounty = 9,\r\n PickupLocationZipCode = 10,\r\n PickupLocationCountry = 11,\r\n PickupLocationFormatted = 12,\r\n DeliveryLocationCounty = 13,\r\n DeliveryLocationZipCode = 14,\r\n DeliveryLocationCountry = 15,\r\n DeliveryLocationFormatted = 16,\r\n RegDate = 17,\r\n PickupEarliest = 18,\r\n PickupLatest = 19,\r\n DeliveryEarliest = 20,\r\n DeliveryLatest = 21,\r\n BookingDate = 22,\r\n LoadedDate = 23,\r\n BookedPickupDate = 24,\r\n DeliveryDate = 25,\r\n BookedDeliveryDate = 26,\r\n Unit = 27,\r\n ReferenceNo = 28,\r\n NumExtraStops = 29,\r\n DeviationCause = 30,\r\n OtherPriceCause = 31,\r\n AlterDate = 32,\r\n BookingNo = 33,\r\n SpotTenderEndDate = 34,\r\n RegNo = 35,\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 deliveryEarliest!: moment.Moment | undefined;\r\n deliveryLatest!: moment.Moment;\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.deliveryEarliest = _data[\"deliveryEarliest\"] ? moment.parseZone(_data[\"deliveryEarliest\"].toString()) : undefined;\r\n this.deliveryLatest = _data[\"deliveryLatest\"] ? moment.parseZone(_data[\"deliveryLatest\"].toString()) : undefined;\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[\"deliveryEarliest\"] = this.deliveryEarliest ? this.deliveryEarliest.toISOString(true) : undefined;\r\n data[\"deliveryLatest\"] = this.deliveryLatest ? this.deliveryLatest.toISOString(true) : undefined;\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 deliveryEarliest: moment.Moment | undefined;\r\n deliveryLatest: moment.Moment;\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;\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;\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;\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\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 }\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 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;\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}\r\n\r\nexport class AdditionalDeliveryInfoDto implements IAdditionalDeliveryInfoDto {\r\n deliveryDate!: moment.Moment;\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;\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;\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;\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;\r\n pickupLatest!: moment.Moment | undefined;\r\n deliverEarliest!: moment.Moment | undefined;\r\n deliverLatest!: moment.Moment;\r\n regDate!: moment.Moment;\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;\r\n pickupLatest: moment.Moment | undefined;\r\n deliverEarliest: moment.Moment | undefined;\r\n deliverLatest: moment.Moment;\r\n regDate: moment.Moment;\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;\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;\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 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.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[\"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 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 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.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[\"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 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 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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\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;\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\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;\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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;\r\n unitBasePriceDate!: moment.Moment;\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;\r\n unitBasePriceDate: moment.Moment;\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;\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;\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!: ClientMoitoringReportSumsDto | 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\"] ? ClientMoitoringReportSumsDto.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: ClientMoitoringReportSumsDto | 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 ClientMoitoringReportSumsDto implements IClientMoitoringReportSumsDto {\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?: IClientMoitoringReportSumsDto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property))\r\n (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): ClientMoitoringReportSumsDto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClientMoitoringReportSumsDto();\r\n result.init(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 IClientMoitoringReportSumsDto {\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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 truckType!: TruckType;\r\n unit!: string | undefined;\r\n annulledDate!: moment.Moment;\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.truckType = _data[\"truckType\"];\r\n this.unit = _data[\"unit\"];\r\n this.annulledDate = _data[\"annulledDate\"] ? moment.parseZone(_data[\"annulledDate\"].toString()) : undefined;\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[\"truckType\"] = this.truckType;\r\n data[\"unit\"] = this.unit;\r\n data[\"annulledDate\"] = this.annulledDate ? this.annulledDate.toISOString(true) : undefined;\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 truckType: TruckType;\r\n unit: string | undefined;\r\n annulledDate: moment.Moment;\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;\r\n toDate!: moment.Moment;\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;\r\n toDate: moment.Moment;\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 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;\r\n pickupLatest!: moment.Moment;\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;\r\n pickupLatest: moment.Moment;\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;\r\n cargoLoadingToBook!: CargoLoadingDto | undefined;\r\n premisedBookings!: LoadingSlotDto[] | undefined;\r\n cargoLoadingsFromDbToIgnore!: number[] | undefined;\r\n now!: moment.Moment;\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;\r\n cargoLoadingToBook: CargoLoadingDto | undefined;\r\n premisedBookings: LoadingSlotDto[] | undefined;\r\n cargoLoadingsFromDbToIgnore: number[] | undefined;\r\n now: moment.Moment;\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;\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;\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 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.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[\"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 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 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 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;\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;\r\n publishSpeed: PublishSpeed;\r\n loadId: number | 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;\r\n to!: moment.Moment;\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;\r\n to: moment.Moment;\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;\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;\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;\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.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[\"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;\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 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 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 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 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}","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","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 MomentX from \"@/scripts/misc/momentX\";\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} 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}\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 };\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: MomentX,\r\n procurementToDate: MomentX\r\n): boolean => {\r\n return !new MomentX().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: MomentX[];\r\n constructor(vals: IMobilePopupConfiguration) {\r\n this.dismissedDates = vals.dismissedDates;\r\n }\r\n}\r\n\r\ninterface IMobilePopupConfiguration {\r\n dismissedDates: MomentX[];\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: new MomentX().addYears(-3).startOfYear(),\r\n toDate: new MomentX().endOfYear(),\r\n fromCountries: [],\r\n toCountries: [],\r\n fromCounties: [],\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: MomentX;\r\n endDate: MomentX;\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: MomentX;\r\n pickupLatest: MomentX;\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: MomentX;\r\n deliverLatest: MomentX;\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}\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 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 {\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 { t } from \"@/scripts/language/i18n\";\r\nimport neverHappens from \"@/scripts/misc/neverHappens\";\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(\"WeekDays\");\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","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} from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 \"../misc/enumLists\";\r\n\r\nexport default (\r\n type: UserConfigurationType,\r\n subTypeId: number,\r\n actorType: ActorType,\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, json);\r\n break;\r\n case UserConfigurationType.ClientProcurement:\r\n conf = createClientAgreementSearchCriteria(subTypeId, json);\r\n break;\r\n case UserConfigurationType.SupplierAgreement:\r\n conf = createSupplierAgreementSearchCriteria(subTypeId, json);\r\n break;\r\n case UserConfigurationType.SupplierProcurement:\r\n conf = createSupplierProcurementSearchCriteria(subTypeId, json);\r\n break;\r\n case UserConfigurationType.LoadList:\r\n conf = createLoadSearchCriteria(subTypeId, json);\r\n break;\r\n case UserConfigurationType.LoadTab:\r\n conf = createLoadTabConf(subTypeId, actorType, json);\r\n break;\r\n case UserConfigurationType.CreateLoad:\r\n conf = createCreateLoadPresetsConf(json);\r\n break;\r\n case UserConfigurationType.ProcurementDraft:\r\n conf = createProcurementDraftConf(json);\r\n break;\r\n case UserConfigurationType.AgreementRoute:\r\n conf = createAgreementRouteConf(json);\r\n break;\r\n case UserConfigurationType.CostReport:\r\n conf = createCostReportSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.InvoiceReport:\r\n conf = createInvoiceReportSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.LoadStatisticsReport:\r\n conf = createLoadStatisticsReportSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.AgreementStatisticsReport:\r\n conf = createAgreementStatisticsReportSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.DeviationReport:\r\n conf = createDeviationReportSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.DistanceReport:\r\n conf = createDistanceReportSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.MobilePopup:\r\n conf = createMobilePopupConfiguration(json);\r\n break;\r\n case UserConfigurationType.SupplierProcurementConfig:\r\n conf = createSupplierProcurementConfiguration(json);\r\n break;\r\n case UserConfigurationType.CalendarConfiguration:\r\n conf = createCalendarConfiguration(json);\r\n break;\r\n case UserConfigurationType.ReadDocuments:\r\n conf = createReadDocuments(json);\r\n break;\r\n case UserConfigurationType.ProcurementAnalytics:\r\n conf = createProcurementAnalyticsSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.QualityPoints:\r\n conf = createQualityPointsSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.ClientMonitoring:\r\n conf = createClientMonitoringSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.InvoicedFees:\r\n conf = createInvoicedFeesSearchCriteria(json);\r\n break;\r\n case UserConfigurationType.AnnulledLoadsReport:\r\n conf = createAnnulledLoadsReportSearchCriteria(json);\r\n break;\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 json?: string\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: new MomentX(),\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 = momentFromString(parsed.date);\r\n }\r\n if (parsed.unitBasePriceDate !== undefined) {\r\n parsed.unitBasePriceDate = momentFromString(parsed.unitBasePriceDate);\r\n }\r\n if (parsed.baseIndexDate !== undefined) {\r\n parsed.baseIndexDate = momentFromString(parsed.baseIndexDate);\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 json?: string\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: new MomentX(),\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 = momentFromString(parsed.date);\r\n }\r\n if (parsed.unitBasePriceDate !== undefined) {\r\n parsed.unitBasePriceDate = momentFromString(parsed.unitBasePriceDate);\r\n }\r\n if (parsed.baseIndexDate !== undefined) {\r\n parsed.baseIndexDate = momentFromString(parsed.baseIndexDate);\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 json?: string\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 json?: string\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\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 = momentFromString(parsed.filterDate);\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 json?: string\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(json?: string): 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(json?: string): SaveProcurementDto {\r\n let saveDto = new SaveProcurementDto({\r\n cargoType: 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 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: momentFromString(parsed.agreementPeriod!.from as any),\r\n to: momentFromString(parsed.agreementPeriod!.to as any)\r\n }),\r\n procurementPeriods: parsed.procurementPeriods!.map(\r\n p =>\r\n new ProcurementPeriodDto({\r\n number: p.number,\r\n from: momentFromString(p.from as any),\r\n to: momentFromString(p.to as any),\r\n rankingMethod: p.rankingMethod,\r\n qualityPointsFrom: momentFromString(p.qualityPointsFrom as any),\r\n qualityPointsTo: momentFromString(p.qualityPointsTo as any)\r\n })\r\n )\r\n });\r\n } catch (error) {}\r\n return saveDto;\r\n}\r\n\r\nfunction createAgreementRouteConf(json?: string): 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 json?: string\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: new MomentX(),\r\n toDate: new MomentX()\r\n });\r\n try {\r\n const parsed = JSON.parse(json!);\r\n parsed.fromDate = new MomentX();\r\n parsed.toDate = new MomentX();\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 = new MomentX().startOfMonth();\r\n searchCriteria.toDate = new MomentX().endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createInvoiceReportSearchCriteria(\r\n json?: string\r\n): InvoiceReportSearchCriteria {\r\n let searchCriteria = new InvoiceReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX();\r\n parsed.toDate = new MomentX();\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 = new MomentX().startOfMonth();\r\n searchCriteria.toDate = new MomentX().endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createLoadStatisticsReportSearchCriteria(\r\n json?: string\r\n): LoadStatisticsReportSearchCriteria {\r\n let searchCriteria = new LoadStatisticsReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX();\r\n parsed.toDate = new MomentX();\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 = new MomentX().startOfMonth();\r\n searchCriteria.toDate = new MomentX().endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createAgreementStatisticsReportSearchCriteria(\r\n json?: string\r\n): AgreementStatisticsReportSearchCriteria {\r\n let searchCriteria = new AgreementStatisticsReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX();\r\n parsed.toDate = new MomentX();\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 = new MomentX().startOfMonth();\r\n searchCriteria.toDate = new MomentX().endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createDeviationReportSearchCriteria(\r\n json?: string\r\n): DeviationReportSearchCriteria {\r\n let searchCriteria = new DeviationReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX();\r\n parsed.toDate = new MomentX();\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 = new MomentX().startOfMonth();\r\n searchCriteria.toDate = new MomentX().endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createDistanceReportSearchCriteria(\r\n json?: string\r\n): DistanceReportSearchCriteria {\r\n let searchCriteria = new DistanceReportSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX();\r\n parsed.toDate = new MomentX();\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 = new MomentX().startOfMonth();\r\n searchCriteria.toDate = new MomentX().endOfMonth();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createProcurementAnalyticsSearchCriteria(\r\n json?: string\r\n): ProcurementAnalyticsSearchCriteria {\r\n let searchCriteria = new ProcurementAnalyticsSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n agreementValidDate: new MomentX(),\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 = momentFromString(parsed.unitBasePriceDate);\r\n }\r\n searchCriteria = Object.assign(searchCriteria, parsed);\r\n } catch (error) {}\r\n searchCriteria.agreementValidDate = new MomentX().startOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createQualityPointsSearchCriteria(\r\n json?: string\r\n): QualityPointsSearchCriteria {\r\n let searchCriteria = new QualityPointsSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX().addYears(-1).startOfDay();\r\n searchCriteria.toDate = new MomentX().startOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createClientMonitoringSearchCriteria(\r\n json?: string\r\n): ClientMonitoringSearchCriteria {\r\n let searchCriteria = new ClientMonitoringSearchCriteria({\r\n cargoType: CargoType.Road,\r\n truckType: undefined,\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX().addMonths(-1).startOfDay();\r\n searchCriteria.toDate = new MomentX().startOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createInvoicedFeesSearchCriteria(\r\n json?: string\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 = momentFromString(parsed.invoiceDate);\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 json?: string\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: new MomentX(),\r\n toDate: new MomentX(),\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 = new MomentX().addMonths(-1).startOfDay();\r\n searchCriteria.toDate = new MomentX().startOfDay();\r\n return searchCriteria;\r\n}\r\n\r\nfunction createMobilePopupConfiguration(\r\n json?: string\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 momentFromString(d)\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(json?: string): 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(json?: string): 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 json?: string\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: new MomentX(\"2010-01-01\"),\r\n toDate: new MomentX(\"2030-01-01\"),\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: new MomentX(\"2010-01-01\"),\r\n toDate: new MomentX(\"2030-01-01\")\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: new MomentX().startOfMonth(),\r\n feeTypes: []\r\n });\r\n}\r\n\r\nfunction createHeatMapSearchCriteria(): HeatMapSearchCriteria {\r\n return new HeatMapSearchCriteria({\r\n fromDate: new MomentX()\r\n .startOfDay()\r\n .addDays(1)\r\n .addYears(-1),\r\n toDate: new MomentX().startOfDay().addDays(1),\r\n hoursPerGroup: 1,\r\n clientId: 1,\r\n units: []\r\n });\r\n}\r\n\r\nconst mostRelevantBasePriceDate = new MomentX(\"2021-12-10\");\r\n\r\nexport const momentFromString = (str: string | undefined | null): MomentX => {\r\n if (!str) {\r\n return undefined as any;\r\n }\r\n if (str.includes(\"T\")) {\r\n str = str.substring(0, str.indexOf(\"T\"));\r\n }\r\n return new MomentX(str);\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 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(data.type, data.subTypeId, data.actorType);\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: { actorType: ActorType; confs: UserConfigurationDto[] }\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(createUserConf(t, CargoType.Road, data.actorType));\r\n confs.push(createUserConf(t, CargoType.Railroad, data.actorType));\r\n confs.push(\r\n createUserConf(t, CargoType.Container, data.actorType)\r\n );\r\n confs.push(\r\n createUserConf(t, CargoType.MachineTransport, data.actorType)\r\n );\r\n break;\r\n case UserConfigurationType.LoadList:\r\n case UserConfigurationType.LoadTab:\r\n confs.push(createUserConf(t, LoadStatus.Ordered, data.actorType));\r\n confs.push(createUserConf(t, LoadStatus.Booked, data.actorType));\r\n confs.push(createUserConf(t, LoadStatus.Loaded, data.actorType));\r\n confs.push(\r\n createUserConf(t, LoadStatus.Delivered, data.actorType)\r\n );\r\n if ([ActorType.Client].includes(data.actorType)) {\r\n confs.push(\r\n createUserConf(t, LoadStatus.Annulled, data.actorType)\r\n );\r\n }\r\n if (\r\n [ActorType.Client, ActorType.Supplier].includes(data.actorType)\r\n ) {\r\n confs.push(createUserConf(t, spotTenderTabId, data.actorType));\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));\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 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} 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 { momentFromString } 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 = momentFromString(parsed.fromDate);\r\n }\r\n if (parsed.toDate !== undefined) {\r\n parsed.toDate = momentFromString(parsed.toDate);\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 } 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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX;\r\n activityDate: MomentX;\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 },\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: new MomentX(),\r\n activityDate: new MomentX()\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): MomentX => {\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 = new MomentX();\r\n }\r\n },\r\n [mutations.setMouseActivityDate]: state => {\r\n state.mouseActivityDate = new MomentX();\r\n state.activityDate = new MomentX();\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 new MomentX().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 = \"ERROR: \" + message + \"\\n\" + new MomentX().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} 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} 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 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örslistan\",\r\n to: \"/support-admin/actors\",\r\n untranslated: true\r\n },\r\n {\r\n text: \"Avtalslistan\",\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:{ 'narrow-menu-button': _vm.narrowButtons },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){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"tiny-padding narrow-menu-button\",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,2345885075)},[_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()],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\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\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 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 }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=fe3b09ce&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=fe3b09ce&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 \"fe3b09ce\",\n 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 { 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';\ninstallComponents(component, {VBadge,VBtn,VIcon,VList,VListItem,VListItemContent,VListItemIcon,VMenu,VSpacer,VToolbarTitle})\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} from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 = MomentX.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 new MomentX().unix() - this.prevStatusCheck.unix();\r\n if (secondsSinceLastCheck > 10) {\r\n this.checkSystemStatus();\r\n }\r\n let secondsSinceLastDimensionsReport =\r\n new MomentX().unix() - this.prevStatusDimensionsReport.unix();\r\n if (secondsSinceLastDimensionsReport > 300) {\r\n this.reportCurrentDimensions();\r\n }\r\n }\r\n },\r\n computed: {\r\n activityDate(): MomentX {\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 = new MomentX();\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 = new MomentX();\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.loacationAndAgreementRouteLastModified\r\n )\r\n ) {\r\n this.$store.commit(mutations.setLocationCacheOutdated, true);\r\n }\r\n this.prevCacheDate = res.loacationAndAgreementRouteLastModified;\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 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(new MomentX().addDays(Math.pow(2, dis.length) * -7))\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(new MomentX());\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: MomentX;\r\n prevStatusDimensionsReport: MomentX;\r\n prevCacheDate?: MomentX;\r\n } {\r\n return {\r\n menu: [],\r\n prevStatusCheck: new MomentX(),\r\n prevStatusDimensionsReport: MomentX.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=7b53136a&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=7b53136a&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 \"7b53136a\",\n 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 MomentX from \"@/scripts/misc/momentX\";\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 },\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 (MomentX.isMoment(this.value)) {\r\n return (this.value as MomentX).shortDateTimePrint();\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=4a5e6782&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=4a5e6782&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 \"4a5e6782\",\n 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\nimport MomentX from \"@/scripts/misc/momentX\";\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 data: (): { secondsLeft: number } => ({\r\n secondsLeft:\r\n new MomentX(\"2023-03-27 07:30:00\").unix() - new MomentX().unix()\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.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=1829f537&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=1829f537&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 \"1829f537\",\n 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.spotTenderEndDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.spotTenderEndDate,\"width\":\"120\"}})]}},{key:\"item.pickupEarliest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupEarliest,\"width\":\"120\"}})]}},{key:\"item.pickupLatest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.pickupLatest,\"width\":\"120\"}})]}},{key:\"item.deliveryEarliest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryEarliest,\"width\":\"120\"}})]}},{key:\"item.deliveryLatest\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryLatest,\"width\":\"120\"}})]}},{key:\"item.bookingDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookingDate,\"width\":\"120\"}})]}},{key:\"item.loadedDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.loadedDate,\"width\":\"120\"}})]}},{key:\"item.bookedPickupDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookedPickupDate,\"width\":\"120\"}})]}},{key:\"item.deliveryDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.deliveryDate,\"width\":\"120\"}})]}},{key:\"item.bookedDeliveryDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.bookedDeliveryDate,\"width\":\"120\"}})]}},{key:\"item.alterDate\",fn:function(ref){\n var item = ref.item;\nreturn [_c('EllipsisTableItem',{attrs:{\"text\":item.alterDate,\"width\":\"120\"}})]}},{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.SpotTenderEndDate,\r\n value: \"spotTenderEndDate\",\r\n text: \"SpotTenderEndDateShort\",\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.PickupLatest,\r\n value: \"pickupLatest\",\r\n text: \"PickupLatest\",\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.DeliveryLatest,\r\n value: \"deliveryLatest\",\r\n text: \"DeliveryLatest\",\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.LoadedDate,\r\n value: \"loadedDate\",\r\n text: \"LoadedDate\",\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.DeliveryDate,\r\n value: \"deliveryDate\",\r\n text: \"DeliveredDate\",\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.AlterDate,\r\n value: \"alterDate\",\r\n text: \"Altered\",\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},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} from \"@/scripts/cld.api\";\r\nimport store from \"@/scripts/store/store\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 pickupCountiesSupportAdmin: 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: MomentX;\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 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:*/ MomentX,\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 => !isShortTimeType(c.type) || c.timestamp.isLessThanSecondsOld(30)\r\n );\r\n } else if (isLongTimeType(endpoint)) {\r\n cache = cache.filter(\r\n c => !isLongTimeType(c.type) || c.timestamp.isLessThanSecondsOld(7200)\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: new MomentX(),\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 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:\r\n | \"countries\"\r\n | \"customers\"\r\n | \"pickupCountiesSupportAdmin\"\r\n | \"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(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: MomentX\r\n): Promise;\r\n\r\nfunction cached(\r\n endpoint: \"trucktypesByAgreementrouteid\",\r\n cargoType: CargoType,\r\n agreementDate: MomentX,\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\":\"4\"}},[_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',{staticClass:\"no-padding-bottom no-padding-right\",attrs:{\"cols\":\"4\"}},[_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):_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)],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\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 },\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=1b003167&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=1b003167&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 \"1b003167\",\n 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\r\nimport Vue from \"vue\";\r\nimport { ActorType, CargoType, RepositoryDto } 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} 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 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 },\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.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.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.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 };\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 }\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=3ddcf88c&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=3ddcf88c&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 \"3ddcf88c\",\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 MomentX from \"@/scripts/misc/momentX\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n text: ([String, Number, MomentX] as any) as () => string | number | MomentX,\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=a1e1867e&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 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(new MomentX())\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=1e2478e0&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=1e2478e0&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 \"1e2478e0\",\n 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","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\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 UserConfigurationType\r\n} from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 {\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 },\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 },\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?: MomentX): string {\r\n if (!!d && d.isSameOrAfter(new MomentX())) {\r\n return this.presentDate(d);\r\n }\r\n return \"\";\r\n },\r\n presentDate(d?: MomentX): 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=080c7e2c&\"\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 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=68d0a077&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=68d0a077&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 \"68d0a077\",\n 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('ReadOnlyText',{attrs:{\"label\":_vm.$t('RegDate'),\"value\":_vm.values.regDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.values.pickupEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{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('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingDate'),\"value\":_vm.values.bookingDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"value\":_vm.values.deliverEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{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',{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 ReadOnlyText from \"@/components/shared/ui/ReadOnlyText.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 ReadOnlyText,\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=95290e40&\"\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('ReadOnlyText',{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('ReadOnlyText',{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('ReadOnlyText',{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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { ActorType, LoadDetailsDatesDto } from \"@/scripts/cld.api\";\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 },\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 nextVisible(): string {\r\n if (this.values.visibleToNextSupplier !== undefined) {\r\n if (new MomentX().isSameOrAfter(this.values.visibleToNextSupplier!)) {\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=b8471874&\"\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')}})],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.$t(\"ClosedAllDay\"))+\" \")]),_c('td',[_vm._v(\" \"+_vm._s(holiday.stop ? holiday.stop.hoursAndMinutes() : _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\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 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 MomentX from \"@/scripts/misc/momentX\";\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 },\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 ? d.start.hoursAndMinutes() : \"\";\r\n },\r\n endTime(dayType: DayType): string {\r\n const d = this.workingHours.find(w => w.dayType === dayType);\r\n return d ? d.stop.hoursAndMinutes() : \"\";\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.holidays = res\r\n .holidays!.filter(\r\n h =>\r\n h.date > new MomentX().addDays(-1) &&\r\n h.date < new MomentX().addYears(1)\r\n )\r\n .sort((a, b) => a.date.unix() - b.date.unix());\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 } => ({\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 })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=10d8a067&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX | 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=b8f5d5fc&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=b8f5d5fc&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 \"b8f5d5fc\",\n 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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\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=803d56dc&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=803d56dc&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 \"803d56dc\",\n 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'),\"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'),\"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)?_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.eventDate,\"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,\"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 MomentX from \"@/scripts/misc/momentX\";\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 originalValue: Object as () => MomentX | MomentX.Duration,\r\n moreMinutes: Boolean,\r\n updateOnClose: Boolean,\r\n timeOk: (Function as any) as () => { (date: MomentX): boolean }\r\n },\r\n watch: {\r\n originalValue: {\r\n handler() {\r\n if ((this.originalValue as MomentX).datePrint !== undefined) {\r\n this.date = this.originalValue as MomentX;\r\n } else {\r\n this.date = new MomentX()\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 : new MomentX().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 : new MomentX().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 = new MomentX().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 = new MomentX().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?: MomentX } => ({\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=063e4081&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=063e4081&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 \"063e4081\",\n 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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport TimePickerDialog from \"@/components/shared/input/TimePickerDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InfoTooltip,\r\n TimePickerDialog\r\n },\r\n props: {\r\n value: MomentX,\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 () => (MomentX | undefined)[],\r\n gteText: String,\r\n lteDate: MomentX,\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 },\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 const date = dstring?.length > 0 ? this.toMoment(dstring) : null;\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 toMoment(dstring: string | null): MomentX {\r\n return new MomentX(dstring, \"YYYY-MM-DD HH:mm\");\r\n },\r\n toDateString(date: MomentX): string | null {\r\n if (date) {\r\n if (this.withTime) {\r\n return date.shortDateTimePrintSeparated();\r\n }\r\n return date.datePrint();\r\n }\r\n return null;\r\n },\r\n eventDate(dstring: string): boolean {\r\n const timePoints = [...Array(this.withTime ? 24 : 1).keys()].map(h =>\r\n new MomentX(dstring)\r\n .startOfDay()\r\n .addHours(h)\r\n .dateTimePrint()\r\n );\r\n return !timePoints\r\n .map(t => this.computedRules(t).every(r => r === true))\r\n .reduce((a, b) => a || b, false);\r\n },\r\n computedRules(dstring: string | null): (boolean | string)[] {\r\n if (!dstring && this.allowNull) {\r\n return [];\r\n }\r\n const date = this.toMoment(dstring);\r\n const rules = this.rules as\r\n | { (date: MomentX): 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.validMoment(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 validMoment(date: MomentX): 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: MomentX): boolean | string {\r\n if (this.gteToday !== true) {\r\n return true;\r\n }\r\n return (\r\n date.isSameOrAfter(new MomentX().startOfDay()) ||\r\n this.$t(\"DateBeforeToday\").toString()\r\n );\r\n },\r\n greaterThanEqualNow(date: MomentX): boolean | string {\r\n if (this.gteNow !== true) {\r\n return true;\r\n }\r\n return (\r\n date.isSameOrAfter(new MomentX().addMinutes(-45)) ||\r\n this.$t(\"DateBeforeToday\").toString()\r\n );\r\n },\r\n greaterThanEqual(date: MomentX): 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: MomentX): 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 = this.toMoment(dstring)\r\n .withHours(hours)\r\n .withMinutes(minutes)\r\n .shortDateTimePrint();\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 data: (): {\r\n menu: boolean;\r\n datePicker: boolean;\r\n } => ({\r\n menu: false,\r\n datePicker: 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!./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=7ed215a4&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=7ed215a4&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 \"7ed215a4\",\n 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\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=fc1b8a62&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\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=590b6420&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=590b6420&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 \"590b6420\",\n 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 MomentX from \"@/scripts/misc/momentX\";\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 cargoType: Number as () => CargoType,\r\n agreementDate: MomentX,\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=7c3a3404&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\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=45f80d00&\"\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 MomentX from \"@/scripts/misc/momentX\";\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?: MomentX): string {\r\n return d === undefined ? \"\" : d.shortDateTimePrint();\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=64974f1c&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=64974f1c&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 \"64974f1c\",\n 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')}})],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')}})],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')}})],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\":true,\"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\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=832fb79e&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=832fb79e&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 \"832fb79e\",\n 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.unix() - b.timeStamp.unix();\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=3f1b6803&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=3f1b6803&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 \"3f1b6803\",\n 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',[(_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=6c2eb19e&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=6c2eb19e&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 \"6c2eb19e\",\n 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 } 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 MomentX from \"@/scripts/misc/momentX\";\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 ], //FIXME: ...diskName.split('.').at(-1) ----- string[].at kräver ES2022 som är tillgängligt i typescript v >= 4.6\r\n actorName: this.$store.getters[gets.userInfo].actorName,\r\n regDate: new MomentX()\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=28f88b6c&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=28f88b6c&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 \"28f88b6c\",\n 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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\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=7251ec91&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\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=4c05d9c4&\"\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,\"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,\"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,\"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,\"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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { t } from \"../language/i18n\";\r\n\r\nexport const pickupDeliveryRules = (\r\n pickupEarliest: MomentX,\r\n pickupLatest: MomentX | undefined,\r\n deliverEarliest: MomentX | 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?: MomentX): boolean | string }[];\r\n deliverEarliest: { (date?: MomentX): boolean | string }[];\r\n deliverLatest: { (date?: MomentX): boolean | string }[];\r\n}\r\n\r\nexport const geq = (\r\n d1: MomentX | undefined,\r\n s1: string,\r\n s2: string\r\n): { (date?: MomentX): boolean | string } => {\r\n return (d2?: MomentX) =>\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: MomentX | undefined,\r\n s1: string,\r\n s2: string\r\n): { (date?: MomentX): boolean | string } => {\r\n return (d2?: MomentX) =>\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\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} 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 if (\r\n this.agreementRoute &&\r\n this.loadStatus === 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 },\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=061ad2d8&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 },\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 agreementDate(): MomentX {\r\n let date: MomentX;\r\n if (this.dates && this.dates.pickupEarliest) {\r\n date = this.dates.pickupEarliest;\r\n } else {\r\n date = new MomentX();\r\n }\r\n return date.startOfDay();\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 });\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=23d56fd8&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=23d56fd8&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 \"23d56fd8\",\n 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 ? 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}}),(_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:{\"label\":_vm.$t('BookedPickupDate'),\"gteDates\":[_vm.loadValidationInfo.pickupEarliest],\"gteNow\":\"\",\"invalidText\":_vm.$t('RequiredPickupDate'),\"with-time\":\"\",\"allow-null\":!_vm.loadValidationInfo.mandatoryBookedPickupDate,\"asterisk\":_vm.loadValidationInfo.mandatoryBookedPickupDate},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:{\"label\":_vm.$t('BookedDeliveryDate'),\"gteDates\":[\n _vm.loadValidationInfo.pickupEarliest,\n _vm.saveDto.bookedPickupDate\n ],\"gteNow\":\"\",\"invalidText\":_vm.$t('BookedDeliveryRequired'),\"with-time\":\"\",\"allow-null\":!_vm.loadValidationInfo.mandatoryBookedDeliveryDate,\"asterisk\":_vm.loadValidationInfo.mandatoryBookedDeliveryDate},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\"},[_vm._v(\" \"+_vm._s(_vm.date1)+\" \")])]),_c('v-col',{staticClass:\"no-padding-top small-padding-bottom blackish-text\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"tiny-padding-left\"},[_vm._v(_vm._s(_vm.date2))])]),_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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n text1: String,\r\n text2: String,\r\n date1: MomentX,\r\n date2: MomentX\r\n }\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=1c20013a&\"\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\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} from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 pickupEarliest?: MomentX;\r\n pickupLatest?: MomentX;\r\n deliveryEarliest?: MomentX;\r\n deliveryLatest?: MomentX;\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 if (\r\n this.saveDto!.bookedDeliveryDate! >\r\n this.loadValidationInfo.deliveryLatest!\r\n ) {\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.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 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 pickupEarliest: r.pickupEarliest,\r\n pickupLatest: r.pickupLatest,\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=190681de&\"\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 ? 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',{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\":\"\"},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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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\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: new MomentX(),\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 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=506a1eb6&\"\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 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=c6c43f84&\"\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:{\"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\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 TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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: new MomentX(),\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\r\n this.load = {\r\n loadId: this.loadId,\r\n routeName: res.routeName!,\r\n pickupEarliest: new MomentX(),\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?: MomentX;\r\n deliveryLatest?: MomentX;\r\n loadedDate?: MomentX;\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 })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.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=e648417c&\"\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 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=6ed762c7&\"\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'),\"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'),\"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'),\"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'),\"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\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 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=40823d6d&\"\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'),\"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,\"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,\"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,\"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\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=045ad2fa&\"\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,\"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\r\nimport Vue from \"vue\";\r\nimport {\r\n CargoType,\r\n CreateSpotTenderDto,\r\n DocumentGroupDto,\r\n RepositoryDto\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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { leq } from \"@/scripts/misc/dateUtils\";\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?: MomentX): 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 },\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=a511d608&\"\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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport { truckTypeName } from \"@/scripts/misc/enumNames\";\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 new MomentX().shortDateTimePrintWithTo(\r\n this.saveDto.endDate,\r\n localeCode()\r\n );\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=2348c651&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=2348c651&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 \"2348c651\",\n 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 }),\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 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=2788c4a6&\"\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 } 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 MomentX from \"@/scripts/misc/momentX\";\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 new MomentX().shortDateTimePrintWithTo(\r\n this.infoDto.endDate,\r\n localeCode()\r\n );\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 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=25188c38&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=25188c38&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 \"25188c38\",\n 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'),\"asterisk\":_vm.infoDto.mandatoryBookedPickup,\"allow-null\":!_vm.infoDto.mandatoryBookedPickup,\"rules\":_vm.bookedPickupRules,\"with-time\":\"\"},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'),\"asterisk\":_vm.infoDto.mandatoryBookedDelivery,\"allow-null\":!_vm.infoDto.mandatoryBookedDelivery,\"rules\":_vm.bookedDeliveryRules,\"with-time\":\"\"},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\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 } 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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX | undefined;\r\n originalBookedPickupDate: MomentX | undefined;\r\n bookedDeliveryDate: MomentX | undefined;\r\n originalBookedDeliveryDate: MomentX | 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 new MomentX().shortDateTimePrintWithTo(\r\n this.infoDto.endDate,\r\n localeCode()\r\n );\r\n },\r\n bookedPickupRules(): { (date?: MomentX): 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?: MomentX): 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 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=6940e59c&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=6940e59c&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 \"6940e59c\",\n 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 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=f8813e04&\"\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\":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:\"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,\"asterisk\":_vm.mandatoryBookedPickupDate,\"disabled\":!_vm.bookedPickupDateEnabled,\"timeEnabledAnyway\":_vm.bookedPickupTimeEnabled},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,\"asterisk\":_vm.mandatoryBookedDeliveryDate,\"disabled\":!_vm.bookedDeliveryDateEnabled,\"timeEnabledAnyway\":_vm.bookedDeliveryTimeEnabled},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'),\"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\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 TruckType\r\n} from \"@/scripts/cld.api\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 },\r\n methods: {\r\n save() {\r\n if (this.saveDto!.bookedPickupDate! > this.deliveryLatest!) {\r\n popupDialog({\r\n title: t(\"BookedPickupDate\"),\r\n body: t(\"ConfirmDateErrorBooking\"),\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 if (this.saveDto!.bookedDeliveryDate! > this.deliveryLatest!) {\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.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 pickupEarliest: new MomentX(),\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?: MomentX;\r\n pickupLatest?: MomentX;\r\n deliveryEarliest?: MomentX;\r\n deliveryLatest?: MomentX;\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=c02e9b0e&\"\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 MomentX from \"@/scripts/misc/momentX\";\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=59daf821&\"\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 MomentX from \"@/scripts/misc/momentX\";\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=6421794a&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\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=4e005984&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 pickupEarliest: new MomentX(),\r\n deliverLatest: new MomentX(),\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=b10654c2&\"\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'),\"gte-today\":\"\",\"with-time\":\"\",\"allowNull\":true},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'),\"gte-today\":\"\",\"with-time\":\"\",\"allowNull\":true},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'),\"gte-today\":\"\",\"with-time\":\"\",\"allowNull\":true},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\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} from \"@/scripts/cld.api\";\r\nimport { actions } 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 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=5f28372d&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=5f28372d&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 \"5f28372d\",\n 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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n windowStart: MomentX,\r\n windowEnd: MomentX,\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.unix() - this.windowStart.unix()) / this.secondsPerBox\r\n );\r\n },\r\n locale(): string {\r\n return localeCode();\r\n },\r\n currentTimeBox(): number {\r\n const nowish = new MomentX().loadingSlotNowish();\r\n const diff = nowish.unix() - this.windowStart.unix();\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=7a814f5a&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=7a814f5a&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 \"7a814f5a\",\n 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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\r\n windowEnd: MomentX\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 = endDateWithinWindow.unix() - startDateWithinWindow.unix();\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: MomentX, 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: MomentX,\r\n endDate: MomentX,\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=15c62cae&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=15c62cae&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 \"15c62cae\",\n 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} 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 MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX(this.$route.query.date as string);\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: MomentX, oldVal: MomentX) {\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 = new MomentX().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: MomentX, endDate: MomentX) {\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: new MomentX(),\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 = new MomentX().loadingSlotNowish();\r\n if (this.workingWithBlocking) {\r\n this.load = {\r\n loadId: -1,\r\n transportNo: undefined,\r\n pickupEarliest: MomentX.minDate(),\r\n pickupLatest: MomentX.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: MomentX.minDate(),\r\n pickupLatest: MomentX.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.unix() - new MomentX().unix();\r\n setTimeout(this.calculateSecondsUntilNowish, 1000);\r\n },\r\n slideCalendarDate() {\r\n this.calendarDate = new MomentX().startOfDay();\r\n this.changeDate((new MomentX().hours() - 1) * 3600);\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: MomentX;\r\n refreshTime: MomentX;\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: new MomentX().startOfDay(),\r\n refreshTime: new MomentX().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=2b05dc18&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX, oldVal: MomentX) {\r\n let secondsInactive = newVal.unix() - oldVal.unix();\r\n if (secondsInactive > 45) {\r\n this.search(false, false);\r\n }\r\n }\r\n },\r\n computed: {\r\n activityDate(): MomentX {\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=881e9262&\"\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:{\"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\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 },\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(this.date)\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: MomentX; allPrices: PriceListDto[] } => ({\r\n loading: true,\r\n date: new MomentX(),\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=c1355890&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=c1355890&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 \"c1355890\",\n 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'),\"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 MomentX from \"@/scripts/misc/momentX\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n from: String,\r\n to: MomentX,\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=a7af2dc2&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=a7af2dc2&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 \"a7af2dc2\",\n 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 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=0a90f5d0&\"\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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 FuelIndexDto,\r\n FuelIndexType,\r\n IndexPeriodDto,\r\n IndexType,\r\n RepositoryClient,\r\n RepositoryDto\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 } 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 | undefined {\r\n const val = this.$route.query.from;\r\n if (!val) {\r\n return undefined;\r\n }\r\n return val as string;\r\n },\r\n to(): MomentX | undefined {\r\n const val = this.$route.query.to;\r\n if (!val) {\r\n return undefined;\r\n }\r\n return this.toMomentX(val as string);\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 = new MomentX(this.from);\r\n const points = this.fuelIndexes\r\n .filter(i => i.date > new MomentX(\"2012-01-01\"))\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 =>\r\n p.date.isSame(new MomentX(this.from))\r\n )!.factor - 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 },\r\n methods: {\r\n labelCallback(x: TooltipItem<\"line\">): string {\r\n return percentage(x.raw as number, 2);\r\n },\r\n toMomentX(val: string): MomentX | undefined {\r\n return new MomentX(val);\r\n },\r\n fromChanged(val: string | undefined) {\r\n this.changeDates(val, this.to);\r\n },\r\n toChanged(val: MomentX | undefined) {\r\n this.changeDates(this.from, val);\r\n },\r\n changeDates(from: string | undefined, to: MomentX | 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 = new MomentX(this.from);\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(from, to)\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(from)\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(new MomentX());\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=34175d26&\"\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 MomentX from \"@/scripts/misc/momentX\";\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: MomentX\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=b2815432&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=b2815432&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 \"b2815432\",\n 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.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 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 resetFormValidation() {\r\n return this.$nextTick().then(() => {\r\n let form: any = this.$refs.form;\r\n form.reset();\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=9e7615c8&\"\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.unix().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=22cabbc5&\"\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')) + \")\"),\"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')) + \")\"),\"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\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n InvoiceReportSearchCriteria,\r\n InvoiceReportContainerDto,\r\n RepositoryDto\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 },\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!./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=0beaa9d5&\"\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('span',{staticClass:\"dont-render-newlines\"},[_vm._v(_vm._s(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 MomentX from \"@/scripts/misc/momentX\";\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 },\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=72119872&\"\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')) + \")\"),\"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')) + \")\"),\"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\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} 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 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=ba5c1962&\"\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')) + \")\"),\"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')) + \")\"),\"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\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AgreementStatisticsReportSearchCriteria,\r\n AgreementStatisticsReportContainerDto,\r\n RepositoryDto,\r\n ActorType\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 },\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=0dfe5a82&\"\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.totalValue(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 totalValue(h: string): string {\r\n const val = (this.reportContainer.total as any)[h] as number;\r\n if (h === \"rank\") {\r\n return \"\";\r\n }\r\n return this.showPercentage && h !== \"loadsTotal\"\r\n ? percentage(val, 0)\r\n : 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=06f85128&\"\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')) + \")\"),\"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')) + \")\"),\"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\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} 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 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=6caafb12&\"\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')) + \")\"),\"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')) + \")\"),\"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\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} 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 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=00b01c34&\"\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),(_vm.actorInvoiceInformations.length > 1 && _vm.isSupplier)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('Dropdown',{attrs:{\"label\":_vm.$t('InvoiceRecipient'),\"items\":_vm.actorInvoiceInformations,\"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\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 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 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 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 this.fetchActorInvoiceInformations();\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=281bbdde&\"\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)+\" \")]}},{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=47dadb4e&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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.agreementPeriods!.map(p => p.to.startOfDay().unix()))\r\n .flatMap(x => x)\r\n .map(\r\n d =>\r\n new RepositoryDto({\r\n id: d,\r\n text: `***** - ${MomentX.unix(d).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=5ed6c523&\"\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')},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]},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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 } from \"@/scripts/cld.api\";\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 },\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 data: (): {\r\n fetchInProgress: boolean;\r\n from: MomentX;\r\n to: MomentX;\r\n } => ({\r\n fetchInProgress: true,\r\n from: new MomentX().startOfDay().addYears(-1),\r\n to: new MomentX().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=1fed3ec5&\"\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 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 MomentX from \"@/scripts/misc/momentX\";\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 start =\r\n (this.tableOptions.page - 1) * this.tableOptions.itemsPerPage;\r\n const end = start + this.tableOptions.itemsPerPage;\r\n this.tracker.editingRoutes = this.sortedRoutes\r\n .slice(start, end)\r\n .map(r => ({\r\n id: r.id,\r\n edited: false,\r\n originalValue: this.valueForChangeDetection(r)\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().unix())\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 => includeAll || p.to.isSameOrAfter(new MomentX().startOfDay())\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: MomentX, to: MomentX) {\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=c2345ae4&\"\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.$t('CreateProcurement'),\"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,\"agreementToDates\":_vm.agreementToDates,\"documentGroups\":_vm.documentGroups},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); }}})],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)],1),(_vm.cargoType)?_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\"}},[_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)])],1):_vm._e(),(_vm.cargoType)?_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')},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]},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\r\nimport Vue from \"vue\";\r\nimport {\r\n AgreementPeriodDto,\r\n AgreementToDateDto,\r\n CargoType,\r\n DocumentGroupDto,\r\n RepositoryDto\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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { 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 agreementToDates: Array as () => AgreementToDateDto[],\r\n documentGroups: Array as () => DocumentGroupDto[]\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 this.emitValidity();\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 },\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 },\r\n methods: {\r\n agreementEndText(date: MomentX, 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 }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.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=7b4db22c&\"\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 }},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\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=7aecef44&\"\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 { AgreementRouteForProcurementDto, CargoType } 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=7cd1fd69&\"\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)],\"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],\"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,\"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')},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]},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\r\nimport Vue from \"vue\";\r\nimport {\r\n ProcurementPeriodDto,\r\n RankingMethod,\r\n RepositoryDto\r\n} from \"@/scripts/cld.api\";\r\nimport { rankingMethods } from \"@/scripts/misc/enumLists\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 => p.rankingMethod !== undefined && p.from && p.to\r\n );\r\n },\r\n today(): MomentX {\r\n return new MomentX().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.diff(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): MomentX | 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 } => ({\r\n rankingMethods: rankingMethods()\r\n })\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.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=07f4b14a&\"\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\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 AgreementPeriodDto,\r\n AgreementRouteForProcurementDto,\r\n AgreementRoutesClient,\r\n AgreementsClientClient,\r\n AgreementToDateDto,\r\n ApiConfiguration,\r\n CargoType,\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 ];\r\n },\r\n procurementStart(): MomentX | 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 },\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 this.procurement.cargoType,\r\n this.procurement.agreementPeriod!.from\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.agreementToDates = 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(this.procurementStart)\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 this.procurement.cargoType,\r\n this.procurement.agreementPeriod!.from,\r\n this.procurement.agreementRouteIds!\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 agreementToDates: AgreementToDateDto[];\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 agreementToDates: [],\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 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=055448c6&\"\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'),\"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\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX();\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 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 = new MomentX(s);\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=c41a93c2&\"\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 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 MomentX from \"@/scripts/misc/momentX\";\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 },\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.unix(),\r\n b.procurementFromDate.unix()\r\n ) ||\r\n stringCompare(\r\n a.procurementToDate.unix(),\r\n b.procurementToDate.unix()\r\n );\r\n break;\r\n case \"agreementPeriod\":\r\n c = (a, b) =>\r\n stringCompare(a.fromDate.unix(), b.fromDate.unix()) ||\r\n stringCompare(a.toDate.unix(), b.toDate.unix());\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 new MomentX().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: MomentX) {\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=4d937e1e&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=4d937e1e&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 \"4d937e1e\",\n 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'),\"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'),\"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\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} 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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { actions } 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 previous ? this.prevAgreement.id : this.agreement.id,\r\n null,\r\n null\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 let oldRanking = movedRow.ranking;\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: MomentX.minDate(),\r\n nextAgreementStart: MomentX.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=74dda762&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=74dda762&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 \"74dda762\",\n 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\":\"\"},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')},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')},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')},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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport {\r\n ProcurementsClientClient,\r\n ApiConfiguration,\r\n RankingMethod,\r\n AddProcurementPeriodDto,\r\n RepositoryDto\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 } 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 = new MomentX().startOfDay();\r\n this.newPeriod.toDate = new MomentX().startOfDay();\r\n this.newPeriod.qualityPointsFromDate = new MomentX()\r\n .addYears(-1)\r\n .startOfDay();\r\n this.newPeriod.qualityPointsToDate = new MomentX().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 } => ({\r\n loading: false,\r\n valid: true,\r\n rankingMethods: rankingMethods(),\r\n newPeriod: new AddProcurementPeriodDto({\r\n agreementIds: [],\r\n fromDate: new MomentX(),\r\n toDate: new MomentX(),\r\n qualityPointsFromDate: new MomentX(),\r\n qualityPointsToDate: new MomentX(),\r\n rankingMethod: RankingMethod.NoAutomaticRanking,\r\n messageToSupplier: \"\",\r\n sendEmails: 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!./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=2d8cdb00&\"\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} 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 agreement.id,\r\n this.searchCriteria.truckType || null,\r\n this.searchCriteria.unitBasePriceDate\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=5319b420&\"\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.momentFromDateString(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} 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 MomentX from \"@/scripts/misc/momentX\";\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 momentFromDateString(dateString: string | undefined): MomentX | undefined {\r\n return dateString ? new MomentX(dateString) : 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=005b1e61&\"\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} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport scrollTableToTop from \"@/scripts/misc/scrollTableToTop\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX();\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.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=02d67f51&\"\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')) + \")\"),\"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')) + \")\"),\"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\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} 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 },\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=9185370e&\"\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')) + \")\"),\"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')) + \")\"),\"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)}})],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)}})],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)}})],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\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n DeviationReportSearchCriteria,\r\n DeviationReportContainerDto,\r\n RepositoryDto\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 },\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=0101c694&\"\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')) + \")\"),\"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')) + \")\"),\"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\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n ClientMonitoringSearchCriteria,\r\n ClientMonitoringContainerDto,\r\n ClientMoitoringReportSumsDto,\r\n CargoType\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(): ClientMoitoringReportSumsDto {\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 },\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=280049cf&\"\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 ClientMoitoringReportSumsDto\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 ClientMoitoringReportSumsDto()\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=2b00f10e&\"\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')) + \")\"),\"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')) + \")\"),\"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\r\nimport Vue from \"vue\";\r\nimport {\r\n UserConfigurationType,\r\n AnnulledLoadsReportSearchCriteria,\r\n AnnulledLoadsReportContainerDto\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 },\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=7ddf4d87&\"\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.annulledDate.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=7f854cfc&\"\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.dateTimePrint())+\" \")])]}}],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.unix() - b.date.unix();\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=205d6ed0&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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: new MomentX(),\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=033260c6&\"\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'),\"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\r\nimport Vue from \"vue\";\r\nimport { ApiConfiguration, AgreementsClientClient } from \"@/scripts/cld.api\";\r\nimport SearchCard from \"@/components/shared/ui/SearchCard.vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport { excelPrompt } from \"@/scripts/misc/filePrompts\";\r\nimport { actions } from \"@/scripts/store/constants\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n SearchCard,\r\n DatePicker\r\n },\r\n methods: {\r\n exportToExcel() {\r\n this.exportLoading = true;\r\n new AgreementsClientClient(new ApiConfiguration(this.$store))\r\n .exportSupplierRoutePrices(this.exportDate)\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: MomentX;\r\n } => ({\r\n exportLoading: false,\r\n exportDate: new MomentX()\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.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=0c2faa30&\"\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')},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\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX(s);\r\n }\r\n },\r\n cargoTypes(): RepositoryDto[] {\r\n return actorCargoTypes();\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=5580feec&\"\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')},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\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} 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 } from \"@/scripts/store/constants\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 = (): CostForecatReportSearchCriteriaContainer =>\r\n new CostForecatReportSearchCriteriaContainer({\r\n searchCriteria: new CostForecastSearchCriteria({\r\n costForecastRankMethod: CostForecastRankMethod.All,\r\n cargoType: CargoType.Road,\r\n agreementDate: new MomentX()\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 methods: {\r\n cargoTypes: cargoTypes,\r\n costForecastRankMethods: costForecastRankMethods,\r\n clearSelection() {\r\n this.criteria = createNewCritiera();\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 // TODO: Ta bort errorObject när vi har en fungerande lösning där felet hämtas in ordentligt\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 //TODO: Ersätt errorObject med error när lösning finns\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: createNewCritiera()\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=b473feb0&\"\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} from \"@/scripts/cld.api\";\r\nimport { t } from \"@/scripts/language/i18n\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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: new MomentX(),\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=2a0d501e&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 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: new MomentX(),\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=7b0b42cf&\"\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\":\"\"},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\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=39f95da8&\"\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]}})],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),_c('v-row',[_c('v-col',{staticClass:\"no-padding-bottom font-weight-medium\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"BaseIndex\"))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"no-padding-top tiny-padding-bottom\",attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.item.baseIndexName)+\" \")])],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 { SupplierProcurementRowDto } from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\n\r\nexport default Vue.extend({\r\n props: {\r\n item: SupplierProcurementRowDto\r\n },\r\n computed: {\r\n dateAsText(): string {\r\n const now = new MomentX();\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.unix() - a.to.unix())[0];\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 }\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.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=56b002b2&\"\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=4edc45c9&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=4edc45c9&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 \"4edc45c9\",\n 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\":750,\"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=72961acf&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=72961acf&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 \"72961acf\",\n 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},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\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX(s);\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 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=06b9b654&\"\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.momentFromDateString(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} 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 MomentX from \"@/scripts/misc/momentX\";\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 momentFromDateString(dateString: string | undefined): MomentX | undefined {\r\n return dateString ? new MomentX(dateString) : 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=04b674db&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX();\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 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=068463ce&\"\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 => s.completed && s.answerDate.unix() > submission.answerDate.unix()\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=7dd2ff5d&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=7dd2ff5d&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 \"7dd2ff5d\",\n 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((a, b) => b.answerDate.unix() - a.answerDate.unix());\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=31bc08d8&\"\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\":850,\"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]},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]},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\":\"165px\"}},[(!holiday.hasPassed)?_c('DatePicker',{attrs:{\"rules\":[function (v) { return _vm.holidayRules(v, holiday); }]},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},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},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; },\"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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport TimePickerDialog from \"@/components/shared/input/TimePickerDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TimePickerDialog\r\n },\r\n props: {\r\n value: Object as () => MomentX.Duration,\r\n timeOk: (Function as any) as () => { (date: MomentX): boolean } | undefined,\r\n disabled: Boolean\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.toMomentX());\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=3b1cf7d0&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=3b1cf7d0&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 \"3b1cf7d0\",\n 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\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} from \"@/scripts/cld.api\";\r\nimport { actions, gets } from \"@/scripts/store/constants\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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.unix() - b.date.unix());\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.toMomentX() > w.start.toMomentX()\r\n ) &&\r\n this.holidays.every(\r\n h => this.isAllDay(h) || h.stop!.toMomentX() > h.start!.toMomentX()\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 },\r\n methods: {\r\n dayTypes: dayTypes,\r\n holidayRules(newDate: MomentX, dto: HolidayDtoX | undefined): boolean {\r\n if (dto && dto.hasPassed) {\r\n return newDate.datePrint() === dto.originalDate;\r\n }\r\n const today = new MomentX().unix();\r\n if (newDate.unix() <= 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: MomentX.Duration | undefined): { (date: MomentX): boolean } {\r\n return (date: MomentX) => !start || date > start.toMomentX();\r\n },\r\n getTime(date: MomentX): MomentX.Duration {\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 = MomentX.durationFromTime(7, 0);\r\n holiday.stop = MomentX.durationFromTime(13, 0);\r\n } else {\r\n holiday.start = MomentX.durationFromTime(0, 0);\r\n holiday.stop = MomentX.durationFromTime(0, 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): MomentX | undefined {\r\n let firstOkDay = new MomentX(year + \"-01-01\");\r\n const todayUnix = new MomentX().unix();\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: MomentX.durationFromTime(0, 0),\r\n stop: MomentX.durationFromTime(0, 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 workingHours: this.workingHours.filter(\r\n w => this.dayTypeIncluded[w.dayType - 1]\r\n ),\r\n holidays: this.holidays.map(\r\n h =>\r\n new HolidayDto({\r\n ...h,\r\n start: this.isAllDay(h) ? undefined : h.start,\r\n stop: this.isAllDay(h) ? undefined : h.stop\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: MomentX.durationFromTime(7, 0),\r\n stop: MomentX.durationFromTime(13, 0)\r\n })\r\n );\r\n });\r\n res.holidays!.map(h => {\r\n if (!h.start) {\r\n h.start = MomentX.durationFromTime(0, 0);\r\n }\r\n if (!h.stop) {\r\n h.stop = MomentX.durationFromTime(0, 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.unix() <= new MomentX().startOfDay().unix()\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 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: new MomentX().year(),\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=2cc136da&\"\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.cldVersionData)?_c('v-col',{staticClass:\" small-margin-left\",attrs:{\"cols\":\"auto\"}},[_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [(_vm.cldVersionData)?_c('div',_vm._g({},on),[_vm._v(\" Version: \"+_vm._s(_vm.cldVersionData.Branch)+\" \")]):_vm._e()]}}],null,false,3449880301)},_vm._l((_vm.cldVersionData),function(value,key){return _c('p',{key:key},[_vm._v(\" \"+_vm._s(key)+\": \"+_vm._s(value)+\" \")])}),0)],1):_vm._e(),(_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 MomentX from \"@/scripts/misc/momentX\";\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(new MomentX().month() + 1);\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=cfc190fe&\"\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('ReadOnlyText',{attrs:{\"label\":_vm.$t('RegDate'),\"value\":_vm.load.regDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('PickupEarliest'),\"value\":_vm.load.pickupEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{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('ReadOnlyText',{attrs:{\"label\":_vm.$t('BookingDate'),\"value\":_vm.load.bookingDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{attrs:{\"label\":_vm.$t('DeliveryEarliest'),\"value\":_vm.load.deliveryEarliest}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{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('ReadOnlyText',{attrs:{\"label\":_vm.$t('Loaded'),\"value\":_vm.load.loadedDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{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('ReadOnlyText',{attrs:{\"label\":_vm.$t('Delivered'),\"value\":_vm.load.deliveryDate}})],1),_c('v-col',{staticClass:\"no-padding-left no-vertical-padding\",attrs:{\"cols\":\"3\"}},[_c('ReadOnlyText',{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\":\"\"},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('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\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 RepositoryDto\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 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 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 },\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 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 } => ({\r\n valid: false,\r\n countries: [],\r\n cargoTypes: cargoTypes(),\r\n clients: [],\r\n orgNumbers: []\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=981c6e62&\"\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 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=0c877942&\"\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.selectedLoadUserId = undefined;\r\n this.fetchUsers();\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 if (!this.selectedLoadUserId) {\r\n this.selectedLoadUserId = this.users[0].loadUserId;\r\n }\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 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 },\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=04b73dd4&\"\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 {\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 },\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=ca429abe&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=ca429abe&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 \"ca429abe\",\n 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\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} 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 MomentX from \"@/scripts/misc/momentX\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport { cargoTypeName } from \"@/scripts/misc/enumNames\";\r\nimport { popupDialog } from \"@/scripts/misc/popupDialogs\";\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 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 = new MomentX();\r\n this.fetchCurrentLoads();\r\n this.fetchProcurements();\r\n this.fetchAgreements();\r\n this.fetchBuildInfo();\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 async fetchBuildInfo() {\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 const response = await fetch(cldVersionPath);\r\n if (!response.ok) {\r\n throw new Error(\r\n `Failed to fetch CLDVersion.json: ${response.status}`\r\n );\r\n }\r\n const versionData: BuildInfo = await response.json();\r\n this.cldVersionData = versionData;\r\n return versionData;\r\n } catch (error) {\r\n console.error(\"Unable to fetch data:\", error);\r\n return null;\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 = new MomentX().to(\r\n this.refreshDate,\r\n localeCode()\r\n );\r\n if (this.refreshDate.addMinutes(15) < new MomentX()) {\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: MomentX;\r\n timeSinceRefresh: string;\r\n loadStatusInfo: SupportAdminDashboardCurrentLoads[];\r\n procurementStatusInfo: SupportAdminDashboardProcurements[];\r\n agreementStatusInfo: SupportAdminDashboardAgreements[];\r\n loadsBeingViewed: SupportAdminDashboardLoadDto[];\r\n cldVersionData: BuildInfo | undefined;\r\n } => ({\r\n loadingSemaphore: 0,\r\n intervalId: 0,\r\n refreshDate: new MomentX(),\r\n timeSinceRefresh: \"\",\r\n loadStatusInfo: [],\r\n procurementStatusInfo: [],\r\n agreementStatusInfo: [],\r\n loadsBeingViewed: [],\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!./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=8b7b20c8&\"\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 UserDto,\r\n UserLevel,\r\n UsersClient\r\n} from \"@/scripts/cld.api\";\r\nimport { actorTypeName } from \"@/scripts/misc/enumNames\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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: new MomentX(),\r\n activatedDate: new MomentX(),\r\n inactivatedDate: undefined,\r\n lastActive: new MomentX(),\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 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: new MomentX(),\r\n createdDate: new MomentX(),\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=d619c4b8&\"\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 .exportSelectionForSupportAdmin(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 exportToExcel() {\r\n this.exporting = true;\r\n new ActorsClient(new ApiConfiguration(this.$store))\r\n .exportForSupportAdmin()\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!./ActorList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ActorList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ActorList.vue?vue&type=template&id=4a62b9d7&\"\nimport script from \"./ActorList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ActorList.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = 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\":\"C-Admins avtalslista\"},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')},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\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} 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 },\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=dfddc314&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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: new MomentX().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=7d219c7c&\"\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\"},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')},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\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} 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 },\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=2d2e0445&\"\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 MomentX from \"@/scripts/misc/momentX\";\r\nimport {\r\n ExplorerNodeType,\r\n ExplorerNodeDto,\r\n ExplorerClient,\r\n ExplorerSelectionMethod,\r\n ApiConfiguration,\r\n ExplorerSearchCriteria\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: new MomentX(),\r\n toDate: new MomentX()\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=402a8f8a&\"\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 MomentX from \"@/scripts/misc/momentX\";\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 : MomentX.isMoment(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')},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')},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\r\nimport Vue from \"vue\";\r\nimport {\r\n MailviewerClient,\r\n EmailModel,\r\n ApiConfiguration,\r\n EmailSearchCriteria,\r\n UserConfigurationType,\r\n RepositoryDto\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 },\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: EmailModel): 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: EmailModel): string {\r\n return email.retryCount === 0 ? \"\" : `| Retries: ${email.retryCount}`;\r\n },\r\n highlightRetries(email: EmailModel): 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: EmailModel[];\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=51cb9eed&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=51cb9eed&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 \"51cb9eed\",\n 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\",\"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.unix() - b.fromDate.unix()\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=003ab9f2&\"\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\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 },\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: MomentX | 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=1bdd415c&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=1bdd415c&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 \"1bdd415c\",\n 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 }},[_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\":_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\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 usersLeftToFix: UserDto[];\r\n } => ({\r\n loading: false,\r\n earthquakeMode: 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=401fc84f&\"\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\",\"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((a, b) => a.startAt!.unix() - b.startAt!.unix());\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, 13, 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=549fab76&\"\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} 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 MomentX from \"@/scripts/misc/momentX\";\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 && news.visibleDate <= new MomentX()\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=990566e0&\"\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\"},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\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} from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport { actorTypes, cultures } from \"@/scripts/misc/enumLists\";\r\nimport { actions } 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 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: new MomentX().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=557375ac&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=557375ac&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 \"557375ac\",\n 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\":\"6\"}},[_c('DatePicker',{attrs:{\"label\":\"Datum\",\"with-time\":\"\"},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\r\nimport Vue from \"vue\";\r\nimport DatePicker from \"@/components/shared/input/DatePicker.vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DatePicker\r\n },\r\n methods: {},\r\n data: (): {\r\n date: MomentX;\r\n } => ({\r\n date: new MomentX()\r\n })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.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=4c994d01&\"\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',{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',{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\r\nimport Vue from \"vue\";\r\nimport {\r\n ApiConfiguration,\r\n IndexClient,\r\n IndexComponent,\r\n IndexPeriodWithComponents,\r\n IndexType\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 },\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=274ad5f4&\"\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\":function($event){_vm.checkMade = false}},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)],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,\"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\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 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} 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 },\r\n watch: {\r\n countryId: {\r\n handler() {\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 check() {\r\n if (!this.county || !this.zipCode || !this.countryId) {\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 })\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 })\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 })\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 } => ({\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 })\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.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=25728c70&\"\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('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:{\"label\":\"Tabelltyp\",\"items\":_vm.chartTypeItems},model:{value:(_vm.chartType),callback:function ($$v) {_vm.chartType=$$v},expression:\"chartType\"}})],1),_c('v-col',{staticClass:\"small-vertical-padding\"},[_c('DatePicker',{attrs:{\"label\":\"Från\"},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\"},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.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.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.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.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.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.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.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\"})],1),_c('v-row',[_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Hämtort\",\"items\":_vm.countyItems,\"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\":\"Hämtland\",\"items\":_vm.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\":\"Levland\",\"items\":_vm.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\":\"Antal extrastopp\",\"items\":_vm.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('Dropdown',{attrs:{\"label\":\"Per bokningsavgiftstyp\",\"items\":_vm.yesNoItems},model:{value:(_vm.criteria.splitBookingFeeType),callback:function ($$v) {_vm.$set(_vm.criteria, \"splitBookingFeeType\", $$v)},expression:\"criteria.splitBookingFeeType\"}})],1),_c('v-col',{staticClass:\"tiny-padding-top small-padding-bottom\"},[_c('DropdownMulti',{attrs:{\"label\":\"Orsak avvikelse\",\"items\":_vm.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.otherPriceCauses,\"clearable\":\"\"},model:{value:(_vm.criteria.otherPriceCauses),callback:function ($$v) {_vm.$set(_vm.criteria, \"otherPriceCauses\", $$v)},expression:\"criteria.otherPriceCauses\"}})],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\":_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('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\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 //TODO: ta bort från db\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: criteria.fromDate,\r\n toDate: criteria.toDate,\r\n fromCountries: [...criteria.fromCountries!],\r\n toCountries: [...criteria.toCountries!],\r\n fromCounties: [...criteria.fromCounties!],\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=f7630d5c&\"\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\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 SearchCard from \"@/components/shared/ui/SearchCard.vue\";\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 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 MegaReportPresetThing from \"@/components/support-admin/MegaReportPresetThing.vue\";\r\nimport InfoTooltip from \"@/components/shared/ui/InfoTooltip.vue\";\r\nimport {\r\n cargoTypes,\r\n deviationCauses,\r\n otherPriceCauses,\r\n truckTypes\r\n} from \"@/scripts/misc/enumLists\";\r\nimport {\r\n cargoTypeName,\r\n deviationCauseName,\r\n feeTypeName,\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 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 MegaReportPresetThing,\r\n DialogCard,\r\n PieChart,\r\n InfoTooltip\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 title(): string {\r\n return this.chartTypeItems.find(t => t.id === this.chartType)!.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 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 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.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.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.countryItems = 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(\"pickupCountiesSupportAdmin\")\r\n .then(res => {\r\n this.countyItems = res.map(\r\n c => new RepositoryDto({ id: c.text as any, text: c.text })\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.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.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 if (s.fromCounty) {\r\n res += s.fromCounty + \" \";\r\n }\r\n const fromCountry = s.fromCountry\r\n ? this.countryItems.find(c => c.id === s.fromCountry)!.text\r\n : \"\";\r\n const toCountry = s.toCountry\r\n ? this.countryItems.find(c => c.id === s.toCountry)!.text\r\n : \"\";\r\n if (fromCountry || toCountry) {\r\n res += fromCountry ? fromCountry : \"ALLA\";\r\n res += \" - \";\r\n res += toCountry ? toCountry : \"ALLA\";\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 },\r\n mounted() {\r\n this.fetchClients();\r\n this.fetchSuppliers();\r\n this.fetchCountries();\r\n this.fetchCounties();\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 units: RepositoryDto[];\r\n clients: RepositoryDto[];\r\n suppliers: RepositoryDto[];\r\n monthInGroupItems: RepositoryDto[];\r\n countryItems: RepositoryDto[];\r\n countyItems: 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 chartType: ChartType;\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 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 countyItems: [],\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({ id: ChartType.Containers, text: \"Antal containrar\" }),\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 chartType: ChartType.Loads\r\n })\r\n});\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/ts-loader/index.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=24698a0d&\"\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 { 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';\ninstallComponents(component, {VBtn,VCol,VIcon,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\"},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\"},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\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} 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 },\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=189bf8c1&\"\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\"},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\"},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\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 ActorSearchCritera,\r\n ApiConfiguration,\r\n Country,\r\n RepositoryDto,\r\n StatisticsClient\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 MomentX from \"@/scripts/misc/momentX\";\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 },\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: ActorSearchCritera;\r\n } => ({\r\n loading: true,\r\n statistics: [],\r\n data: [],\r\n labels: [],\r\n countries: [],\r\n criteria: new ActorSearchCritera({\r\n fromDate: new MomentX(\r\n new MomentX().startOfDay().yearPrint() + \"-01-\" + \"01\"\r\n ),\r\n toDate: new MomentX(\r\n new MomentX().startOfDay().yearPrint() + \"-12-\" + \"31\"\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!./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=1591ec22&\"\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 { 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} 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 MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX(dateAsString);\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: MomentX[] } => ({\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=0c974420&\"\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\":\"Megarapporten\",\"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\"},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\"},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\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} 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 MomentX from \"@/scripts/misc/momentX\";\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: new MomentX().addHours(-24),\r\n toDate: new MomentX(),\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.shortTimePrint().toString()\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 },\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=0bb305e1&\"\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 MomentX from \"@/scripts/misc/momentX\";\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?: MomentX): string {\r\n return d === undefined ? \"\" : d.shortDateTimePrint();\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=50e9e619&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=50e9e619&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 \"50e9e619\",\n 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.toMoment(event.start).shortTimePrint())+\" - \"+_vm._s(_vm.toMoment(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 } from \"@/scripts/cld.api\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\r\n pickupEarliest: MomentX,\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 = new MomentX().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.startOfDay().isSame(new MomentX().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.unix() -\r\n b.cargoLoading!.booking!.startDate.unix()\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.toMoment(dstring);\r\n const yesterday = new MomentX().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 toMoment(dstring: string): MomentX {\r\n return new MomentX(dstring, \"YYYY-MM-DD HH:mm\");\r\n },\r\n toDateString(date: MomentX): 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=527240b4&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=527240b4&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 \"527240b4\",\n 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.toMoment(event.start).datePrint())+\" \")]):_vm._e(),(event.end !== undefined)?_c('span',[_vm._v(\" \"+_vm._s(_vm.toMoment(event.start).shortTimePrint())+\" - \"+_vm._s(_vm.toMoment(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.toMoment(event.start) : _vm.defaultTime},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,\"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\r\nimport Vue from \"vue\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\r\nimport TimePickerDialog from \"@/components/shared/input/TimePickerDialog.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n TimePickerDialog\r\n },\r\n props: {\r\n value: MomentX,\r\n timeOk: (Function as any) as () => { (date: MomentX): boolean },\r\n disabled: Boolean\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=0522d112&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=0522d112&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 \"0522d112\",\n 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\r\nimport { RepositoryDto } from \"@/scripts/cld.api\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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: MomentX,\r\n extraMinutesSiloOne: Number,\r\n eventsToBook: Array as () => CargoLoadingMobileEventsContainer[],\r\n events: Array as () => CargoLoadingMobileEventsContainer[],\r\n timeIsFree: Function,\r\n currentDate: MomentX,\r\n pickupEarliest: MomentX,\r\n pickupLatest: MomentX,\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 },\r\n methods: {\r\n chooseTime(date: MomentX, 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 toMoment(dstring: string): MomentX {\r\n return new MomentX(dstring, \"YYYY-MM-DD HH:mm\");\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: MomentX): boolean } {\r\n return (time: MomentX) => {\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=4f10889a&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=4f10889a&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 \"4f10889a\",\n 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} from \"@/scripts/cld.api\";\r\nimport { localeCode } from \"@/scripts/language/i18n\";\r\nimport MomentX from \"@/scripts/misc/momentX\";\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 = new MomentX().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: MomentX) {\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.toMoment(event.start!),\r\n this.toMoment(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.toMoment(event.start!),\r\n endDate: this.toMoment(event.end!),\r\n kilograms: this.selectedCargoLoadingContainer!.cargoLoading.kilograms,\r\n kilogramsBefore: 0,\r\n kilogramsAfter: 0,\r\n alterDate: new MomentX(),\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: MomentX,\r\n end: MomentX,\r\n events: CargoLoadingMobileEventsContainer[]\r\n ): boolean {\r\n return events.every(\r\n x =>\r\n this.toMoment(x.start!).isSameOrAfter(end) ||\r\n this.toMoment(x.end!).isSameOrBefore(start)\r\n );\r\n },\r\n setDate(dstring: string | null) {\r\n if (dstring) {\r\n this.currentDate = this.toMoment(dstring);\r\n dstring = this.toDateString(this.toMoment(dstring));\r\n this.fetchSchedule();\r\n }\r\n },\r\n toMoment(dstring: string): MomentX {\r\n return new MomentX(dstring, \"YYYY-MM-DD HH:mm\");\r\n },\r\n toDateString(date: MomentX): 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 = new MomentX().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.unix() - new MomentX().unix();\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: MomentX | undefined;\r\n siloEvent: any;\r\n extraMinutesSiloOne: number;\r\n currentDate: MomentX;\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: MomentX;\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: new MomentX().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: new MomentX().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=3e2b1934&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=3e2b1934&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 \"3e2b1934\",\n 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 ActorList from \"@/views/support-admin/ActorList.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 SupportAdminActors from \"@/views/support-admin/statistics/Actors.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: ActorList\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: SupportAdminActors\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!./EditNews.vue?vue&type=style&index=0&id=557375ac&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!./LoadHistoryDialog.vue?vue&type=style&index=0&id=3f1b6803&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=4edc45c9&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!./NewsSheet.vue?vue&type=style&index=0&id=b2815432&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=ca429abe&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=6c2eb19e&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!./AccordionRankings.vue?vue&type=style&index=0&id=803d56dc&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!./TimePickerDuration.vue?vue&type=style&index=0&id=3b1cf7d0&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=74dda762&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=7dd2ff5d&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!./AccordionContainers.vue?vue&type=style&index=0&id=832fb79e&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!./DatePicker.vue?vue&type=style&index=0&id=7ed215a4&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!./ToolbarMenu.vue?vue&type=style&index=0&id=fe3b09ce&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!./ClientEditSpotTenderDialog.vue?vue&type=style&index=0&id=25188c38&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&\""],"sourceRoot":""}